11 #ifndef CHANNELPROVIDERLOCAL_H 12 #define CHANNELPROVIDERLOCAL_H 21 #include <pv/pvType.h> 22 #include <pv/pvData.h> 23 #include <pv/pvAccess.h> 24 #include <pv/status.h> 25 #include <pv/serverContext.h> 31 namespace epics {
namespace pvDatabase {
43 epics::pvData::MonitorRequester::shared_pointer
const & monitorRequester,
44 epics::pvData::PVStructurePtr
const & pvRequest);
55 public epics::pvAccess::ChannelProvider,
56 public epics::pvAccess::ChannelFind,
57 public std::tr1::enable_shared_from_this<ChannelProviderLocal>
79 virtual std::string getProviderName();
93 virtual epics::pvAccess::ChannelFind::shared_pointer channelFind(
94 std::string
const &channelName,
95 epics::pvAccess::ChannelFindRequester::shared_pointer
const & channelFindRequester);
105 virtual epics::pvAccess::ChannelFind::shared_pointer channelList(
106 epics::pvAccess::ChannelListRequester::shared_pointer
const & channelListRequester);
116 virtual epics::pvAccess::Channel::shared_pointer createChannel(
117 std::string
const &channelName,
118 epics::pvAccess::ChannelRequester::shared_pointer
const &channelRequester,
133 virtual epics::pvAccess::Channel::shared_pointer createChannel(
134 std::string
const &channelName,
135 epics::pvAccess::ChannelRequester::shared_pointer
const &channelRequester,
137 std::string
const &address);
153 virtual std::tr1::shared_ptr<ChannelProvider> getChannelProvider();
163 friend class ChannelProviderLocalRun;
173 public epics::pvAccess::Channel,
175 public std::tr1::enable_shared_from_this<ChannelLocal>
185 ChannelProviderLocalPtr
const &channelProvider,
186 epics::pvAccess::ChannelRequester::shared_pointer
const & requester,
209 virtual std::string getRequesterName();
215 virtual void message(
216 std::string
const & message,
217 epics::pvData::MessageType messageType);
222 virtual epics::pvAccess::ChannelProvider::shared_pointer getProvider();
227 virtual std::string getRemoteAddress();
232 virtual epics::pvAccess::Channel::ConnectionState getConnectionState();
237 virtual std::string getChannelName();
242 virtual epics::pvAccess::ChannelRequester::shared_pointer getChannelRequester();
247 virtual bool isConnected();
257 virtual void getField(
258 epics::pvAccess::GetFieldRequester::shared_pointer
const &requester,
259 std::string
const & subField);
265 virtual epics::pvAccess::AccessRights getAccessRights(
266 epics::pvData::PVField::shared_pointer
const &pvField);
275 virtual epics::pvAccess::ChannelProcess::shared_pointer createChannelProcess(
276 epics::pvAccess::ChannelProcessRequester::shared_pointer
const &requester,
277 epics::pvData::PVStructurePtr
const &pvRequest);
286 virtual epics::pvAccess::ChannelGet::shared_pointer createChannelGet(
287 epics::pvAccess::ChannelGetRequester::shared_pointer
const &requester,
288 epics::pvData::PVStructurePtr
const &pvRequest);
297 virtual epics::pvAccess::ChannelPut::shared_pointer createChannelPut(
298 epics::pvAccess::ChannelPutRequester::shared_pointer
const &requester,
299 epics::pvData::PVStructurePtr
const &pvRequest);
308 virtual epics::pvAccess::ChannelPutGet::shared_pointer createChannelPutGet(
309 epics::pvAccess::ChannelPutGetRequester::shared_pointer
const &requester,
310 epics::pvData::PVStructurePtr
const &pvRequest);
319 virtual epics::pvAccess::ChannelRPC::shared_pointer createChannelRPC(
320 epics::pvAccess::ChannelRPCRequester::shared_pointer
const &requester,
321 epics::pvData::PVStructurePtr
const &pvRequest);
330 virtual epics::pvData::Monitor::shared_pointer createMonitor(
331 epics::pvData::MonitorRequester::shared_pointer
const &requester,
332 epics::pvData::PVStructurePtr
const &pvRequest);
341 virtual epics::pvAccess::ChannelArray::shared_pointer createChannelArray(
342 epics::pvAccess::ChannelArrayRequester::shared_pointer
const &requester,
343 epics::pvData::PVStructurePtr
const &pvRequest);
347 virtual void printInfo();
353 virtual void printInfo(std::ostream& out);
357 return shared_from_this();
360 epics::pvAccess::ChannelRequester::shared_pointer requester;
361 ChannelProviderLocalWPtr provider;
363 epics::pvData::Mutex mutex;
virtual void destroy()
DEPRECATED.
shared_pointer getPtrSelf()
epicsShareFunc ChannelProviderLocalPtr getChannelProviderLocal()
std::tr1::weak_ptr< PVDatabase > PVDatabaseWPtr
std::tr1::shared_ptr< ChannelLocal > ChannelLocalPtr
int getTraceLevel()
get trace level (0,1,2) means (nothing,lifetime,process)
std::tr1::weak_ptr< ChannelLocal > ChannelLocalWPtr
epicsShareFunc epics::pvData::MonitorPtr createMonitorLocal(PVRecordPtr const &pvRecord, epics::pvData::MonitorRequester::shared_pointer const &monitorRequester, epics::pvData::PVStructurePtr const &pvRequest)
std::tr1::shared_ptr< ChannelProviderLocal > ChannelProviderLocalPtr
Channel for accessing a PVRecord.
An interface implemented by code that accesses the record.
std::tr1::shared_ptr< PVRecord > PVRecordPtr
std::tr1::weak_ptr< PVRecord > PVRecordWPtr
ChannelProvider for PVDatabase.
virtual void destroy()
DEPRECATED.
void setTraceLevel(int level)
set trace level (0,1,2) means (nothing,lifetime,process)
virtual void cancel()
ChannelFind method.
std::tr1::weak_ptr< ChannelProviderLocal > ChannelProviderLocalWPtr