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 Project Download Mailing lists
|
libs/orcacm/types.h00001 /* 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)