// $Id: RtclRlinkServer.hpp 486 2013-02-10 22:34:43Z mueller $
|
// $Id: RtclRlinkServer.hpp 486 2013-02-10 22:34:43Z mueller $
|
//
|
//
|
// Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
// Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
//
|
//
|
// This program is free software; you may redistribute and/or modify it under
|
// This program is free software; you may redistribute and/or modify it under
|
// the terms of the GNU General Public License as published by the Free
|
// the terms of the GNU General Public License as published by the Free
|
// Software Foundation, either version 2, or at your option any later version.
|
// Software Foundation, either version 2, or at your option any later version.
|
//
|
//
|
// This program is distributed in the hope that it will be useful, but
|
// This program is distributed in the hope that it will be useful, but
|
// WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
|
// WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
|
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
// for complete details.
|
// for complete details.
|
//
|
//
|
// Revision History:
|
// Revision History:
|
// Date Rev Version Comment
|
// Date Rev Version Comment
|
// 2013-02-05 482 1.0.1 add shared_ptr to RlinkConnect object
|
// 2013-02-05 482 1.0.1 add shared_ptr to RlinkConnect object
|
// 2013-01-12 474 1.0 Initial version
|
// 2013-01-12 474 1.0 Initial version
|
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
|
|
/*!
|
/*!
|
\file
|
\file
|
\version $Id: RtclRlinkServer.hpp 486 2013-02-10 22:34:43Z mueller $
|
\version $Id: RtclRlinkServer.hpp 486 2013-02-10 22:34:43Z mueller $
|
\brief Declaration of class RtclRlinkServer.
|
\brief Declaration of class RtclRlinkServer.
|
*/
|
*/
|
|
|
#ifndef included_Retro_RtclRlinkServer
|
#ifndef included_Retro_RtclRlinkServer
|
#define included_Retro_RtclRlinkServer 1
|
#define included_Retro_RtclRlinkServer 1
|
|
|
#include <cstddef>
|
#include <cstddef>
|
#include <list>
|
#include <list>
|
|
|
#include "boost/shared_ptr.hpp"
|
#include "boost/shared_ptr.hpp"
|
|
|
#include "librtcltools/RtclOPtr.hpp"
|
#include "librtcltools/RtclOPtr.hpp"
|
#include "librtcltools/RtclProxyOwned.hpp"
|
#include "librtcltools/RtclProxyOwned.hpp"
|
#include "RtclAttnShuttle.hpp"
|
#include "RtclAttnShuttle.hpp"
|
#include "librlink/RlinkServer.hpp"
|
#include "librlink/RlinkServer.hpp"
|
|
|
namespace Retro {
|
namespace Retro {
|
|
|
class RlinkConnect;
|
class RlinkConnect;
|
|
|
class RtclRlinkServer : public RtclProxyOwned<RlinkServer> {
|
class RtclRlinkServer : public RtclProxyOwned<RlinkServer> {
|
public:
|
public:
|
RtclRlinkServer(Tcl_Interp* interp, const char* name);
|
RtclRlinkServer(Tcl_Interp* interp, const char* name);
|
~RtclRlinkServer();
|
~RtclRlinkServer();
|
|
|
virtual int ClassCmdConfig(RtclArgs& args);
|
virtual int ClassCmdConfig(RtclArgs& args);
|
|
|
protected:
|
protected:
|
int M_server(RtclArgs& args);
|
int M_server(RtclArgs& args);
|
int M_attn(RtclArgs& args);
|
int M_attn(RtclArgs& args);
|
int M_stats(RtclArgs& args);
|
int M_stats(RtclArgs& args);
|
int M_print(RtclArgs& args);
|
int M_print(RtclArgs& args);
|
int M_dump(RtclArgs& args);
|
int M_dump(RtclArgs& args);
|
int M_default(RtclArgs& args);
|
int M_default(RtclArgs& args);
|
|
|
protected:
|
protected:
|
typedef std::list<RtclAttnShuttle*> alist_t;
|
typedef std::list<RtclAttnShuttle*> alist_t;
|
typedef alist_t::iterator alist_it_t;
|
typedef alist_t::iterator alist_it_t;
|
|
|
boost::shared_ptr<RlinkConnect> fspConn;
|
boost::shared_ptr<RlinkConnect> fspConn;
|
alist_t fAttnHdl; //<! list of attn handlers
|
alist_t fAttnHdl; //<! list of attn handlers
|
};
|
};
|
|
|
} // end namespace Retro
|
} // end namespace Retro
|
|
|
//#include "RtclRlinkServer.ipp"
|
//#include "RtclRlinkServer.ipp"
|
|
|
#endif
|
#endif
|
|
|