00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #ifndef _SDO_PACKAGE_IDL_
00040 #define _SDO_PACKAGE_IDL_
00041
00042 #ifdef TAO_IDL
00043 #include <orb.idl>
00044 #endif
00045 #ifdef USE_MONITORING
00046 #include <CosNotifyComm.idl>
00047 #endif
00048 #ifndef ORBIT2_IDL
00049 #define TypeCode CORBA::TypeCode
00050 #endif
00051
00053 #pragma prefix "org.omg"
00054 #define exception_body { string description; }
00055
00056 module SDOPackage
00057 {
00058 interface SDO;
00059 interface SDOService;
00060 interface SDOSystemElement;
00061 interface Configuration;
00062 interface Monitoring;
00063 interface Organization;
00064
00066 typedef sequence<string> StringList;
00067 typedef sequence<SDO> SDOList;
00068 typedef sequence<Organization> OrganizationList;
00069 typedef string UniqueIdentifier;
00070
00071 struct NameValue
00072 {
00073 string name;
00074 any value;
00075 };
00076
00077 typedef sequence<NameValue> NVList;
00078
00079 enum NumericType
00080 {
00081 SHORT_TYPE,
00082 LONG_TYPE,
00083 FLOAT_TYPE,
00084 DOUBLE_TYPE
00085 };
00086
00087 union Numeric switch (NumericType)
00088 {
00089 case SHORT_TYPE: short short_value;
00090 case LONG_TYPE: long long_value;
00091 case FLOAT_TYPE: float float_value;
00092 case DOUBLE_TYPE: double double_value;
00093 };
00094
00095 struct EnumerationType
00096 {
00097 StringList enumerated_values;
00098 };
00099
00100 struct RangeType
00101 {
00102 Numeric min;
00103 Numeric max;
00104 boolean min_inclusive;
00105 boolean max_inclusive;
00106 };
00107
00108 struct IntervalType
00109 {
00110 Numeric min;
00111 Numeric max;
00112 boolean min_inclusive;
00113 boolean max_inclusive;
00114 Numeric step;
00115 };
00116
00117 enum ComplexDataType
00118 {
00119 ENUMERATION, RANGE, INTERVAL
00120 };
00121
00122 union AllowedValues switch (ComplexDataType)
00123 {
00124 case ENUMERATION: EnumerationType allowed_enum;
00125 case INTERVAL: IntervalType allowed_interval;
00126 case RANGE: RangeType allowed_range;
00127 };
00128
00129 struct Parameter
00130 {
00131 string name;
00132 TypeCode type;
00133 AllowedValues allowed_values;
00134 };
00135
00136 typedef sequence<Parameter> ParameterList;
00137 struct OrganizationProperty
00138 {
00139 NVList properties;
00140 };
00141
00142 enum DependencyType
00143 {
00144 OWN,
00145 OWNED,
00146 NO_DEPENDENCY
00147 };
00148
00149 struct DeviceProfile
00150 {
00151 string device_type;
00152 string manufacturer;
00153 string model;
00154 string version;
00155 NVList properties;
00156 };
00157
00158 struct ServiceProfile
00159 {
00160 string id;
00161 string interface_type;
00162 NVList properties;
00163 SDOService service;
00164 };
00165
00166 typedef sequence <ServiceProfile> ServiceProfileList;
00167 struct ConfigurationSet
00168 {
00169 string id;
00170 string description;
00171 NVList configuration_data;
00172 };
00173
00174 typedef sequence<ConfigurationSet> ConfigurationSetList;
00175
00177 exception NotAvailable exception_body;
00178 exception InterfaceNotImplemented exception_body;
00179 exception InvalidParameter exception_body;
00180 exception InternalError exception_body;
00181
00183 interface SDOSystemElement
00184 {
00185 OrganizationList get_owned_organizations()
00186 raises (NotAvailable);
00187 };
00188
00189 interface SDO : SDOSystemElement
00190 {
00191 UniqueIdentifier get_sdo_id()
00192 raises (NotAvailable, InternalError);
00193 string get_sdo_type()
00194 raises (NotAvailable, InternalError);
00195 DeviceProfile get_device_profile ()
00196 raises (NotAvailable, InternalError);
00197 ServiceProfileList get_service_profiles ()
00198 raises (NotAvailable, InternalError);
00199 ServiceProfile get_service_profile (in UniqueIdentifier id)
00200 raises (InvalidParameter, NotAvailable, InternalError);
00201 SDOService get_sdo_service (in UniqueIdentifier id)
00202 raises (InvalidParameter, NotAvailable, InternalError);
00203 Configuration get_configuration ()
00204 raises (InterfaceNotImplemented, NotAvailable, InternalError);
00205 Monitoring get_monitoring ()
00206 raises (InterfaceNotImplemented, NotAvailable, InternalError);
00207 OrganizationList get_organizations ()
00208 raises (NotAvailable, InternalError);
00209 NVList get_status_list ()
00210 raises (NotAvailable, InternalError);
00211 any get_status (in string name)
00212 raises (InvalidParameter, NotAvailable, InternalError);
00213 };
00214
00215 interface Configuration
00216 {
00217 boolean set_device_profile (in DeviceProfile dProfile)
00218 raises (InvalidParameter, NotAvailable, InternalError);
00219 boolean set_service_profile (in ServiceProfile sProfile)
00220 raises (InvalidParameter, NotAvailable, InternalError);
00221 boolean add_organization (in Organization org)
00222 raises (InvalidParameter, NotAvailable, InternalError);
00223 boolean remove_service_profile (in UniqueIdentifier id)
00224 raises (InvalidParameter, NotAvailable, InternalError);
00225 boolean remove_organization (in UniqueIdentifier organization_id)
00226 raises (InvalidParameter, NotAvailable, InternalError);
00227 ParameterList get_configuration_parameters ()
00228 raises (NotAvailable, InternalError);
00229 NVList get_configuration_parameter_values ()
00230 raises (NotAvailable, InternalError);
00231 any get_configuration_parameter_value (in string name)
00232 raises (InvalidParameter, NotAvailable, InternalError);
00233 boolean set_configuration_parameter (in string name,
00234 in any value)
00235 raises (InvalidParameter, NotAvailable, InternalError);
00236 ConfigurationSetList get_configuration_sets ()
00237 raises (NotAvailable, InternalError);
00238 ConfigurationSet get_configuration_set (in UniqueIdentifier config_id)
00239 raises (NotAvailable, InternalError);
00240 boolean set_configuration_set_values (in UniqueIdentifier config_id,
00241 in ConfigurationSet configuration_set)
00242 raises (InvalidParameter, NotAvailable, InternalError);
00243 ConfigurationSet get_active_configuration_set ()
00244 raises (NotAvailable, InternalError);
00245 boolean add_configuration_set (in ConfigurationSet configuration_set)
00246 raises (InvalidParameter, NotAvailable, InternalError);
00247 boolean remove_configuration_set (in UniqueIdentifier config_id)
00248 raises (InvalidParameter, NotAvailable, InternalError);
00249 boolean activate_configuration_set (in UniqueIdentifier config_id)
00250 raises (InvalidParameter, NotAvailable, InternalError);
00251 };
00252
00253 #ifdef USE_MONITORING
00254 interface Monitoring : CosNotifyComm::StructuredPushConsumer,
00255 CosNotifyComm::StructuredPushSupplier
00256 {
00257 any get_monitoring_parameter_value (in string name)
00258 raises (InvalidParameter, NotAvailable, InternalError);
00259 ParameterList get_monitoring_parameters ()
00260 raises (NotAvailable, InternalError);
00261 NVList get_monitoring_parameter_values ()
00262 raises (NotAvailable, InternalError);
00263 };
00264 #else
00265 interface Monitoring {};
00266 #endif
00267
00268 interface SDOService {};
00269
00270 interface Organization
00271 {
00272 UniqueIdentifier get_organization_id ()
00273 raises (InvalidParameter, NotAvailable, InternalError);
00274 OrganizationProperty get_organization_property ()
00275 raises (NotAvailable, InternalError);
00276 any get_organization_property_value (in string name)
00277 raises (InvalidParameter, NotAvailable, InternalError);
00278 boolean set_organization_property (in OrganizationProperty organization_property)
00279 raises (InvalidParameter, NotAvailable, InternalError);
00280 boolean set_organization_property_value (in string name,
00281 in any value )
00282 raises (InvalidParameter, NotAvailable, InternalError);
00283 boolean remove_organization_property ( in string name )
00284 raises (InvalidParameter, NotAvailable, InternalError);
00285 SDOSystemElement get_owner ()
00286 raises (NotAvailable, InternalError);
00287 boolean set_owner (in SDOSystemElement sdo)
00288 raises (InvalidParameter, NotAvailable, InternalError);
00289 SDOList get_members ()
00290 raises (NotAvailable, InternalError);
00291 boolean set_members (in SDOList sdos)
00292 raises (InvalidParameter, NotAvailable, InternalError);
00293 boolean add_members ( in SDOList sdo_list)
00294 raises (InvalidParameter, NotAvailable, InternalError);
00295 boolean remove_member (in UniqueIdentifier id)
00296 raises (InvalidParameter, NotAvailable, InternalError);
00297 DependencyType get_dependency()
00298 raises (NotAvailable, InternalError);
00299 boolean set_dependency (in DependencyType dependency)
00300 raises (NotAvailable, InternalError);
00301 };
00302 };
00303 #endif //_SDO_PACKAGE_IDL_