BDS Public
Beam-lib  2.16.3
This is the Beam C++ class library.
BComms.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * BComms.h BComms class
3  * T.Barnaby, Beam Ltd, 2012-11-12
4  * Copyright (c) 2012 All Right Reserved, Beam Ltd, http://www.beam.ltd.uk
5  *******************************************************************************
6  */
7 #ifndef BComms_h
8 #define BComms_h
9 
10 #include <BTypes.h>
11 #include <BEvent.h>
12 #include <BError.h>
13 
14 class BComms {
15 public:
17 
18  BComms();
19  virtual ~BComms();
20 
21  virtual BError init();
22  virtual void close();
23 
24  virtual const char* name();
25  virtual BUInt32 byteRate();
26 
28  virtual Bool packetMode();
29  virtual BError setTimeout(BTimeout timeoutUs);
30 
31  virtual BError connect(const char* resource);
32  virtual Bool isConnected();
33  virtual BError disconnect();
34 
35  virtual void flush(Flush flush);
36 
37  virtual BUInt writeAvailable();
38  virtual BError write(const void* data, BUInt32 nBytes, BUInt32& nTrans) = 0;
39  virtual BError writeChunks(const BDataChunk* chunks, BUInt nChunks, BUInt32& nTrans);
40 
41  virtual BUInt readAvailable();
42  virtual BError read(void* data, BUInt32 num, BUInt32& nTrans) = 0;
43 
44  virtual BError wait(BUInt32 eventSet, BTimeout timeoutUs = BTimeoutForever, BUInt32 num = 1);
45  virtual void eventQueue(BEventQueue* eventQueue, BUInt32 event, BUInt32 eventSet, BUInt num = 1);
46  virtual void eventEnable(Bool on);
47 
48 protected:
57 };
58 #endif
virtual BError init()
Definition: BComms.cpp:22
virtual BUInt readAvailable()
Definition: BComms.cpp:93
BEventQueue * oeventQueue
Definition: BComms.h:52
Definition: BComms.h:16
Bool oeventEnabled
Definition: BComms.h:53
virtual ~BComms()
Definition: BComms.cpp:18
Queue class.
Definition: BQueue.h:19
virtual BError setPacketMode(Bool packetMode)
Set packet mode.
Definition: BComms.cpp:39
Flush
Definition: BComms.h:16
BTimeout otimeout
Definition: BComms.h:51
Definition: BComms.h:16
bool Bool
Definition: BTypes.h:15
virtual void close()
Definition: BComms.cpp:28
BUInt32 BTimeout
Definition: BTypes.h:42
virtual BError setTimeout(BTimeout timeoutUs)
Set communication timeout.
Definition: BComms.cpp:49
virtual BUInt writeAvailable()
Definition: BComms.cpp:74
virtual void eventQueue(BEventQueue *eventQueue, BUInt32 event, BUInt32 eventSet, BUInt num=1)
Definition: BComms.cpp:103
virtual BError disconnect()
Disconnect.
Definition: BComms.cpp:66
BUInt32 oevent
Definition: BComms.h:54
BComms()
Definition: BComms.cpp:9
virtual void flush(Flush flush)
Definition: BComms.cpp:71
BUInt32 BUInt
Definition: BTypes.h:30
uint32_t BUInt32
Definition: BTypes.h:21
Definition: BComms.h:14
const BTimeout BTimeoutForever
Definition: BTypes.h:43
virtual const char * name()
The name of this interface.
Definition: BComms.cpp:31
virtual Bool packetMode()
Device is in packet mode.
Definition: BComms.cpp:45
Bool oconnected
Definition: BComms.h:49
Definition: BComms.h:16
Definition: BTypes.h:91
char data[8]
Definition: BoapMc1.h:21
BUInt oeventNum
Definition: BComms.h:56
virtual void eventEnable(Bool on)
Enable events to be sent.
Definition: BComms.cpp:111
virtual BError writeChunks(const BDataChunk *chunks, BUInt nChunks, BUInt32 &nTrans)
Definition: BComms.cpp:78
virtual BError connect(const char *resource)
Create a connection.
Definition: BComms.cpp:57
virtual BError write(const void *data, BUInt32 nBytes, BUInt32 &nTrans)=0
virtual BUInt32 byteRate()
The byte rate of this interface.
Definition: BComms.cpp:35
virtual Bool isConnected()
Definition: BComms.cpp:62
Bool opacketMode
Definition: BComms.h:50
Definition: BError.h:25
virtual BError wait(BUInt32 eventSet, BTimeout timeoutUs=BTimeoutForever, BUInt32 num=1)
Definition: BComms.cpp:97
virtual BError read(void *data, BUInt32 num, BUInt32 &nTrans)=0
BUInt32 oeventSet
Definition: BComms.h:55