root/vtcross/trunk/src/include/vtcross/containers.h @ 287

Revision 287, 1.6 KB (checked in by wrodgers, 15 years ago)

Begun work on nested conditionals, direct communication. This should work for linear ordering of statements, and may work for nonlinear ordering too, although that has yet to be fully tested

Line 
1/* Virginia Tech Cognitive Radio Open Source Systems
2 * Virginia Tech, 2009
3 *
4 * LICENSE INFORMATION GOES HERE
5 */
6
7/* This header contains commonly used data container structs in VT-CROSS
8 * systems.
9 */
10
11#ifndef CONTAINERS_H
12#define CONTAINERS_H
13
14
15#include <netdb.h>
16#include <stdint.h>
17#include <string>
18
19
20/* TODO
21 *
22 */
23struct Radio_Info {
24    uint32_t numUtilities;
25    uint32_t numParameters;
26    uint32_t numObservables;
27    uint32_t policy_engine;
28    uint32_t policy_socket;
29    uint32_t ce_socket;
30};
31
32
33/* TODO
34 *
35 */
36struct Utility {
37    std::string name;
38    std::string units;
39    std::string goal;
40    float target;
41    float value;
42};
43
44
45/* TODO
46 *
47 */
48struct Affect {
49    Utility *u;
50    std::string relation;
51};
52
53
54/* TODO
55 *
56 */
57struct Parameter {
58    std::string name;
59    std::string units;
60    float min;
61    uint32_t numAffects;
62    Affect affection_list[10];
63    float max;
64    float step;
65    float value;
66};
67
68
69/* TODO
70 *
71 */
72struct Observable {
73    std::string name;
74    Affect affection_list[10];
75    uint32_t numAffects;
76    float value;
77};
78
79
80/* TODO
81 *
82 */
83struct Service {
84    std::string name;
85    int32_t socketFD;
86    int32_t componentID;
87    uint16_t num_conds;
88    bool cond_flag;
89    std::string input[5];
90    std::string output[5];
91};
92
93
94/* TODO
95 *
96 */
97struct Mission {
98    std::string name;
99    uint32_t missionID;
100    uint32_t numServices;
101    Service *services;
102    std::string input[5];
103    std::string output[5];
104};
105
106/* Registration data for Cognitive Engines for use in communication
107 */
108struct CE_Reg {
109    int32_t ID_num;
110    //sockaddr_in *sock_ptr;
111    //socklen_t sock_len;
112    int32_t FD;
113};
114
115#endif
Note: See TracBrowser for help on using the browser.