This is Unofficial EPICS BASE Doxygen Site
channel.h
Go to the documentation of this file.
1 #ifndef CHANNEL_H
2 #define CHANNEL_H
3 
4 #include <pv/pvAccess.h>
5 
6 #include <shareLib.h>
7 
8 #include "chancache.h"
9 
11 {
13  static size_t num_instances;
14  weak_pointer weakref;
15 
16  const ChannelCacheEntry::shared_pointer entry;
17  const requester_type::weak_pointer requester;
18  const std::string address; // address of client on GW server side
19  const epics::pvAccess::ChannelProvider::weak_pointer server_provder;
20 
21  GWChannel(const ChannelCacheEntry::shared_pointer& e,
22  const epics::pvAccess::ChannelProvider::weak_pointer& srvprov,
23  const requester_type::weak_pointer&,
24  const std::string& addr);
25  virtual ~GWChannel();
26 
27 
28  // for Requester
29  virtual std::string getRequesterName();
30 
31  // for Destroyable
32  virtual void destroy();
33 
34  // for Channel
35  virtual std::tr1::shared_ptr<epics::pvAccess::ChannelProvider> getProvider();
36  virtual std::string getRemoteAddress();
37 
39  virtual std::string getChannelName();
40  virtual std::tr1::shared_ptr<epics::pvAccess::ChannelRequester> getChannelRequester();
41 
42  virtual void getField(epics::pvAccess::GetFieldRequester::shared_pointer const & requester,
43  std::string const & subField);
44  virtual epics::pvAccess::AccessRights getAccessRights(epics::pvData::PVField::shared_pointer const & pvField);
45  virtual epics::pvAccess::ChannelProcess::shared_pointer createChannelProcess(
46  epics::pvAccess::ChannelProcessRequester::shared_pointer const & channelProcessRequester,
47  epics::pvData::PVStructure::shared_pointer const & pvRequest);
48  virtual epics::pvAccess::ChannelGet::shared_pointer createChannelGet(
49  epics::pvAccess::ChannelGetRequester::shared_pointer const & channelGetRequester,
50  epics::pvData::PVStructure::shared_pointer const & pvRequest);
51  virtual epics::pvAccess::ChannelPut::shared_pointer createChannelPut(
52  epics::pvAccess::ChannelPutRequester::shared_pointer const & channelPutRequester,
53  epics::pvData::PVStructure::shared_pointer const & pvRequest);
54  virtual epics::pvAccess::ChannelPutGet::shared_pointer createChannelPutGet(
55  epics::pvAccess::ChannelPutGetRequester::shared_pointer const & channelPutGetRequester,
56  epics::pvData::PVStructure::shared_pointer const & pvRequest);
57  virtual epics::pvAccess::ChannelRPC::shared_pointer createChannelRPC(
58  epics::pvAccess::ChannelRPCRequester::shared_pointer const & channelRPCRequester,
59  epics::pvData::PVStructure::shared_pointer const & pvRequest);
60  virtual epics::pvData::Monitor::shared_pointer createMonitor(
61  epics::pvData::MonitorRequester::shared_pointer const & monitorRequester,
62  epics::pvData::PVStructure::shared_pointer const & pvRequest);
63  virtual epics::pvAccess::ChannelArray::shared_pointer createChannelArray(
64  epics::pvAccess::ChannelArrayRequester::shared_pointer const & channelArrayRequester,
65  epics::pvData::PVStructure::shared_pointer const & pvRequest);
66 
67  virtual void printInfo(std::ostream& out);
68 
69 };
70 
71 #endif // CHANNEL_H
virtual void printInfo()
Definition: pvAccess.h:1126
weak_pointer weakref
Definition: channel.h:14
virtual std::tr1::shared_ptr< epics::pvAccess::ChannelRequester > getChannelRequester()
Definition: channel.cpp:78
virtual epics::pvAccess::AccessRights getAccessRights(epics::pvData::PVField::shared_pointer const &pvField)
Definition: channel.cpp:93
virtual void getField(epics::pvAccess::GetFieldRequester::shared_pointer const &requester, std::string const &subField)
Definition: channel.cpp:85
const std::string address
Definition: channel.h:18
Mark external symbols and entry points for shared libraries.
const epics::pvAccess::ChannelProvider::weak_pointer server_provder
Definition: channel.h:19
virtual std::string getRequesterName()
Definition: channel.cpp:43
virtual ConnectionState getConnectionState()
Definition: channel.cpp:66
virtual ~GWChannel()
Definition: channel.cpp:37
virtual epics::pvAccess::ChannelProcess::shared_pointer createChannelProcess(epics::pvAccess::ChannelProcessRequester::shared_pointer const &channelProcessRequester, epics::pvData::PVStructure::shared_pointer const &pvRequest)
Definition: channel.cpp:99
virtual epics::pvAccess::ChannelArray::shared_pointer createChannelArray(epics::pvAccess::ChannelArrayRequester::shared_pointer const &channelArrayRequester, epics::pvData::PVStructure::shared_pointer const &pvRequest)
Definition: channel.cpp:227
virtual std::tr1::shared_ptr< epics::pvAccess::ChannelProvider > getProvider()
Definition: channel.cpp:53
const ChannelCacheEntry::shared_pointer entry
Definition: channel.h:16
virtual std::string getChannelName()
Definition: channel.cpp:72
const requester_type::weak_pointer requester
Definition: channel.h:17
GWChannel(const ChannelCacheEntry::shared_pointer &e, const epics::pvAccess::ChannelProvider::weak_pointer &srvprov, const requester_type::weak_pointer &, const std::string &addr)
Definition: channel.cpp:25
virtual epics::pvAccess::ChannelGet::shared_pointer createChannelGet(epics::pvAccess::ChannelGetRequester::shared_pointer const &channelGetRequester, epics::pvData::PVStructure::shared_pointer const &pvRequest)
Definition: channel.cpp:110
virtual epics::pvAccess::ChannelRPC::shared_pointer createChannelRPC(epics::pvAccess::ChannelRPCRequester::shared_pointer const &channelRPCRequester, epics::pvData::PVStructure::shared_pointer const &pvRequest)
Definition: channel.cpp:141
virtual std::string getRemoteAddress()
Definition: channel.cpp:59
virtual epics::pvAccess::ChannelPutGet::shared_pointer createChannelPutGet(epics::pvAccess::ChannelPutGetRequester::shared_pointer const &channelPutGetRequester, epics::pvData::PVStructure::shared_pointer const &pvRequest)
Definition: channel.cpp:130
POINTER_DEFINITIONS(GWChannel)
virtual void destroy()
Definition: channel.cpp:49
virtual epics::pvAccess::ChannelPut::shared_pointer createChannelPut(epics::pvAccess::ChannelPutRequester::shared_pointer const &channelPutRequester, epics::pvData::PVStructure::shared_pointer const &pvRequest)
Definition: channel.cpp:118
virtual epics::pvData::Monitor::shared_pointer createMonitor(epics::pvData::MonitorRequester::shared_pointer const &monitorRequester, epics::pvData::PVStructure::shared_pointer const &pvRequest)
Definition: channel.cpp:158
static size_t num_instances
Definition: channel.h:13