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

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

Made the remotecomponent struct public since information hiding doesn't
make any sense here, removed unneeded info from it, worked on a couple
of policy engine functions to be smart about start-up connections.

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 *
84 * TODO I'm not 100% certain I'm doing this in the most efficient way.  Need
85 * someone to look it over.
86 */
87struct RemoteComponent {
88    std::string serverName;
89    int32_t serverPort;
90    int32_t socketFD;
91};
92
93#endif
Note: See TracBrowser for help on using the browser.