OpenRTM
1.0.0
|
00001 //Platform Independent Model (PIM) and Platform Specific Model (PSM) 00002 //for Super Distributed Objects (SDO) Specification, v1.1 - OMG IDL Summary File 00003 //Object Management Group, Inc. 00004 //Copyright (c) 2003, Fraunhofer FOKUS 00005 //Copyright (c) 2003, Hitachi, Ltd. 00006 //The companies listed above have granted to the Object Management Group, Inc. 00007 //(OMG) a nonexclusive, royalty-free, paid up, worldwide license to copy and 00008 //distribute this document and to modify this document and distribute copies of 00009 //the modified version. Each of the copyright holders listed above has agreed 00010 //that no person shall be deemed to have infringed the copyright in the included 00011 //material of any such copyright holder by reason of having used the 00012 //specification set forth herein or having conformed any computer software to 00013 //the specification. 00014 // 00015 //This file contains OMG IDL from the Naming Service Specification, v1.2. 00016 //OMG regularly publishes a summary file that contains all the "code" parts of 00017 //an OMG formal document. Every formal document line that is IDL, PIDL, or 00018 //language code is included in the summary file. The reason for such a listing 00019 //is to give readers an electronic version of the "code" so that they can 00020 //extract pieces of it. Readers might want to test an example, include it in 00021 //their own code, or use it for documentation purposes. Having the code lines 00022 //available electronically means there is less likelihood of a transcription 00023 //error. 00024 // 00025 // ver 1.0 formal/2004-11-02 00026 // ver 1.1 (RTF report: dtc/2008-03-05) 00027 // 00028 //SDOPackage.idl 00029 00030 #ifndef _SDO_PACKAGE_IDL_ 00031 #define _SDO_PACKAGE_IDL_ 00032 00033 #ifdef TAO_IDL 00034 #include <orb.idl> 00035 #endif 00036 #ifdef USE_MONITORING 00037 #include <CosNotifyComm.idl> 00038 #endif 00039 #ifndef ORBIT2_IDL 00040 #define TypeCode CORBA::TypeCode 00041 #endif 00042 00044 #pragma prefix "org.omg" 00045 #define exception_body { string description; } 00046 00047 module SDOPackage 00048 { 00049 interface SDO; 00050 interface SDOService; 00051 interface SDOSystemElement; 00052 interface Configuration; 00053 interface Monitoring; 00054 interface Organization; 00055 00057 typedef sequence<string> StringList; 00058 typedef sequence<SDO> SDOList; 00059 typedef sequence<Organization> OrganizationList; 00060 typedef string UniqueIdentifier; 00061 00062 struct NameValue 00063 { 00064 string name; 00065 any value; 00066 }; 00067 00068 typedef sequence<NameValue> NVList; 00069 00070 enum NumericType 00071 { 00072 SHORT_TYPE, 00073 LONG_TYPE, 00074 FLOAT_TYPE, 00075 DOUBLE_TYPE 00076 }; 00077 00078 union Numeric switch (NumericType) 00079 { 00080 case SHORT_TYPE: short short_value; 00081 case LONG_TYPE: long long_value; 00082 case FLOAT_TYPE: float float_value; 00083 case DOUBLE_TYPE: double double_value; 00084 }; 00085 00086 struct EnumerationType 00087 { 00088 StringList enumerated_values; 00089 }; 00090 00091 struct RangeType 00092 { 00093 Numeric min; 00094 Numeric max; 00095 boolean min_inclusive; 00096 boolean max_inclusive; 00097 }; 00098 00099 struct IntervalType 00100 { 00101 Numeric min; 00102 Numeric max; 00103 boolean min_inclusive; 00104 boolean max_inclusive; 00105 Numeric step; 00106 }; 00107 00108 enum ComplexDataType 00109 { 00110 ENUMERATION, RANGE, INTERVAL 00111 }; 00112 00113 union AllowedValues switch (ComplexDataType) 00114 { 00115 case ENUMERATION: EnumerationType allowed_enum; 00116 case INTERVAL: IntervalType allowed_interval; 00117 case RANGE: RangeType allowed_range; 00118 }; 00119 00120 struct Parameter 00121 { 00122 string name; 00123 #ifndef ORBIT2_IDL 00124 TypeCode type; 00125 #else 00126 TypeCode type; 00127 #endif 00128 AllowedValues allowed_values; 00129 }; 00130 00131 typedef sequence<Parameter> ParameterList; 00132 struct OrganizationProperty 00133 { 00134 NVList properties; 00135 }; 00136 enum DependencyType 00137 { 00138 OWN, 00139 OWNED, 00140 NO_DEPENDENCY 00141 }; 00142 00143 struct DeviceProfile 00144 { 00145 string device_type; 00146 string manufacturer; 00147 string model; 00148 string version; 00149 NVList properties; 00150 }; 00151 00152 struct ServiceProfile 00153 { 00154 string id; 00155 string interface_type; 00156 NVList properties; 00157 SDOService service; 00158 }; 00159 00160 typedef sequence <ServiceProfile> ServiceProfileList; 00161 struct ConfigurationSet 00162 { 00163 string id; 00164 string description; 00165 NVList configuration_data; 00166 }; 00167 00168 typedef sequence<ConfigurationSet> ConfigurationSetList; 00169 00170 00172 exception NotAvailable exception_body; 00173 exception InterfaceNotImplemented exception_body; 00174 exception InvalidParameter exception_body; 00175 exception InternalError exception_body; 00176 00178 interface SDOSystemElement 00179 { 00180 OrganizationList get_owned_organizations() 00181 raises (NotAvailable,InternalError); 00182 }; 00183 interface SDO : SDOSystemElement 00184 { 00185 UniqueIdentifier get_sdo_id() 00186 raises (NotAvailable, InternalError); 00187 string get_sdo_type() 00188 raises (NotAvailable, InternalError); 00189 DeviceProfile get_device_profile () 00190 raises (NotAvailable, InternalError); 00191 ServiceProfileList get_service_profiles () 00192 raises (NotAvailable, InternalError); 00193 ServiceProfile get_service_profile (in UniqueIdentifier id) 00194 raises (InvalidParameter, NotAvailable, InternalError); 00195 SDOService get_sdo_service (in UniqueIdentifier id) 00196 raises (InvalidParameter, NotAvailable, InternalError); 00197 Configuration get_configuration () 00198 raises (InterfaceNotImplemented, NotAvailable, InternalError); 00199 Monitoring get_monitoring () 00200 raises (InterfaceNotImplemented, NotAvailable, InternalError); 00201 OrganizationList get_organizations () 00202 raises (NotAvailable, InternalError); 00203 NVList get_status_list () 00204 raises (NotAvailable, InternalError); 00205 any get_status (in string nme) 00206 raises (InvalidParameter, NotAvailable, InternalError); 00207 }; 00208 00209 00210 interface Configuration 00211 { 00212 boolean set_device_profile (in DeviceProfile dProfile) 00213 raises (InvalidParameter, NotAvailable, InternalError); 00214 boolean add_service_profile (in ServiceProfile sProfile) 00215 raises (InvalidParameter, NotAvailable, InternalError); 00216 boolean add_organization (in Organization organization_object) 00217 raises (InvalidParameter, NotAvailable, InternalError); 00218 boolean remove_service_profile (in UniqueIdentifier id) 00219 raises (InvalidParameter, NotAvailable, InternalError); 00220 boolean remove_organization (in UniqueIdentifier organization_id) 00221 raises (InvalidParameter, NotAvailable, InternalError); 00222 ParameterList get_configuration_parameters () 00223 raises (NotAvailable, InternalError); 00224 NVList get_configuration_parameter_values () 00225 raises (NotAvailable, InternalError); 00226 any get_configuration_parameter_value (in string name) 00227 raises (InvalidParameter, NotAvailable, InternalError); 00228 boolean set_configuration_parameter (in string name, 00229 in any value) 00230 raises (InvalidParameter, NotAvailable, InternalError); 00231 ConfigurationSetList get_configuration_sets () 00232 raises (NotAvailable, InternalError); 00233 ConfigurationSet get_configuration_set (in UniqueIdentifier config_id) 00234 raises (NotAvailable, InternalError); 00235 boolean set_configuration_set_values (in ConfigurationSet configuration_set) 00236 raises (InvalidParameter, NotAvailable, InternalError); 00237 ConfigurationSet get_active_configuration_set () 00238 raises (NotAvailable, InternalError); 00239 boolean add_configuration_set (in ConfigurationSet configuration_set) 00240 raises (InvalidParameter, NotAvailable, InternalError); 00241 boolean remove_configuration_set (in UniqueIdentifier config_id) 00242 raises (InvalidParameter, NotAvailable, InternalError); 00243 boolean activate_configuration_set (in UniqueIdentifier config_id) 00244 raises (InvalidParameter, NotAvailable, InternalError); 00245 }; 00246 00247 00248 #ifdef USE_MONITORING 00249 interface Monitoring : CosNotifyComm::StructuredPushConsumer, 00250 CosNotifyComm::StructuredPushSupplier 00251 { 00252 any get_monitoring_parameter_value (in string name) 00253 raises (InvalidParameter, NotAvailable, InternalError); 00254 ParameterList get_monitoring_parameters () 00255 raises (NotAvailable, InternalError); 00256 NVList get_monitoring_parameter_values () 00257 raises (NotAvailable, InternalError); 00258 }; 00259 #else 00260 interface Monitoring {}; 00261 #endif 00262 00263 interface SDOService {}; 00264 00265 interface Organization 00266 { 00267 UniqueIdentifier get_organization_id () 00268 raises (InvalidParameter, NotAvailable, InternalError); 00269 OrganizationProperty get_organization_property () 00270 raises (NotAvailable, InternalError); 00271 any get_organization_property_value (in string name) 00272 raises (InvalidParameter, NotAvailable, InternalError); 00273 boolean add_organization_property (in OrganizationProperty organization_property) 00274 raises (InvalidParameter, NotAvailable, InternalError); 00275 boolean set_organization_property_value (in string name, 00276 in any value) 00277 raises (InvalidParameter, NotAvailable, InternalError); 00278 boolean remove_organization_property ( in string name ) 00279 raises (InvalidParameter, NotAvailable, InternalError); 00280 SDOSystemElement get_owner () 00281 raises (NotAvailable, InternalError); 00282 boolean set_owner (in SDOSystemElement sdo) 00283 raises (InvalidParameter, NotAvailable, InternalError); 00284 SDOList get_members () 00285 raises (NotAvailable, InternalError); 00286 boolean set_members (in SDOList sdos) 00287 raises (InvalidParameter, NotAvailable, InternalError); 00288 boolean add_members ( in SDOList sdo_list) 00289 raises (InvalidParameter, NotAvailable, InternalError); 00290 boolean remove_member (in UniqueIdentifier id) 00291 raises (InvalidParameter, NotAvailable, InternalError); 00292 DependencyType get_dependency() 00293 raises (NotAvailable, InternalError); 00294 boolean set_dependency (in DependencyType dependency) 00295 raises (NotAvailable, InternalError); 00296 }; 00297 }; 00298 #endif //_SDO_PACKAGE_IDL_