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