PVData C++  8.0.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
event.h
1 /* event.h */
2 /*
3  * Copyright information and license terms for this software can be
4  * found in the file LICENSE that is included with the distribution
5  */
9 #ifndef EVENT_H
10 #define EVENT_H
11 
12 #include <memory>
13 #include <vector>
14 
15 #include <epicsEvent.h>
16 #include <shareLib.h>
17 
18 #include <pv/pvType.h>
19 #include <pv/sharedPtr.h>
20 
21 
22 namespace epics { namespace pvData {
23 
24 class Event;
25 typedef std::tr1::shared_ptr<Event> EventPtr;
26 
31 class epicsShareClass Event {
32 public:
33  POINTER_DEFINITIONS(Event);
37  explicit Event(bool = false);
41  ~Event();
45  void signal();
51  bool wait (); /* blocks until full */
57  bool wait ( double timeOut ); /* false if empty at time out */
62  bool tryWait (); /* false if empty */
63 private:
64  epicsEventId id;
65 };
66 
67 }}
68 #endif /* EVENT_H */
C++ wrapper for epicsEvent from EPICS base.
Definition: event.h:31