This is Unofficial EPICS BASE Doxygen Site
event.h
Go to the documentation of this file.
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 
32 public:
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
TODO only here because of the Lockable.
Definition: ntaggregate.cpp:16
Mark external symbols and entry points for shared libraries.
#define POINTER_DEFINITIONS(clazz)
Definition: sharedPtr.h:198
#define epicsShareClass
Definition: shareLib.h:206
std::tr1::shared_ptr< Event > EventPtr
Definition: event.h:24
APIs for the epicsEvent binary semaphore.