This is Unofficial EPICS BASE Doxygen Site
server.h
Go to the documentation of this file.
1 #ifndef SERVER_H
2 #define SERVER_H
3 
4 #include <pv/serverContext.h>
5 
6 #include "chancache.h"
7 #include "channel.h"
8 
9 #include <shareLib.h>
10 
14  public std::tr1::enable_shared_from_this<GWServerChannelProvider>
15 {
18 
19  virtual std::tr1::shared_ptr<ChannelProvider> getChannelProvider();
20 
21  virtual void cancel() {}
22 
23  virtual std::string getProviderName() {
24  return "GWServer";
25  }
26 
27  virtual epics::pvAccess::ChannelFind::shared_pointer channelFind(std::string const & channelName,
28  epics::pvAccess::ChannelFindRequester::shared_pointer const & channelFindRequester);
29 
31  virtual epics::pvAccess::Channel::shared_pointer createChannel(std::string const & channelName,
32  epics::pvAccess::ChannelRequester::shared_pointer const & channelRequester,
33  short priority, std::string const & addressx);
34  virtual void destroy();
35 
36  explicit GWServerChannelProvider(const epics::pvAccess::ChannelProvider::shared_pointer& prov);
37  virtual ~GWServerChannelProvider();
38 };
39 
40 struct ServerConfig {
41  int debug;
43  epics::pvData::PVStructure::shared_pointer conf;
44 
45  typedef std::map<std::string, GWServerChannelProvider::shared_pointer> clients_t;
46  clients_t clients;
47 
48  typedef std::map<std::string, epics::pvAccess::ServerContext::shared_pointer> servers_t;
49  servers_t servers;
50 
51  ServerConfig() :debug(1), interactive(true) {}
52 
53  void drop(const char *client, const char *channel);
54  void status_server(int lvl, const char *server);
55  void status_client(int lvl, const char *client, const char *channel);
56 };
57 
58 #endif // SERVER_H
std::map< std::string, epics::pvAccess::ServerContext::shared_pointer > servers_t
Definition: server.h:48
ServerConfig()
Definition: server.h:51
#define true
Definition: flexdef.h:84
virtual epics::pvAccess::Channel::shared_pointer createChannel(std::string const &channelName, epics::pvAccess::ChannelRequester::shared_pointer const &channelRequester, short priority, std::string const &addressx)
Definition: server.cpp:62
Mark external symbols and entry points for shared libraries.
virtual ~GWServerChannelProvider()
Definition: server.cpp:100
bool interactive
Definition: server.h:42
virtual void cancel()
Definition: server.h:21
clients_t clients
Definition: server.h:46
GWServerChannelProvider(const epics::pvAccess::ChannelProvider::shared_pointer &prov)
Definition: server.cpp:96
epics::pvData::PVStructure::shared_pointer conf
Definition: server.h:43
Definition: server.h:76
std::map< std::string, GWServerChannelProvider::shared_pointer > clients_t
Definition: server.h:45
ChannelCache cache
Definition: server.h:17
servers_t servers
Definition: server.h:49
virtual Channel::shared_pointer createChannel(std::string const &name, ChannelRequester::shared_pointer const &requester=DefaultChannelRequester::build(), short priority=PRIORITY_DEFAULT)
int debug
Definition: server.h:41
virtual void destroy()
Definition: server.cpp:94
virtual std::tr1::shared_ptr< ChannelProvider > getChannelProvider()
Definition: server.cpp:28
POINTER_DEFINITIONS(GWServerChannelProvider)
virtual epics::pvAccess::ChannelFind::shared_pointer channelFind(std::string const &channelName, epics::pvAccess::ChannelFindRequester::shared_pointer const &channelFindRequester)
Definition: server.cpp:36
virtual std::string getProviderName()
Definition: server.h:23