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