12 #ifdef epicsExportSharedSymbols 13 # define rpcClientEpicsExportSharedSymbols 14 # undef epicsExportSharedSymbols 16 #include <pv/pvData.h> 17 #include <pv/valueBuilder.h> 18 #ifdef rpcClientEpicsExportSharedSymbols 19 # define epicsExportSharedSymbols 20 # undef rpcClientEpicsExportSharedSymbols 23 #include <pv/rpcService.h> 27 #define RPCCLIENT_DEFAULT_TIMEOUT 5.0
39 class epicsShareClass RPCClient
42 POINTER_DEFINITIONS(RPCClient);
51 static shared_pointer create(
const std::string & serviceName,
52 epics::pvData::PVStructure::shared_pointer
const & pvRequest = epics::pvData::PVStructure::shared_pointer());
54 RPCClient(
const std::string & serviceName,
55 epics::pvData::PVStructure::shared_pointer
const & pvRequest,
56 const ChannelProvider::shared_pointer& provider = ChannelProvider::shared_pointer(),
57 const std::string& address = std::string());
59 ~RPCClient() {destroy();}
102 epics::pvData::PVStructure::shared_pointer request(
103 epics::pvData::PVStructure::shared_pointer
const & pvArgument,
105 bool lastRequest =
false);
115 epics::pvData::PVStructure::shared_pointer
const & pvArgument,
116 bool lastRequest =
false);
128 const std::string m_serviceName;
129 ChannelProvider::shared_pointer m_provider;
130 Channel::shared_pointer m_channel;
131 ChannelRPC::shared_pointer m_rpc;
132 const epics::pvData::PVStructure::shared_pointer m_pvRequest;
135 std::tr1::shared_ptr<RPCRequester> m_rpc_requester;
137 RPCClient(
const RPCClient&);
138 RPCClient& operator=(
const RPCClient&);
#define RPCCLIENT_DEFAULT_TIMEOUT
Copyright - See the COPYRIGHT that is included with this distribution.