aboutsummaryrefslogtreecommitdiffstats
path: root/idl
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2018-04-21 11:17:56 +0200
committerAnders Broman <a.broman58@gmail.com>2018-04-21 12:05:05 +0000
commit70fb344ab6e4bd97977ba38e61191e3975e1cf89 (patch)
tree9740d904ac7a441e77be65238d5c2394673e0724 /idl
parenta0435dec4e2964a0b08961020eb56544bf98d73e (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.idl820
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 */