SADB-Client  0.99
Situational Awareness Database
 All Classes Functions Variables
Blackboard.h
1 #ifndef __Blackboard__
2 #define __Blackboard__
3 
4 enum BlackboardObjectTypes { Boolean,Scalar,DoubleScalar,Vector,DoubleVector,Matrix,DoubleMatrix,Raw };
5 
6 #define Interpolation_Linear 0x00
7 
8 class Blackboard {
9  public:
10  Blackboard(void);
11  ~Blackboard(void);
12 
13  void Initialize(void);
14  void Free(void);
15 
16 
17  //Network connection related stuff
18  int ConnectToServer(void);
19  int ConnectToServer(const char * address,int port = SADBPort);
20  void ConnectToServerWithRetry(void);
21  void ConnectToServerWithRetry(const char * address,int port = SADBPort);
22 
23 
24  void GenerateHeader(SADBu8* Header,SADBu8 CMD,SADBu64 OUID1,SADBu64 OUID2,SADBu64 Second,SADBu16 Millisecond,SADBu32 DataLength);
25  void Disconnect(void);
26 
27 
28  //SADB Commands
29  SADBs64 Ping(void);
30  SADBu64 CreateObject(void);
31  void DeleteObject(SADBu64 OUID);
32  int IsValidObject(SADBu64 OUID);
33  void SetObjectName(SADBu64 OUID,const char * Name);
34  void GetObjectName(SADBu64 OUID,SADBu8 ** Name);
35  void SetObjectDescription(SADBu64 OUID,const char * Description);
36  void GetObjectDescription(SADBu64 OUID,SADBu8 ** Description);
37  SADBu64 GetObjectByName(const char * Name);
38  int SendObjectValue(SADBu64 OUID, BlackboardObject * Object);
39  int GetLatestObjectValue(SADBu64 OUID, BlackboardObject * Object);
40  int GetLatestObjectTimestamp(SADBu64 OUID, Timestamp * time);
41  int GetNextObjectTimestamp(SADBu64 OUID,Timestamp*Current,Timestamp*Next);
42  int GetPreviousObjectTimestamp(SADBu64 OUID,Timestamp*Current,Timestamp*Previous);
43  int GetNearestObjectTimestamp(SADBu64 OUID,Timestamp*Target,Timestamp*Result);
44 
45  int GetObjectValueAtTimestamp(SADBu64 OUID, BlackboardObject * Object,Timestamp * Time,int Interpolation,int nPoints);
46  int GetObjectValueAtNearestTimestamp(SADBu64 OUID,Timestamp * Time, BlackboardObject * Object);
47  int RemoveOldestValue(SADBu64 OUID);
48  int KeepOnlyLatestValues(SADBu64 OUID,int nValues);
49 
50  int GetObjectValueAtNextTimestamp(SADBu64 OUID,Timestamp * Time, BlackboardObject * Object);
51  int GetObjectValueAtPreviousTimestamp(SADBu64 OUID,Timestamp * Time, BlackboardObject * Object);
52 
53  SADBu64 CreateCategory(void);
54  SADBu64 CreateCategoryIfNonExistant(const char * Name);
55  void DeleteCategory(SADBu64 CUID);
56  int IsValidCategory(SADBu64 CUID);
57  void SetCategoryName(SADBu64 CUID,const char * Name);
58  void GetCategoryName(SADBu64 CUID,SADBu8 ** Name);
59  void SetCategoryDescription(SADBu64 CUID,const char * Description);
60  void GetCategoryDescription(SADBu64 CUID,SADBu8 ** Description);
61  SADBu64 GetCategoryByName(const char * Name);
62  void AddObjectToCategory(SADBu64 CUID,SADBu64 OUID);
63  void RemoveObjectFromCategory(SADBu64 CUID,SADBu64 OUID);
64  int FindObjects(const char *Request,SADBu64**Objects);
65 
66  SADBu64 GetNextObjectID(void);
67  SADBu64 GetNextCategoryID(void);
68 
69 
70  void Reset(void);
71 
72  char * Address;
73  int Port;
74  private:
75  Network SADB;
76 };
77 #endif
78 
Definition: BlackboardObject.h:6
Definition: Network.h:7
Definition: SADB.h:51
Definition: Blackboard.h:8
Definition: Timestamp.h:4