10 #include <dbUnitTest.h> 27 #define DUMBREQUESTER(NAME) \ 28 virtual std::string getRequesterName() OVERRIDE { return #NAME; } 33 std::ostringstream oss;
41 epics::pvData::PVScalar::shared_pointer
field;
44 :field(s->getSubFieldT<
epics::pvData::PVScalar>(name))
47 return field->getAs<T>();
54 field->putFrom<T>(field->getAs<T>()+v);
66 epics::pvAccess::Channel::shared_pointer chan;
68 epics::pvAccess::Channel::ConnectionState laststate;
71 virtual
void channelCreated(const
epics::pvData::Status& status,
epics::pvAccess::Channel::shared_pointer const & channel);
72 virtual
void channelStateChange(
epics::pvAccess::Channel::shared_pointer const & channel,
epics::pvAccess::Channel::ConnectionState connectionState);
74 bool waitForConnect();
104 bool connected, done;
105 epics::pvData::Status statusConnect, statusDone;
106 epics::pvAccess::ChannelGet::shared_pointer channelGet;
107 epics::pvData::Structure::const_shared_pointer fielddesc;
109 epics::pvData::BitSet::shared_pointer changed;
114 virtual
void channelGetConnect(
116 epics::pvAccess::ChannelGet::shared_pointer const & channelGet,
117 epics::pvData::Structure::const_shared_pointer const &
structure);
119 virtual
void getDone(
120 const
epics::pvData::Status& status,
121 epics::pvAccess::ChannelGet::shared_pointer const & channelGet,
122 epics::pvData::PVStructure::shared_pointer const & pvStructure,
123 epics::pvData::BitSet::shared_pointer const & bitSet);
131 bool connected, doneGet, donePut;
132 epics::pvData::Status statusConnect, statusPut, statusGet;
134 epics::pvData::Structure::const_shared_pointer fielddesc;
135 epics::pvData::PVStructure::shared_pointer value;
136 epics::pvData::BitSet::shared_pointer changed;
141 virtual
void channelPutConnect(
142 const
epics::pvData::Status& status,
143 epics::pvAccess::ChannelPut::shared_pointer const & channelPut,
144 epics::pvData::Structure::const_shared_pointer const & structure);
146 virtual
void putDone(
147 const
epics::pvData::Status& status,
148 epics::pvAccess::ChannelPut::shared_pointer const & channelPut);
150 virtual
void getDone(
151 const
epics::pvData::Status& status,
152 epics::pvAccess::ChannelPut::shared_pointer const & channelPut,
153 epics::pvData::PVStructure::shared_pointer const & pvStructure,
154 epics::pvData::BitSet::shared_pointer const & bitSet);
167 epics::pvData::Status connectStatus;
174 virtual
void monitorConnect(
epics::pvData::Status const & status,
180 bool waitForConnect();
191 ConnectionState state;
197 const
std::tr1::shared_ptr<
epics::pvAccess::ChannelRequester>& req);
200 virtual
std::
string getRemoteAddress() {
return "localhost:1234"; }
201 virtual ConnectionState getConnectionState();
203 virtual void getField(epics::pvAccess::GetFieldRequester::shared_pointer
const &
requester,std::string
const & subField);
205 virtual epics::pvData::Monitor::shared_pointer createMonitor(
206 epics::pvData::MonitorRequester::shared_pointer
const & monitorRequester,
207 epics::pvData::PVStructure::shared_pointer
const & pvRequest);
216 const epics::pvData::MonitorRequester::weak_pointer
requester;
224 const epics::pvData::MonitorRequester::shared_pointer& req,
228 virtual void destroy();
235 std::deque<epics::pvData::MonitorElementPtr> buffer,
free;
252 TestPV(
const std::string& name,
253 const std::tr1::shared_ptr<TestProvider>& provider,
257 void post(
bool notify =
true);
275 virtual void destroy();
277 virtual epics::pvAccess::ChannelFind::shared_pointer channelFind(std::string
const & channelName,
278 epics::pvAccess::ChannelFindRequester::shared_pointer
const & channelFindRequester);
279 virtual epics::pvAccess::ChannelFind::shared_pointer channelList(epics::pvAccess::ChannelListRequester::shared_pointer
const & channelListRequester);
280 virtual epics::pvAccess::Channel::shared_pointer createChannel(std::string
const & channelName,epics::pvAccess::ChannelRequester::shared_pointer
const & channelRequester,
281 short priority = PRIORITY_DEFAULT);
282 virtual epics::pvAccess::Channel::shared_pointer createChannel(std::string
const & channelName, epics::pvAccess::ChannelRequester::shared_pointer
const & channelRequester,
283 short priority, std::string
const & address);
296 static void testCounts();
324 #endif // UTILITIES_H
epics::pvData::PVStructurePtr value
std::tr1::shared_ptr< detail::SharedPut > put
std::tr1::weak_ptr< TestProvider > const provider
virtual std::string getProviderName()
const epics::pvData::MonitorRequester::weak_pointer requester
epics::pvData::MonitorElementPtr overflow
weak_set< TestPVChannel > channels_t
TODO only here because of the Lockable.
std::tr1::shared_ptr< const Structure > StructureConstPtr
Mark external symbols and entry points for shared libraries.
epics::pvData::PVScalar::shared_pointer field
std::tr1::shared_ptr< PVDataCreate > PVDataCreatePtr
const TestPVChannel::shared_pointer channel
a std::set-ish container where entries are removed when ref. counts fall to zero
std::tr1::weak_ptr< TestPV > weakself
#define POINTER_DEFINITIONS(clazz)
epics::pvData::PVDataCreatePtr factory
const ChannelProcessRequester::weak_pointer requester
std::tr1::shared_ptr< const Field > FieldConstPtr
std::deque< epics::pvData::MonitorElementPtr > free
APIs for the epicsEvent binary semaphore.
std::tr1::shared_ptr< PVStructure > PVStructurePtr
const epics::pvData::StructureConstPtr dtype
ScalarAccessor & operator+=(T v)
std::tr1::shared_ptr< MonitorElement > MonitorElementPtr
std::string toString(const T &tbs)
virtual void getDone(const epics::pvData::Status &status, epics::pvData::FieldConstPtr const &field)
std::tr1::weak_ptr< TestPVMonitor > weakself
ScalarAccessor(const epics::pvData::PVStructurePtr &s, const char *name)
ScalarAccessor & operator=(T v)
std::tr1::shared_ptr< Monitor > MonitorPtr
virtual ~TestChannelFieldRequester()
weak_value_map< std::string, TestPV > pvs_t
#define DUMBREQUESTER(NAME)