5 #ifndef SHAREDSTATEIMPL_H 6 #define SHAREDSTATEIMPL_H 15 #define FOR_EACH(TYPE, IT, END, OBJ) for(TYPE IT((OBJ).begin()), END((OBJ).end()); IT != END; ++IT) 27 public std::tr1::enable_shared_from_this<SharedChannel>
31 const std::tr1::shared_ptr<SharedPV>
owner;
34 const pva::ChannelProvider::weak_pointer
provider;
39 const pva::ChannelProvider::shared_pointer provider,
40 const std::string& channelName,
41 const requester_type::shared_pointer& requester);
51 virtual
void getField(
pva::GetFieldRequester::shared_pointer const & requester,
std::
string const & subField)
OVERRIDE FINAL;
54 pva::ChannelPutRequester::shared_pointer const & requester,
55 pvd::PVStructure::shared_pointer const & pvRequest)
OVERRIDE FINAL;
58 pva::ChannelRPCRequester::shared_pointer const & requester,
59 pvd::PVStructure::shared_pointer const & pvRequest)
OVERRIDE FINAL;
62 pva::MonitorRequester::shared_pointer const & requester,
63 pvd::PVStructure::shared_pointer const & pvRequest)
OVERRIDE FINAL;
68 const std::tr1::shared_ptr<SharedChannel>
channel;
70 const requester_type::shared_pointer& requester,
71 const pvd::PVStructure::const_shared_pointer &pvRequest,
77 public std::tr1::enable_shared_from_this<SharedPut>
79 const std::tr1::shared_ptr<SharedChannel>
channel;
81 const pvd::PVStructure::const_shared_pointer
pvRequest;
88 SharedPut(
const std::tr1::shared_ptr<SharedChannel>& channel,
89 const requester_type::shared_pointer& requester,
90 const pvd::PVStructure::const_shared_pointer &pvRequest);
95 virtual
void cancel()
OVERRIDE FINAL;
96 virtual
void lastRequest()
OVERRIDE FINAL;
99 epics::pvData::PVStructure::shared_pointer const & pvPutStructure,
100 epics::pvData::BitSet::shared_pointer const & putBitSet)
OVERRIDE FINAL;
108 const std::tr1::shared_ptr<SharedChannel>
channel;
116 SharedRPC(
const std::tr1::shared_ptr<SharedChannel>& channel,
117 const requester_type::shared_pointer& requester,
118 const pvd::PVStructure::const_shared_pointer &pvRequest);
119 virtual ~SharedRPC();
123 virtual
void cancel()
OVERRIDE FINAL;
124 virtual
void lastRequest()
OVERRIDE FINAL;
126 virtual
void request(
epics::pvData::PVStructure::shared_pointer const & pvArgument)
OVERRIDE FINAL;
137 const pvd::PVStructure::const_shared_pointer pvRequest,
value;
140 pva::PeerInfo::const_shared_pointer
info;
145 Impl(
const pvd::PVStructure::const_shared_pointer& pvRequest,
146 const pvd::PVStructure::const_shared_pointer& value,
149 :pvRequest(pvRequest), value(value), changed(changed), done(
false), debugLvl(debugLvl)
153 virtual pva::Channel::shared_pointer getChannel() =0;
154 virtual pva::ChannelBaseRequester::shared_pointer getRequester() =0;
159 void operator()(Impl*);
165 #endif // SHAREDSTATEIMPL_H virtual void destroy() OVERRIDE FINAL
virtual std::tr1::shared_ptr< pva::ChannelRequester > getChannelRequester() OVERRIDE FINAL
const requester_type::weak_pointer requester
std::tr1::shared_ptr< detail::SharedPut > put
const requester_type::weak_pointer requester
pvd::PVRequestMapper mapper
epicsGuard< epicsMutex > Guard
virtual pva::ChannelRPC::shared_pointer createChannelRPC(pva::ChannelRPCRequester::shared_pointer const &requester, pvd::PVStructure::shared_pointer const &pvRequest) OVERRIDE FINAL
TODO only here because of the Lockable.
static size_t num_instances
const pvd::PVStructure::const_shared_pointer pvRequest
static size_t num_instances
const std::tr1::shared_ptr< SharedPV > owner
const pvd::BitSet changed
const std::tr1::shared_ptr< SharedChannel > channel
virtual pva::ChannelPut::shared_pointer createChannelPut(pva::ChannelPutRequester::shared_pointer const &requester, pvd::PVStructure::shared_pointer const &pvRequest) OVERRIDE FINAL
Impl(const pvd::PVStructure::const_shared_pointer &pvRequest, const pvd::PVStructure::const_shared_pointer &value, const pvd::BitSet &changed, int debugLvl=0)
virtual void getField(pva::GetFieldRequester::shared_pointer const &requester, std::string const &subField) OVERRIDE FINAL
static size_t num_instances
virtual std::tr1::shared_ptr< pva::ChannelProvider > getProvider() OVERRIDE FINAL
const pvd::PVStructure::const_shared_pointer pvRequest
const pvd::PVStructure::const_shared_pointer value
const pva::ChannelProvider::weak_pointer provider
Data interface for a structure,.
virtual std::string getChannelName() OVERRIDE FINAL
const std::tr1::shared_ptr< SharedChannel > channel
virtual std::string getRemoteAddress() OVERRIDE FINAL
const std::string channelName
pva::PeerInfo::const_shared_pointer info
const after sub-class ctor
epicsGuardRelease< epicsMutex > UnGuard
SharedChannel(const std::tr1::shared_ptr< SharedPV > &owner, const pva::ChannelProvider::shared_pointer provider, const std::string &channelName, const requester_type::shared_pointer &requester)
static size_t num_instances
const std::tr1::shared_ptr< SharedChannel > channel
const requester_type::weak_pointer requester
virtual pva::Monitor::shared_pointer createMonitor(pva::MonitorRequester::shared_pointer const &requester, pvd::PVStructure::shared_pointer const &pvRequest) OVERRIDE FINAL