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 #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_