BDS Public
Beam-lib  2.16.3
This is the Beam C++ class library.
BEvent.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * BEvent.h Event class
3  * T.Barnaby, BEAM Ltd, 2005-07-08
4  * Copyright (c) 2005 All Right Reserved, Beam Ltd, http://www.beam.ltd.uk
5  *******************************************************************************
6  */
7 #ifndef BEvent_H
8 #define BEvent_H 1
9 
10 #include <BTypes.h>
11 #include <BQueue.h>
12 
13 class BEvent {
14 public:
16 
17  BUInt32 type();
18  BUInt32 arg();
19 
20 private:
21  BUInt32 otype;
22  BUInt32 oarg;
23 };
24 
27 
28 
30 class BEventPipe {
31 public:
32  BEventPipe();
33  ~BEventPipe();
34 
35  void clear();
36  int getFd();
37 
38  BUInt writeAvailable() const;
39  BError write(const BEvent& event, BTimeout timeout = BTimeoutForever);
40 
41  BUInt readAvailable() const;
42  BError read(BEvent& event, BTimeout timeout = BTimeoutForever);
43 
44 private:
45  int ofds[2];
46 };
47 #endif
BQueue< BEvent > BEventQueue
This class provides an interface for sending simple integer events via a BQueue.
Definition: BEvent.h:26
int getFd()
Definition: BEvent.cpp:40
BError write(const BEvent &event, BTimeout timeout=BTimeoutForever)
Append an item onto the queue.
Definition: BEvent.cpp:48
Queue class.
Definition: BQueue.h:19
BUInt readAvailable() const
Definition: BEvent.cpp:56
BEvent(BUInt32 type=BEventTypeNone, BUInt32 arg=0)
Definition: BEvent.cpp:13
BUInt32 BTimeout
Definition: BTypes.h:42
BError read(BEvent &event, BTimeout timeout=BTimeoutForever)
Get an item from the queue.
Definition: BEvent.cpp:64
BUInt writeAvailable() const
Definition: BEvent.cpp:44
This class provides an interface for sending simple integer events via a pipe file descriptor.
Definition: BEvent.h:30
Definition: BTypes.h:38
Definition: BEvent.h:13
BUInt32 BUInt
Definition: BTypes.h:30
uint32_t BUInt32
Definition: BTypes.h:21
const BTimeout BTimeoutForever
Definition: BTypes.h:43
BUInt32 arg()
Definition: BEvent.cpp:20
void clear()
Clear events pending.
Definition: BEvent.cpp:34
BEventPipe()
Definition: BEvent.cpp:25
Definition: BError.h:25
~BEventPipe()
Definition: BEvent.cpp:29
BUInt32 type()
Definition: BEvent.cpp:16