|
orca-robotics INTRODUCTION Overview Download and Install Quick Start Documentation Publications REPOSITORY Interfaces Components Libraries Utilities Software Map DEVELOPER Tutorials Examples Dev Guide Dashboard Wiki login/pass: orca/orca PEOPLE Contributors Users Project Download Mailing lists
|
types.h00001 /* 00002 * Orca-Robotics Project: Components for robotics 00003 * http://orca-robotics.sf.net/ 00004 * Copyright (c) 2004-2008 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 00166 struct RegistryFlatData 00167 { 00169 std::string locatorString; 00171 std::string address; 00173 bool isReachable; 00175 std::vector<ComponentHeader> adapters; 00176 }; 00177 00179 struct RegistryHierarchicalData1 00180 { 00182 std::string locatorString; 00184 std::string address; 00186 bool isReachable; 00188 std::vector<PlatformHeader> platforms; 00189 }; 00190 00192 struct RegistryHierarchicalData2 00193 { 00195 std::string locatorString; 00197 std::string address; 00199 bool isReachable; 00201 PlatformHeader platform; 00203 std::vector<HomeHeader> homes; 00204 }; 00205 00207 struct RegistryHomeData 00208 { 00210 std::string locatorString; 00212 std::string address; 00214 bool isReachable; 00216 std::vector<HomeHeader> homes; 00217 }; 00218 00219 } // namespace 00220 00221 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)
1.4.5