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 #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 TypeCode type;
00124 AllowedValues allowed_values;
00125 };
00126
00127 typedef sequence<Parameter> ParameterList;
00128 struct OrganizationProperty
00129 {
00130 NVList properties;
00131 };
00132 enum DependencyType
00133 {
00134 OWN,
00135 OWNED,
00136 NO_DEPENDENCY
00137 };
00138
00139 struct DeviceProfile
00140 {
00141 string device_type;
00142 string manufacturer;
00143 string model;
00144 string version;
00145 NVList properties;
00146 };
00147
00148 struct ServiceProfile
00149 {
00150 string id;
00151 string interface_type;
00152 NVList properties;
00153 SDOService service;
00154 };
00155
00156 typedef sequence <ServiceProfile> ServiceProfileList;
00157 struct ConfigurationSet
00158 {
00159 string id;
00160 string description;
00161 NVList configuration_data;
00162 };
00163
00164 typedef sequence<ConfigurationSet> ConfigurationSetList;
00165
00166
00168 exception NotAvailable exception_body;
00169 exception InterfaceNotImplemented exception_body;
00170 exception InvalidParameter exception_body;
00171 exception InternalError exception_body;
00172
00174 interface SDOSystemElement
00175 {
00176 OrganizationList get_owned_organizations()
00177 raises (NotAvailable,InternalError);
00178 };
00179 interface SDO : SDOSystemElement
00180 {
00181 UniqueIdentifier get_sdo_id()
00182 raises (NotAvailable, InternalError);
00183 string get_sdo_type()
00184 raises (NotAvailable, InternalError);
00185 DeviceProfile get_device_profile ()
00186 raises (NotAvailable, InternalError);
00187 ServiceProfileList get_service_profiles ()
00188 raises (NotAvailable, InternalError);
00189 ServiceProfile get_service_profile (in UniqueIdentifier id)
00190 raises (InvalidParameter, NotAvailable, InternalError);
00191 SDOService get_sdo_service (in UniqueIdentifier id)
00192 raises (InvalidParameter, NotAvailable, InternalError);
00193 Configuration get_configuration ()
00194 raises (InterfaceNotImplemented, NotAvailable, InternalError);
00195 Monitoring get_monitoring ()
00196 raises (InterfaceNotImplemented, NotAvailable, InternalError);
00197 OrganizationList get_organizations ()
00198 raises (NotAvailable, InternalError);
00199 NVList get_status_list ()
00200 raises (NotAvailable, InternalError);
00201 any get_status (in string nme)
00202 raises (InvalidParameter, NotAvailable, InternalError);
00203 };
00204
00205
00206 interface Configuration
00207 {
00208 boolean set_device_profile (in DeviceProfile dProfile)
00209 raises (InvalidParameter, NotAvailable, InternalError);
00210 boolean add_service_profile (in ServiceProfile sProfile)
00211 raises (InvalidParameter, NotAvailable, InternalError);
00212 boolean add_organization (in Organization organization_object)
00213 raises (InvalidParameter, NotAvailable, InternalError);
00214 boolean remove_service_profile (in UniqueIdentifier id)
00215 raises (InvalidParameter, NotAvailable, InternalError);
00216 boolean remove_organization (in UniqueIdentifier organization_id)
00217 raises (InvalidParameter, NotAvailable, InternalError);
00218 ParameterList get_configuration_parameters ()
00219 raises (NotAvailable, InternalError);
00220 NVList get_configuration_parameter_values ()
00221 raises (NotAvailable, InternalError);
00222 any get_configuration_parameter_value (in string name)
00223 raises (InvalidParameter, NotAvailable, InternalError);
00224 boolean set_configuration_parameter (in string name,
00225 in any value)
00226 raises (InvalidParameter, NotAvailable, InternalError);
00227 ConfigurationSetList get_configuration_sets ()
00228 raises (NotAvailable, InternalError);
00229 ConfigurationSet get_configuration_set (in UniqueIdentifier config_id)
00230 raises (NotAvailable, InternalError);
00231 boolean set_configuration_set_values (in ConfigurationSet configuration_set)
00232 raises (InvalidParameter, NotAvailable, InternalError);
00233 ConfigurationSet get_active_configuration_set ()
00234 raises (NotAvailable, InternalError);
00235 boolean add_configuration_set (in ConfigurationSet configuration_set)
00236 raises (InvalidParameter, NotAvailable, InternalError);
00237 boolean remove_configuration_set (in UniqueIdentifier config_id)
00238 raises (InvalidParameter, NotAvailable, InternalError);
00239 boolean activate_configuration_set (in UniqueIdentifier config_id)
00240 raises (InvalidParameter, NotAvailable, InternalError);
00241 };
00242
00243
00244 #ifdef USE_MONITORING
00245 interface Monitoring : CosNotifyComm::StructuredPushConsumer,
00246 CosNotifyComm::StructuredPushSupplier
00247 {
00248 any get_monitoring_parameter_value (in string name)
00249 raises (InvalidParameter, NotAvailable, InternalError);
00250 ParameterList get_monitoring_parameters ()
00251 raises (NotAvailable, InternalError);
00252 NVList get_monitoring_parameter_values ()
00253 raises (NotAvailable, InternalError);
00254 };
00255 #else
00256 interface Monitoring {};
00257 #endif
00258
00259 interface SDOService {};
00260
00261 interface Organization
00262 {
00263 UniqueIdentifier get_organization_id ()
00264 raises (InvalidParameter, NotAvailable, InternalError);
00265 OrganizationProperty get_organization_property ()
00266 raises (NotAvailable, InternalError);
00267 any get_organization_property_value (in string name)
00268 raises (InvalidParameter, NotAvailable, InternalError);
00269 boolean add_organization_property (in OrganizationProperty organization_property)
00270 raises (InvalidParameter, NotAvailable, InternalError);
00271 boolean set_organization_property_value (in string name,
00272 in any value)
00273 raises (InvalidParameter, NotAvailable, InternalError);
00274 boolean remove_organization_property ( in string name )
00275 raises (InvalidParameter, NotAvailable, InternalError);
00276 SDOSystemElement get_owner ()
00277 raises (NotAvailable, InternalError);
00278 boolean set_owner (in SDOSystemElement sdo)
00279 raises (InvalidParameter, NotAvailable, InternalError);
00280 SDOList get_members ()
00281 raises (NotAvailable, InternalError);
00282 boolean set_members (in SDOList sdos)
00283 raises (InvalidParameter, NotAvailable, InternalError);
00284 boolean add_members ( in SDOList sdo_list)
00285 raises (InvalidParameter, NotAvailable, InternalError);
00286 boolean remove_member (in UniqueIdentifier id)
00287 raises (InvalidParameter, NotAvailable, InternalError);
00288 DependencyType get_dependency()
00289 raises (NotAvailable, InternalError);
00290 boolean set_dependency (in DependencyType dependency)
00291 raises (NotAvailable, InternalError);
00292 };
00293 };
00294 #endif //_SDO_PACKAGE_IDL_