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

Revision 183, 1.4 KB (checked in by bhilburn, 15 years ago)

Implemented a remote component information struct in containers that can be used
to represent either the shell or the SML.

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 CE_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/* Contains information regarding a remote component in a VTCROSS system.  Note
81 * that this information is independent of component type, but technically will
82 * only ever be the SML or shell.
83 */
84struct RemoteComponent {
85    struct hostent *server;
86    std::string serverName;
87    std::string serverPort;
88    int32_t socketFD;
89};
90
91#endif
Note: See TracBrowser for help on using the browser.