INTRODUCTION
Overview
Download and Install
Quick Start
Documentation
Publications

NONFRAMEWORK CODE
Driver Interfaces
Drivers
Libraries
Utilities

FRAMEWORK CODE
Interfaces
Components
Libraries
Utilities

Full Software Listings

DEVELOPER
Tutorials
Examples
Dev Guide
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

libs/orcacm/types.h

00001 /*
00002  * Orca-Robotics Project: Components for robotics 
00003  *               http://orca-robotics.sf.net/
00004  * Copyright (c) 2004-2009 Alex Brooks, Alexei Makarenko, Tobias Kaupp
00005  *
00006  * This copy of Orca is licensed to you under the terms described in
00007  * the LICENSE file included in this distribution.
00008  *
00009  */
00010 
00011 #ifndef ORCACM_TYPES_H
00012 #define ORCACM_TYPES_H
00013 
00014 #include <vector>
00015 #include <string>
00016 #include <orca/common.h>
00017 #include <orca/ocm.h>
00018 
00019 namespace orcacm
00020 {
00021 
00023 struct ResultHeader
00024 {
00026     std::string name;
00028     std::string text;
00029 };
00030 
00033 struct OperationHeader
00034 {
00036     std::string name;
00038     std::string signature;
00040     bool isSupported;
00041 };
00042 
00045 struct OperationData
00046 {
00048     std::string locatorString;
00050     orca::FQInterfaceName parent;
00052     std::string parentId;
00054     std::string name;
00057     std::vector<ResultHeader> results;
00058 };
00059 
00062 struct ProvidesHeader
00063 {
00065     std::string name;
00067     std::string id;
00069     bool isReachable;
00070 };
00071 
00074 struct RequiresHeader
00075 {
00077     orca::FQInterfaceName name;
00079     std::string id;
00081     bool isReachable;
00082 };
00083 
00086 struct InterfaceData
00087 {
00089     std::string locatorString;
00091     orca::FQInterfaceName name;
00093     std::string id;
00095     std::vector<OperationHeader> operations;
00096 };
00097 
00100 struct ComponentHeader
00101 {
00103     orca::FQComponentName name;
00105     bool isReachable;
00107     std::string address;
00108 };
00109 
00112 struct ComponentData
00113 {
00115     std::string locatorString;
00117     std::string adminAddress;
00119     Ice::ObjectPrx adminPrx;
00121     orca::FQComponentName name;
00123     bool isReachable;
00125     std::string address;
00127     std::vector<ProvidesHeader> provides;
00129     std::vector<RequiresHeader> requires;
00130 };
00131 
00134 struct PlatformHeader
00135 {
00137     std::string name;
00138 };
00139 
00142 struct PlatformData
00143 {
00145     std::string locatorString;
00147     std::string adminAddress;
00149     std::string name;
00151     std::vector<ComponentHeader> components;
00152 };
00153 
00155 struct HomeHeader
00156 {
00158     Ice::ObjectPrx proxy;
00160     bool isReachable;
00162     std::string address;
00163 };
00164 
00165 // needed for sorting
00166 bool operator<(const HomeHeader& l, const HomeHeader& r);
00167 
00169 struct RegistryFlatData
00170 {
00172     std::string locatorString;
00174     std::string address;
00176     bool isReachable;
00178     std::vector<ComponentHeader> adapters;
00179 };
00180 
00182 struct RegistryHierarchicalData1
00183 {
00185     std::string locatorString;
00187     std::string address;
00189     bool isReachable;
00191     std::vector<PlatformHeader> platforms;
00192 };
00193 
00195 struct RegistryHierarchicalData2
00196 {
00198     std::string locatorString;
00200     std::string address;
00202     bool isReachable;
00204     PlatformHeader platform;
00206     std::vector<HomeHeader> homes;
00207 };
00208 
00210 struct RegistryHomeData
00211 {
00213     std::string locatorString;
00215     std::string address;
00217     bool isReachable;
00219     std::vector<HomeHeader> homes;
00220 };
00221 
00222 } // namespace
00223 
00224 #endif
 

Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)


Generated for Orca Robotics by  doxygen 1.4.5