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

Revision 518, 2.1 KB (checked in by bhilburn, 15 years ago)

Added Doxygen documentation to headers in the include/vtcross directory.

RevLine 
[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
[518]17/*! This header contains commonly used data container structs in CROSS
[161]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
[518]30/*! TODO
[170]31 *
32 */
[195]33struct 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
[518]43/*! TODO
[170]44 *
45 */
[161]46struct 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
[518]55/*! TODO
[170]56 *
57 */
[161]58struct Affect {
59    Utility *u;
[173]60    std::string relation;
[161]61};
62
[170]63
[518]64/*! TODO
[170]65 *
66 */
[299]67struct 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
[518]79/*! TODO
[170]80 *
81 */
[161]82struct Observable {
[173]83    std::string name;
[161]84    Affect affection_list[10];
85    uint32_t numAffects;
86    float value;
87};
88
[221]89
[518]90/*! TODO
[221]91 *
92 */
[222]93struct 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
[518]104/*! TODO
[221]105 *
106 */
[222]107struct 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
[518]116/*! Registration data for Cognitive Engines for use in communication.
[247]117 */
118struct 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.