root/vtcross/trunk/src/include/vtcross/containers.h
@
411
Revision 411, 2.1 KB (checked in by trnewman, 15 years ago) |
---|
Rev | Line | |
---|---|---|
[411] | 1 | /* |
2 | Copyright 2009 Virginia Polytechnic Institute and State University | |
[161] | 3 | |
[411] | 4 | Licensed under the Apache License, Version 2.0 (the "License"); |
5 | you may not use this file except in compliance with the License. | |
6 | You may obtain a copy of the License at | |
7 | ||
8 | http://www.apache.org/licenses/LICENSE-2.0 | |
9 | ||
10 | Unless required by applicable law or agreed to in writing, software | |
11 | distributed under the License is distributed on an "AS IS" BASIS, | |
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | See the License for the specific language governing permissions and | |
14 | limitations under the License. | |
15 | */ | |
16 | ||
[161] | 17 | /* This header contains commonly used data container structs in VT-CROSS |
18 | * systems. | |
19 | */ | |
20 | ||
21 | #ifndef CONTAINERS_H | |
22 | #define CONTAINERS_H | |
23 | ||
24 | ||
[183] | 25 | #include <netdb.h> |
[165] | 26 | #include <stdint.h> |
[173] | 27 | #include <string> |
[161] | 28 | |
29 | ||
[170] | 30 | /* TODO |
31 | * | |
32 | */ | |
[195] | 33 | struct Radio_Info { |
[161] | 34 | uint32_t numUtilities; |
35 | uint32_t numParameters; | |
36 | uint32_t numObservables; | |
37 | uint32_t policy_engine; | |
38 | uint32_t policy_socket; | |
39 | uint32_t ce_socket; | |
40 | }; | |
41 | ||
[170] | 42 | |
43 | /* TODO | |
44 | * | |
45 | */ | |
[161] | 46 | struct Utility { |
[173] | 47 | std::string name; |
48 | std::string units; | |
49 | std::string goal; | |
[161] | 50 | float target; |
51 | float value; | |
52 | }; | |
53 | ||
[170] | 54 | |
55 | /* TODO | |
56 | * | |
57 | */ | |
[161] | 58 | struct Affect { |
59 | Utility *u; | |
[173] | 60 | std::string relation; |
[161] | 61 | }; |
62 | ||
[170] | 63 | |
64 | /* TODO | |
65 | * | |
66 | */ | |
[299] | 67 | struct Parameter{ |
[173] | 68 | std::string name; |
69 | std::string units; | |
[161] | 70 | float min; |
71 | uint32_t numAffects; | |
72 | Affect affection_list[10]; | |
73 | float max; | |
74 | float step; | |
75 | float value; | |
76 | }; | |
77 | ||
[170] | 78 | |
79 | /* TODO | |
80 | * | |
81 | */ | |
[161] | 82 | struct Observable { |
[173] | 83 | std::string name; |
[161] | 84 | Affect affection_list[10]; |
85 | uint32_t numAffects; | |
86 | float value; | |
87 | }; | |
88 | ||
[221] | 89 | |
90 | /* TODO | |
91 | * | |
92 | */ | |
[222] | 93 | struct Service { |
[220] | 94 | std::string name; |
[268] | 95 | int32_t socketFD; |
96 | int32_t componentID; | |
97 | uint16_t num_conds; | |
[296] | 98 | std::string parameter; |
99 | std::string input[10]; | |
100 | std::string output[10]; | |
[222] | 101 | }; |
[220] | 102 | |
[221] | 103 | |
104 | /* TODO | |
105 | * | |
106 | */ | |
[222] | 107 | struct Mission { |
[221] | 108 | std::string name; |
[222] | 109 | uint32_t missionID; |
110 | uint32_t numServices; | |
111 | Service *services; | |
[296] | 112 | std::string input[10]; |
113 | std::string output[10]; | |
[222] | 114 | }; |
[220] | 115 | |
[247] | 116 | /* Registration data for Cognitive Engines for use in communication |
117 | */ | |
118 | struct CE_Reg { | |
[255] | 119 | int32_t ID_num; |
[268] | 120 | //sockaddr_in *sock_ptr; |
121 | //socklen_t sock_len; | |
122 | int32_t FD; | |
[247] | 123 | }; |
124 | ||
[161] | 125 | #endif |
Note: See TracBrowser
for help on using the browser.