13 #include <pv/sharedPtr.h>
14 #include <pv/sharedVector.h>
16 namespace epics{
namespace pvAccess{
17 class ChannelProvider;
19 class ChannelRequester;
110 std::tr1::shared_ptr<Impl> impl;
118 virtual std::tr1::shared_ptr<epics::pvAccess::Channel> connect(
const std::tr1::shared_ptr<epics::pvAccess::ChannelProvider>& provider,
120 const std::tr1::shared_ptr<epics::pvAccess::ChannelRequester>& requester) =0;
128 typedef builders_t::const_iterator const_iterator;
138 void close(
bool destroy=
false);
142 const std::tr1::shared_ptr<ChannelBuilder>& builder);
146 std::tr1::shared_ptr<ChannelBuilder>
remove(
const std::string& name);
149 std::tr1::shared_ptr<epics::pvAccess::ChannelProvider> provider()
const;
152 const_iterator
begin()
const;
153 const_iterator
end()
const;
168 std::tr1::shared_ptr<Impl> impl;
175 const ::epics::pvAccess::PeerInfo* peerinfo;
177 :isclaimed(
false),cname(name),peerinfo(peer)
189 const ::epics::pvAccess::PeerInfo*
peer()
const {
return peerinfo; }
201 typedef epics::pvData::shared_vector<std::string> names_type;
208 virtual std::tr1::shared_ptr<epics::pvAccess::Channel> createChannel(
const std::tr1::shared_ptr<epics::pvAccess::ChannelProvider>& provider,
210 const std::tr1::shared_ptr<epics::pvAccess::ChannelRequester>& requester) =0;
219 const std::tr1::shared_ptr<Handler>& handler);
222 Handler::shared_pointer getHandler()
const;
227 std::tr1::shared_ptr<epics::pvAccess::ChannelProvider> provider()
const;
234 #endif // PVA_SERVER_H
const std::string & name() const
The name being queried.
An instance of a Client or Server.
virtual void destroy()
Called when the last reference to a DynamicProvider is released. Should close any channels...
Interface for something which can provide Channels. aka A "PV". Typically a SharedPV.
Callbacks associated with DynamicProvider.
void claim()
Has been claimed()
_Tp * begin(valarray< _Tp > &__va)
A Provider based on a list of SharedPV instance.
A single client serach request. May be associated with more than one name.
_Tp * end(valarray< _Tp > &__va)
virtual void listChannels(names_type &names, bool &dynamic)
Called when a client is requesting a list of channel names we provide. Callee should set dynamic=fals...
A Provider which has no pre-configured list of names.
bool claimed() const
Stake a claim.
const ::epics::pvAccess::PeerInfo * peer() const
Information about peer making search request.