diff options
author | Georg Brandl <georg@python.org> | 2018-04-21 11:17:56 +0200 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2018-04-21 12:05:05 +0000 |
commit | 70fb344ab6e4bd97977ba38e61191e3975e1cf89 (patch) | |
tree | 9740d904ac7a441e77be65238d5c2394673e0724 /idl | |
parent | a0435dec4e2964a0b08961020eb56544bf98d73e (diff) |
tango: update idl file and regen dissector with idl2wrs
Change-Id: I49a0e29a24804f7fec75935ac6c315d5c7ff48f1
Reviewed-on: https://code.wireshark.org/review/27066
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'idl')
-rw-r--r-- | idl/tango.idl | 820 |
1 files changed, 628 insertions, 192 deletions
diff --git a/idl/tango.idl b/idl/tango.idl index c7286a70a2..1bea6fcd4c 100644 --- a/idl/tango.idl +++ b/idl/tango.idl @@ -1,100 +1,64 @@ /** - * This is the new TACO interface defined in IDL. New TACO (or TANGO) - * is a total rethink of (old) TACO which was based on remote procedure - * calls. + * This is the TANGO interface defined in IDL. * TANGO is an extension of old TACO. * The fundamental idea of a device as a network object which - * has methods and data has been retained. However + * has methods and data has been retained. However * in TANGO objects will be real C++/Java objects which can be instantiated * and accessed via their methods and data by the client as if they were local - * objects. - * Certain aspects of the old DSAPI application programmer's + * objects. + * Certain aspects of the old DSAPI application programmer's * interface have been suppressed in order to simplify the client (e.g. import, - * free, data collector api). - * Features which have been considered missing in old TACO have been added - * e.g. signals, events and groups. - * Asynchronism and groups have been foreseen right from the beginning - * this time. + * free, data collector api). + * Features which have been considered missing in old TACO have been added + * e.g. signals, events and groups. + * Asynchronism and groups have been foreseen right from the beginning + * this time. * This interface is defined in CORBA IDL. - * The fundamental interface is Device. + * The fundamental interface is Device. * All TANGO control objects will be of this type i.e. they will implement and - * offer the Device interface. - * New classes of control objects e.g. PowerSupply, will be created by - * wrapping the Device class appropriately. + * offer the Device interface. + * New classes of control objects e.g. PowerSupply, will be created by + * wrapping the Device class appropriately. * The wrapper class will hide the calls to the Device interface from * the client so that the client will only see the wrapper class. * All CORBA details will be hidden from the client as far as possible. - * Generic clients will use the Device interface directly. - * In addition to Device TANGO offers the interfaces Monitor, - * GroupDevice and GroupSignal. - * These interfaces implement TANGO services for monitoring and - * executing grouped accesses to device/signals.<BR><BR> - * Version history: <BR> - * 20/08/98 : 1.1 : First official release<BR> - * 18/08/99 : 2.0 : Separe idl and pseudo-idl<BR> - * 08/09/99 : 2.1 : Remove the applet attribute and the initiliase and serialise operation from the device interface<BR> - * 15/09/99 : 2.2 : Adapted to the ICALEPS show<BR> - * 06/12/99 : 2.3 : Less possible state and add strings in the DevCmdInfo struct<BR> - * 31/01/00 : 2.4 : Update DevVarCharArray to array of octet<BR> - * 10/02/00 : 2.5 : Updated all attribute related stuff<BR> - * 21/03/00 : 2.6 : Change arguments for the write_attributes device operation<BR> - * 15/09/00 : 2.7 : Change arguments for the read_attributes operation. Remove the - * CORBA field of the ErrFacility enumeration. - * Replace the WARMUP state by INIT. - * Change name of the dim_x and dim_y fields of the - * AttributeConfig structure to max_dim_x and max_dim_y<BR> - * 27/09/00 : 2.8 : Change the writable field type of the AttributeConfig structure<BR> - * 26/10/00 : 2.9 : Change the DevError structure fields<BR> - * 12/02/01 : 2.10 : Change in the ErrSeverity enum. Windows does not like enum member like ERROR<BR> - * 14/02/01 : 2.11 : Another change in the ErrSeverity enum. WARNING is now WARN<BR> - * 23/03/01 : 2.12 : Add a new attribute in the Device interface called adm_name<BR> - * 26/10/01 : 3.0 : Add a new Device interface version using inheritance<BR> - * Add a new parameter to command_inout operation<BR> - * Add the command and attribute display level in command and attribute config structure<BR> - * Add a new call to get command or attribute cache history<BR> - * 06/04/02 : 2.0 : Update release number to be coherent with the real Tango software release number<BR> - -@author JM.Chaize,<BR>A.Gotz,<BR>W-D.Klotz,<BR>J.Meyer,<BR>E.Taurel -@version 2.0 -**/ +**/ module Tango { //------------------------------------------------------------------------- // -// Include all types, struct.... definition file -// -//------------------------------------------------------------------------- - - - -//------------------------------------------------------------------------- -// // Basic types to transport command data // //------------------------------------------------------------------------- -typedef boolean DevBoolean; -typedef double DevDouble; -typedef float DevFloat; -typedef long DevLong; -typedef short DevShort; -typedef string DevString; -typedef octet DevUChar; -typedef unsigned long DevULong; +typedef boolean DevBoolean; +typedef double DevDouble; +typedef float DevFloat; +typedef short DevShort; +typedef long DevLong; +typedef long long DevLong64; +typedef string DevString; +typedef octet DevUChar; typedef unsigned short DevUShort; -typedef sequence<float> DevVarFloatArray; +typedef unsigned long DevULong; +typedef unsigned long long DevULong64; + +typedef sequence<boolean> DevVarBooleanArray; typedef sequence<double> DevVarDoubleArray; +typedef sequence<float> DevVarFloatArray; typedef sequence<short> DevVarShortArray; typedef sequence<long> DevVarLongArray; +typedef sequence<long long> DevVarLong64Array; typedef sequence<octet> DevVarCharArray; typedef sequence<string> DevVarStringArray; typedef sequence<unsigned short> DevVarUShortArray; -typedef sequence<unsigned long> DevVarULongArray; -typedef sequence<boolean> DevVarBooleanArray; +typedef sequence<unsigned long> DevVarULongArray; +typedef sequence<unsigned long long> DevVarULong64Array; + struct DevVarLongStringArray { @@ -108,6 +72,38 @@ struct DevVarDoubleStringArray DevVarStringArray svalue; }; +struct DevEncoded +{ + DevString encoded_format; + DevVarCharArray encoded_data; +}; + +typedef sequence<DevEncoded> DevVarEncodedArray; + +//------------------------------------------------------------------------- +// +// Data types for client identification +// +//------------------------------------------------------------------------- + +typedef unsigned long long JavaUUID[2]; +typedef unsigned long CppClntIdent; + +struct JavaClntIdent +{ + string MainClass; + JavaUUID uuid; +}; + +enum LockerLanguage { CPP, JAVA }; + +union ClntIdent switch (LockerLanguage) +{ +case CPP: + CppClntIdent cpp_clnt; +case JAVA: + JavaClntIdent java_clnt; +}; //------------------------------------------------------------------------- // @@ -130,14 +126,16 @@ enum AttrWriteType READ, READ_WITH_WRITE, WRITE, - READ_WRITE + READ_WRITE, + WT_UNKNOWN }; - + enum AttrDataFormat { SCALAR, SPECTRUM, - IMAGE + IMAGE, + FMT_UNKNOWN }; enum DevSource @@ -170,22 +168,24 @@ enum DevState ALARM, DISABLE, UNKNOWN -}; +}; enum DispLevel { OPERATOR, - EXPERT + EXPERT, + DL_UNKNOWN }; +typedef sequence<DevState> DevVarStateArray; //------------------------------------------------------------------------- -// +// // Some miscellaneous structures definitions // -//------------------------------------------------------------------------- - -struct TimeVal +//------------------------------------------------------------------------- + +struct TimeVal { long tv_sec; long tv_usec; @@ -194,8 +194,8 @@ struct TimeVal //------------------------------------------------------------------------- -// -// For the command query device operation +// +// For the command query device operation // //------------------------------------------------------------------------- @@ -233,18 +233,18 @@ typedef sequence<DevCmdInfo_2> DevCmdInfoList_2; struct DevError { - string reason; + string reason; ErrSeverity severity; - string desc; - string origin; -}; + string desc; + string origin; +}; typedef sequence<DevError> DevErrorList; struct NamedDevError { - string name; - long index_in_call; + string name; + long index_in_call; DevErrorList err_list; }; @@ -263,7 +263,7 @@ exception MultiDevFailed //------------------------------------------------------------------------- -// +// // For attribute management // //------------------------------------------------------------------------- @@ -271,95 +271,173 @@ exception MultiDevFailed struct AttributeConfig { - string name; + string name; AttrWriteType writable; AttrDataFormat data_format; - long data_type; - long max_dim_x; - long max_dim_y; - string description; - string label; - string unit; - string standard_unit; - string display_unit; - string format; - string min_value; - string max_value; - string min_alarm; - string max_alarm; - string writable_attr_name; - DevVarStringArray extensions; + long data_type; + long max_dim_x; + long max_dim_y; + string description; + string label; + string unit; + string standard_unit; + string display_unit; + string format; + string min_value; + string max_value; + string min_alarm; + string max_alarm; + string writable_attr_name; + DevVarStringArray extensions; }; struct AttributeConfig_2 { - string name; + string name; AttrWriteType writable; AttrDataFormat data_format; - long data_type; - long max_dim_x; - long max_dim_y; - string description; - string label; - string unit; - string standard_unit; - string display_unit; - string format; - string min_value; - string max_value; - string min_alarm; - string max_alarm; - string writable_attr_name; - DispLevel level; - DevVarStringArray extensions; + long data_type; + long max_dim_x; + long max_dim_y; + string description; + string label; + string unit; + string standard_unit; + string display_unit; + string format; + string min_value; + string max_value; + string min_alarm; + string max_alarm; + string writable_attr_name; + DispLevel level; + DevVarStringArray extensions; }; struct AttributeValue { - any value; + any value; AttrQuality quality; - TimeVal time; - string name; - long dim_x; - long dim_y; + TimeVal time; + string name; + long dim_x; + long dim_y; }; struct AttributeDim { - long dim_x; - long dim_y; + long dim_x; + long dim_y; }; struct AttributeValue_3 { - any value; + any value; AttrQuality quality; - TimeVal time; - string name; + TimeVal time; + string name; AttributeDim r_dim; AttributeDim w_dim; DevErrorList err_list; }; +enum AttributeDataType +{ + ATT_BOOL, + ATT_SHORT, + ATT_LONG, + ATT_LONG64, + ATT_FLOAT, + ATT_DOUBLE, + ATT_UCHAR, + ATT_USHORT, + ATT_ULONG, + ATT_ULONG64, + ATT_STRING, + ATT_STATE, + DEVICE_STATE, + ATT_ENCODED, + ATT_NO_DATA +}; + +union AttrValUnion switch (AttributeDataType) +{ +case ATT_BOOL: + DevVarBooleanArray bool_att_value; +case ATT_SHORT: + DevVarShortArray short_att_value; +case ATT_LONG: + DevVarLongArray long_att_value; +case ATT_LONG64: + DevVarLong64Array long64_att_value; +case ATT_FLOAT: + DevVarFloatArray float_att_value; +case ATT_DOUBLE: + DevVarDoubleArray double_att_value; +case ATT_UCHAR: + DevVarCharArray uchar_att_value; +case ATT_USHORT: + DevVarUShortArray ushort_att_value; +case ATT_ULONG: + DevVarULongArray ulong_att_value; +case ATT_ULONG64: + DevVarULong64Array ulong64_att_value; +case ATT_STRING: + DevVarStringArray string_att_value; +case ATT_STATE: + DevVarStateArray state_att_value; +case DEVICE_STATE: + DevState dev_state_att; +case ATT_ENCODED: + DevVarEncodedArray encoded_att_value; +case ATT_NO_DATA: + DevBoolean union_no_data; +}; + +struct AttributeValue_4 +{ + AttrValUnion value; + AttrQuality quality; + AttrDataFormat data_format; + TimeVal time; + string name; + AttributeDim r_dim; + AttributeDim w_dim; + DevErrorList err_list; +}; + +struct AttributeValue_5 +{ + AttrValUnion value; + AttrQuality quality; + AttrDataFormat data_format; + long data_type; + TimeVal time; + string name; + AttributeDim r_dim; + AttributeDim w_dim; + DevErrorList err_list; +}; + struct ChangeEventProp { - string rel_change; - string abs_change; - DevVarStringArray extensions; + string rel_change; + string abs_change; + DevVarStringArray extensions; }; struct PeriodicEventProp { - string period; - DevVarStringArray extensions; + string period; + DevVarStringArray extensions; }; struct ArchiveEventProp { - string rel_change; - string abs_change; - string period; - DevVarStringArray extensions; + string rel_change; + string abs_change; + string period; + DevVarStringArray extensions; }; struct EventProperties @@ -371,45 +449,151 @@ struct EventProperties struct AttributeAlarm { - string min_alarm; - string max_alarm; - string min_warning; - string max_warning; - string delta_t; - string delta_val; - DevVarStringArray extensions; + string min_alarm; + string max_alarm; + string min_warning; + string max_warning; + string delta_t; + string delta_val; + DevVarStringArray extensions; }; struct AttributeConfig_3 { - string name; + string name; AttrWriteType writable; AttrDataFormat data_format; - long data_type; - long max_dim_x; - long max_dim_y; - string description; - string label; - string unit; - string standard_unit; - string display_unit; - string format; - string min_value; - string max_value; - string writable_attr_name; - DispLevel level; + long data_type; + long max_dim_x; + long max_dim_y; + string description; + string label; + string unit; + string standard_unit; + string display_unit; + string format; + string min_value; + string max_value; + string writable_attr_name; + DispLevel level; AttributeAlarm att_alarm; - EventProperties event_prop; + EventProperties event_prop; DevVarStringArray extensions; DevVarStringArray sys_extensions; }; -typedef sequence<AttributeConfig> AttributeConfigList; +struct AttributeConfig_5 +{ + string name; + AttrWriteType writable; + AttrDataFormat data_format; + long data_type; + boolean memorized; + boolean mem_init; + long max_dim_x; + long max_dim_y; + string description; + string label; + string unit; + string standard_unit; + string display_unit; + string format; + string min_value; + string max_value; + string writable_attr_name; + DispLevel level; + string root_attr_name; + DevVarStringArray enum_labels; + AttributeAlarm att_alarm; + EventProperties event_prop; + DevVarStringArray extensions; + DevVarStringArray sys_extensions; +}; + +typedef sequence<AttributeConfig> AttributeConfigList; typedef sequence<AttributeConfig_2> AttributeConfigList_2; typedef sequence<AttributeConfig_3> AttributeConfigList_3; -typedef sequence<AttributeValue> AttributeValueList; -typedef sequence<AttributeValue_3> AttributeValueList_3; +typedef sequence<AttributeConfig_5> AttributeConfigList_5; +typedef sequence<AttributeValue> AttributeValueList; +typedef sequence<AttributeValue_3> AttributeValueList_3; +typedef sequence<AttributeValue_4> AttributeValueList_4; +typedef sequence<AttributeValue_5> AttributeValueList_5; + +//------------------------------------------------------------------------- +// +// For pipe management +// +//------------------------------------------------------------------------- + +enum PipeWriteType +{ + PIPE_READ, + PIPE_READ_WRITE, + PIPE_WT_UNKNOWN +}; +struct PipeConfig +{ + string name; + string description; + string label; + DispLevel level; + PipeWriteType writable; + DevVarStringArray extensions; +}; + +typedef sequence<PipeConfig> PipeConfigList; + +struct DevPipeDataElt; +typedef sequence<DevPipeDataElt> DevVarPipeDataEltArray; + +struct DevPipeDataElt +{ + string name; + AttrValUnion value; + DevVarPipeDataEltArray inner_blob; + string inner_blob_name; +}; + +struct DevPipeBlob +{ + string name; + DevVarPipeDataEltArray blob_data; +}; + +struct DevPipeData +{ + string name; + TimeVal time; + DevPipeBlob data_blob; +}; + +//------------------------------------------------------------------------- +// +// For data ready event +// +//------------------------------------------------------------------------- + +struct AttDataReady +{ + string name; + long data_type; + long ctr; +}; + + +//------------------------------------------------------------------------- +// +// For device interface change event +// +//------------------------------------------------------------------------- + +struct DevIntrChange +{ + boolean dev_started; + DevCmdInfoList_2 cmds; + AttributeConfigList_5 atts; +}; //------------------------------------------------------------------------- // @@ -444,9 +628,9 @@ struct DevInfo_3 struct DevCmdHistory { - TimeVal time; - boolean cmd_failed; - any value; + TimeVal time; + boolean cmd_failed; + any value; DevErrorList errors; }; @@ -454,22 +638,92 @@ typedef sequence<DevCmdHistory> DevCmdHistoryList; struct DevAttrHistory { - boolean attr_failed; + boolean attr_failed; AttributeValue value; DevErrorList errors; }; struct DevAttrHistory_3 { - boolean attr_failed; + boolean attr_failed; AttributeValue_3 value; }; +struct EltInArray +{ + long start; + long nb_elt; +}; + +typedef sequence<EltInArray> EltInArrayList; +typedef sequence<TimeVal> TimeValList; +typedef sequence<AttrQuality> AttrQualityList; +typedef sequence<AttributeDim> AttributeDimList; +typedef sequence<DevErrorList> DevErrorListList; + +struct DevAttrHistory_4 +{ + string name; + TimeValList dates; + any value; + AttrQualityList quals; + EltInArrayList quals_array; + AttributeDimList r_dims; + EltInArrayList r_dims_array; + AttributeDimList w_dims; + EltInArrayList w_dims_array; + DevErrorListList errors; + EltInArrayList errors_array; +}; + +struct DevAttrHistory_5 +{ + string name; + AttrDataFormat data_format; + long data_type; + TimeValList dates; + any value; + AttrQualityList quals; + EltInArrayList quals_array; + AttributeDimList r_dims; + EltInArrayList r_dims_array; + AttributeDimList w_dims; + EltInArrayList w_dims_array; + DevErrorListList errors; + EltInArrayList errors_array; +}; + +struct DevCmdHistory_4 +{ + TimeValList dates; + any value; + AttributeDimList dims; + EltInArrayList dims_array; + DevErrorListList errors; + EltInArrayList errors_array; + long cmd_type; +}; + typedef sequence<DevAttrHistory> DevAttrHistoryList; typedef sequence<DevAttrHistory_3> DevAttrHistoryList_3; //------------------------------------------------------------------------- // +// For ZMQ event system +// +//------------------------------------------------------------------------- + +struct ZmqCallInfo +{ + long version; + unsigned long ctr; + string method_name; + DevVarCharArray oid; + boolean call_is_except; +}; + +//------------------------------------------------------------------------- +// // Include the device interface // //------------------------------------------------------------------------- @@ -485,7 +739,7 @@ typedef sequence<DevAttrHistory_3> DevAttrHistoryList_3; * The network protocol on the wire will be IIOP. * The Device interface implements all the basic functions needed for doing * generic synchronous and asynchronous I/O on a device. - * A Device object has data and actions. + * A Device object has data and actions. * Data are represented in the form of Attributes. * Actions are represented in the form of Commands. * The CORBA Device interface offers attributes and methods to access @@ -509,7 +763,7 @@ interface Device **/ readonly attribute string description; /** - * state (readonly) - device state + * state (readonly) - device state **/ readonly attribute DevState state; /** @@ -529,8 +783,8 @@ interface Device @return command result. **/ any command_inout(in string command, in any argin) raises(DevFailed); - - + + /** * read the configuration for a variable list of attributes from a device @param name list of attribute names to read @@ -545,8 +799,8 @@ interface Device @return nothing **/ void set_attribute_config(in AttributeConfigList new_conf) raises(DevFailed); - - + + /** * read a variable list of attributes from a device @param name list of attribute names to read @@ -574,22 +828,22 @@ interface Device @return list of command and clients **/ DevVarStringArray black_box(in long n) raises(DevFailed); - + /** - * return general information about object e.g. class, type, ... + * return general information about object e.g. class, type, ... @return device info **/ DevInfo info() raises(DevFailed); - - + + /** * query device to see what commands it supports @return list of commands and their types **/ DevCmdInfoList command_list_query() raises(DevFailed); - - + + /** * query device to see command argument @return command and its types @@ -598,16 +852,23 @@ interface Device DevCmdInfo command_query(in string command) raises(DevFailed); }; - + +//------------------------------------------------------------------------- +// +// The Device_2 interface +// +//------------------------------------------------------------------------- + + /** * A new release of the basic Device interface. * This new release has been introduced mainly to support Tango device server * internal polling. Inheritance is used between this new release and the - * old one. This release mainly defines a new release of the command_inout and + * old one. This release mainly defines a new release of the command_inout and * read_attributes calls with a new parameter. It also add a new call to read * command or attributes result history. **/ - + interface Device_2: Device { /** @@ -615,7 +876,7 @@ interface Device_2: Device * one input parameter and one output parameter @param command ascii string e.g. "On" @param argin command input parameter e.g. float -@param source The data source. Used to specify if the command result must be +@param source The data source. Used to specify if the command result must be read from the polling cache buffer or from the device itself @return command result. **/ @@ -626,7 +887,7 @@ read from the polling cache buffer or from the device itself /** * Read a variable list of attributes from a device @param name list of attribute names to read -@param source The data source. Used to specify if the command result must be +@param source The data source. Used to specify if the command result must be read from the polling cache buffer or from the device itself @return list of attribute values read **/ @@ -639,7 +900,7 @@ read from the polling cache buffer or from the device itself * field (The display level) @param name list of attribute names to read @return list of attribute configurations read - **/ + **/ AttributeConfigList_2 get_attribute_config_2(in DevVarStringArray names) raises(DevFailed); /** @@ -656,7 +917,7 @@ read from the polling cache buffer or from the device itself * field (The display level) @return command and its types @param command name - **/ + **/ DevCmdInfo_2 command_query_2(in string command) raises(DevFailed); /** @@ -665,7 +926,7 @@ read from the polling cache buffer or from the device itself @param command ascii string e.g. "On" @param n The history depth @return command history. - **/ + **/ DevCmdHistoryList command_inout_history_2(in string command, in long n) raises (DevFailed); @@ -675,11 +936,16 @@ read from the polling cache buffer or from the device itself @param name ascii string @param n The history depth @return attribute value history. - **/ + **/ DevAttrHistoryList read_attribute_history_2(in string name, in long n) raises (DevFailed); }; +//------------------------------------------------------------------------- +// +// The Device_3 interface (corresponding to Tango V5) +// +//------------------------------------------------------------------------- interface Device_3: Device_2 { @@ -687,7 +953,7 @@ interface Device_3: Device_2 /** * Read a variable list of attributes from a device @param name list of attribute names to read -@param source The data source. Used to specify if the command result must be +@param source The data source. Used to specify if the command result must be read from the polling cache buffer or from the device itself @return list of attribute values read **/ @@ -706,12 +972,12 @@ read from the polling cache buffer or from the device itself @param name ascii string @param n The history depth @return attribute value history. - **/ + **/ DevAttrHistoryList_3 read_attribute_history_3(in string name, in long n) raises (DevFailed); /** - * return general information about object e.g. class, type, ... + * return general information about object e.g. class, type, ... @return device info **/ DevInfo_3 info_3() raises(DevFailed); @@ -722,7 +988,7 @@ read from the polling cache buffer or from the device itself * field (The display level) @param name list of attribute names to read @return list of attribute configurations read - **/ + **/ AttributeConfigList_3 get_attribute_config_3(in DevVarStringArray names) raises(DevFailed); /** @@ -733,4 +999,174 @@ read from the polling cache buffer or from the device itself void set_attribute_config_3(in AttributeConfigList_3 new_conf) raises(DevFailed); }; +//------------------------------------------------------------------------- +// +// The Device_4 interface (corresponding to Tango V7) +// +//------------------------------------------------------------------------- + +interface Device_4: Device_3 +{ +/** + * Get attribute value history buffer. + * Return attribute value history for polled attribute +@param name ascii string +@param n The history depth +@return attribute value history. + **/ + DevAttrHistory_4 read_attribute_history_4(in string name, + in long n) raises (DevFailed); + +/** + * Get command history buffer. + * Return command result history for polled command +@param command ascii string e.g. "On" +@param n The history depth +@return command history. + **/ + DevCmdHistory_4 command_inout_history_4(in string command, + in long n) raises (DevFailed); + +/** + * Execute a command on a device synchronously with + * one input parameter and one output parameter +@param command ascii string e.g. "On" +@param argin command input parameter e.g. float +@param source The data source. Used to specify if the command result must be +read from the polling cache buffer or from the device itself +@param cl_ident The client identificator +@return command result. + **/ + any command_inout_4(in string command, + in any argin, + in DevSource source, + in ClntIdent cl_ident) raises(DevFailed); + +/** + * Read a variable list of attributes from a device +@param name list of attribute names to read +@param source The data source. Used to specify if the command result must be +read from the polling cache buffer or from the device itself +@return list of attribute values read + **/ + AttributeValueList_4 read_attributes_4(in DevVarStringArray names, + in DevSource source,in ClntIdent cl_ident) raises(DevFailed); + +/** + * write a variable list of attributes to a device +@param values list of attribute values to write +@return nothing + **/ + void write_attributes_4(in AttributeValueList_4 values,in ClntIdent cl_ident) raises(DevFailed,MultiDevFailed); + +/** + * set the configuration for a variable list of attributes from the device +@param new_conf list of attribute configuration to be set +@return nothing + **/ + void set_attribute_config_4(in AttributeConfigList_3 new_conf,in ClntIdent cl_ident) raises(DevFailed); + +/** + * Write then Read device attribute(s) +@param values List of attribute values to be written +@param cl_ident The client identificator +@return Attributes value read + **/ + AttributeValueList_4 write_read_attributes_4(in AttributeValueList_4 values,in ClntIdent cl_ident) + raises(DevFailed,MultiDevFailed); +}; + +//------------------------------------------------------------------------- +// +// The Device_5 interface (corresponding to Tango V9) +// +//------------------------------------------------------------------------- + +interface Device_5: Device_4 +{ +/** + * Read the configuration for a variable list of attributes from a device. + * Compared to the Device interface, the attribute configuration has one more + * field (The display level) +@param name list of attribute names to read +@return list of attribute configurations read + **/ + AttributeConfigList_5 get_attribute_config_5(in DevVarStringArray names) raises(DevFailed); + +/** + * set the configuration for a variable list of attributes from the device +@param new_conf list of attribute configuration to be set +@return nothing + **/ + void set_attribute_config_5(in AttributeConfigList_5 new_conf,in ClntIdent cl_ident) raises(DevFailed); + +/** + * Read a variable list of attributes from a device +@param name list of attribute names to read +@param source The data source. Used to specify if the command result must be +read from the polling cache buffer or from the device itself +@return list of attribute values read + **/ + AttributeValueList_5 read_attributes_5(in DevVarStringArray names, + in DevSource source,in ClntIdent cl_ident) raises(DevFailed); + +/** + * Write then Read device attribute(s) +@param values List of attribute values to be written +@param cl_ident The client identificator +@return Attributes value read + **/ + AttributeValueList_5 write_read_attributes_5(in AttributeValueList_4 values,in DevVarStringArray r_names,in ClntIdent cl_ident) + raises(DevFailed,MultiDevFailed); + +/** + * Get attribute value history buffer. + * Return attribute value history for polled attribute +@param name ascii string +@param n The history depth +@return attribute value history. + **/ + DevAttrHistory_5 read_attribute_history_5(in string name, + in long n) raises (DevFailed); + +/** + * Read the configuration for a variable list of pipes from a device. +@param names list of pipe names to read +@return list of pipe configurations read + **/ + PipeConfigList get_pipe_config_5(in DevVarStringArray names) raises(DevFailed); + +/** + * set the configuration for a variable list of pipes from the device +@param new_conf list of pipe configuration to be set +@return nothing + **/ + void set_pipe_config_5(in PipeConfigList new_conf,in ClntIdent cl_ident) raises(DevFailed); + +/** + * Read a pipe from a device +@param name pipe name +@param cl_ident client identifier +@return pipe value + **/ + DevPipeData read_pipe_5(in string name,in ClntIdent cl_ident) raises(DevFailed); + +/** + * write a pipe to a device +@param value new pipe value +@param cl_ident client identifier +@return nothing + **/ + void write_pipe_5(in DevPipeData value,in ClntIdent cl_ident) raises(DevFailed); + +/** + * write then read a pipe to a device +@param value new pipe value +@param cl_ident client identifier +@return pipe value + **/ + DevPipeData write_read_pipe_5(in DevPipeData value,in ClntIdent cl_ident) raises(DevFailed); + +}; + }; /* module tango */ |