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

Revision 161, 1.1 KB (checked in by bhilburn, 15 years ago)

.

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/* Until the new C++ i99 standard is made permanent, allow use of otherwise
15 * legacy C-libraries.
16 */
17#ifdef GCC_EXPERIMENTAL
18    #include <cstdint>
19#else
20    #include <stdint.h>
21#endif
22
23#include <string>
24
25
26struct CE_Info {
27    uint32_t numUtilities;
28    uint32_t numParameters;
29    uint32_t numObservables;
30    uint32_t policy_engine;
31    uint32_t policy_socket;
32    uint32_t ce_socket;
33};
34
35struct Utility {
36    std::string name;
37    std::string units;
38    std::string goal;
39    float target;
40    float value;
41};
42
43struct Affect {
44    Utility *u;
45    std::string relation;
46};
47
48struct Parameter {
49    std::string name;
50    std::string units;
51    float min;
52    uint32_t numAffects;
53    Affect affection_list[10];
54    float max;
55    float step;
56    float value;
57};
58
59struct Observable {
60    std::string name;
61    Affect affection_list[10];
62    uint32_t numAffects;
63    float value;
64};
65
66#endif
Note: See TracBrowser for help on using the browser.