diff options
Diffstat (limited to 'epan/dissectors/corba-idl/tango.idl')
-rw-r--r-- | epan/dissectors/corba-idl/tango.idl | 1172 |
1 files changed, 1172 insertions, 0 deletions
diff --git a/epan/dissectors/corba-idl/tango.idl b/epan/dissectors/corba-idl/tango.idl new file mode 100644 index 0000000..1bea6fc --- /dev/null +++ b/epan/dissectors/corba-idl/tango.idl @@ -0,0 +1,1172 @@ + + +/** + * 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 + * 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 + * 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. + * This interface is defined in CORBA IDL. + * 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. + * 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. +**/ + +module Tango +{ + +//------------------------------------------------------------------------- +// +// Basic types to transport command data +// +//------------------------------------------------------------------------- + +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 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<unsigned long long> DevVarULong64Array; + + +struct DevVarLongStringArray +{ + DevVarLongArray lvalue; + DevVarStringArray svalue; +}; + +struct DevVarDoubleStringArray +{ + DevVarDoubleArray dvalue; + 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; +}; + +//------------------------------------------------------------------------- +// +// Some enumerations +// +//------------------------------------------------------------------------- + + +enum AttrQuality +{ + ATTR_VALID, + ATTR_INVALID, + ATTR_ALARM, + ATTR_CHANGING, + ATTR_WARNING +}; + +enum AttrWriteType +{ + READ, + READ_WITH_WRITE, + WRITE, + READ_WRITE, + WT_UNKNOWN +}; + +enum AttrDataFormat +{ + SCALAR, + SPECTRUM, + IMAGE, + FMT_UNKNOWN +}; + +enum DevSource +{ + DEV, + CACHE, + CACHE_DEV +}; + +enum ErrSeverity +{ + WARN, + ERR, + PANIC +}; + +enum DevState +{ + ON, + OFF, + CLOSE, + OPEN, + INSERT, + EXTRACT, + MOVING, + STANDBY, + FAULT, + INIT, + RUNNING, + ALARM, + DISABLE, + UNKNOWN +}; + +enum DispLevel +{ + OPERATOR, + EXPERT, + DL_UNKNOWN +}; + +typedef sequence<DevState> DevVarStateArray; + +//------------------------------------------------------------------------- +// +// Some miscellaneous structures definitions +// +//------------------------------------------------------------------------- + +struct TimeVal +{ + long tv_sec; + long tv_usec; + long tv_nsec; +}; + + +//------------------------------------------------------------------------- +// +// For the command query device operation +// +//------------------------------------------------------------------------- + + +struct DevCmdInfo +{ + string cmd_name; + long cmd_tag; + long in_type; + long out_type; + string in_type_desc; + string out_type_desc; +}; + +struct DevCmdInfo_2 +{ + string cmd_name; + DispLevel level; + long cmd_tag; + long in_type; + long out_type; + string in_type_desc; + string out_type_desc; +}; + +typedef sequence<DevCmdInfo> DevCmdInfoList; +typedef sequence<DevCmdInfo_2> DevCmdInfoList_2; + + +//------------------------------------------------------------------------- +// +// For the DevFailed exceptions +// +//------------------------------------------------------------------------- + +struct DevError +{ + string reason; + ErrSeverity severity; + string desc; + string origin; +}; + +typedef sequence<DevError> DevErrorList; + +struct NamedDevError +{ + string name; + long index_in_call; + DevErrorList err_list; +}; + +typedef sequence<NamedDevError> NamedDevErrorList; + + +exception DevFailed +{ + DevErrorList errors; +}; + +exception MultiDevFailed +{ + NamedDevErrorList errors; +}; + + +//------------------------------------------------------------------------- +// +// For attribute management +// +//------------------------------------------------------------------------- + + +struct AttributeConfig +{ + 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; +}; + +struct AttributeConfig_2 +{ + 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; +}; + +struct AttributeValue +{ + any value; + AttrQuality quality; + TimeVal time; + string name; + long dim_x; + long dim_y; +}; + +struct AttributeDim +{ + long dim_x; + long dim_y; +}; + +struct AttributeValue_3 +{ + any value; + AttrQuality quality; + 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; +}; + +struct PeriodicEventProp +{ + string period; + DevVarStringArray extensions; +}; + +struct ArchiveEventProp +{ + string rel_change; + string abs_change; + string period; + DevVarStringArray extensions; +}; + +struct EventProperties +{ + ChangeEventProp ch_event; + PeriodicEventProp per_event; + ArchiveEventProp arch_event; +}; + +struct AttributeAlarm +{ + 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; + 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; + AttributeAlarm att_alarm; + EventProperties event_prop; + DevVarStringArray extensions; + DevVarStringArray sys_extensions; +}; + +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<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; +}; + +//------------------------------------------------------------------------- +// +// For device interface info operation +// +//------------------------------------------------------------------------- + +struct DevInfo +{ + string dev_class; + string server_id; + string server_host; + long server_version; + string doc_url; +}; + +struct DevInfo_3 +{ + string dev_class; + string server_id; + string server_host; + long server_version; + string doc_url; + string dev_type; +}; + +//------------------------------------------------------------------------- +// +// For command and attribute history +// +//------------------------------------------------------------------------- + +struct DevCmdHistory +{ + TimeVal time; + boolean cmd_failed; + any value; + DevErrorList errors; +}; + +typedef sequence<DevCmdHistory> DevCmdHistoryList; + +struct DevAttrHistory +{ + boolean attr_failed; + AttributeValue value; + DevErrorList errors; +}; + +struct DevAttrHistory_3 +{ + 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 +// +//------------------------------------------------------------------------- + + + + + +/** + * The fundamental interface for all TANGO objects. + * Each Device is a network object which can be accessed locally or via + * network. + * 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. + * 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 + * the attributes and commands. + * A client will either use these methods directly from C++ or Java or access + * them via a wrapper class. + * The Device interface describes only the remote network interface. + * Implementation features like threads, command security, priority + * etc. are dealt with in server side of the device server model. + **/ + +interface Device +{ + +/** + * name (readonly) - unique ascii identifier + **/ + readonly attribute string name; +/** + * description (readonly) - general description of device + **/ + readonly attribute string description; +/** + * state (readonly) - device state + **/ + readonly attribute DevState state; +/** + * status (readonly) - device state as ascii string + **/ + readonly attribute string status; +/** + * adm_name (readonly) - administrator device unique ascii identifier + **/ + readonly attribute string adm_name; + +/** + * 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 +@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 +@return list of attribute configurations read + **/ + AttributeConfigList get_attribute_config(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(in AttributeConfigList new_conf) raises(DevFailed); + + +/** + * read a variable list of attributes from a device +@param name list of attribute names to read +@return list of attribute values read + **/ + AttributeValueList read_attributes(in DevVarStringArray names) raises(DevFailed); + + + +/** + * write a variable list of attributes to a device +@param values list of attribute values to write +@return nothing + **/ + void write_attributes(in AttributeValueList values) raises(DevFailed); + +/** + * ping a device to see if it alive + **/ + void ping() raises(DevFailed); + +/** + * read list of last N commands executed by clients +@param number of commands to return +@return list of command and clients + **/ + DevVarStringArray black_box(in long n) raises(DevFailed); + + +/** + * 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 +@param command name + **/ + 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 + * read_attributes calls with a new parameter. It also add a new call to read + * command or attributes result history. + **/ + +interface Device_2: Device +{ +/** + * 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 +@return command result. + **/ + any command_inout_2(in string command, + in any argin, + in DevSource source) 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 read_attributes_2(in DevVarStringArray names, + in DevSource source) raises(DevFailed); + +/** + * 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_2 get_attribute_config_2(in DevVarStringArray names) raises(DevFailed); + +/** + * Query device to see what commands it supports. + * Compared to the Device interface, the command configuration has one more + * field (The display level) +@return list of commands and their types + **/ + DevCmdInfoList_2 command_list_query_2() raises(DevFailed); + +/** + * Query device to see command argument. + * Compared to the Device interface, the command configuration has one more + * field (The display level) +@return command and its types +@param command name + **/ + DevCmdInfo_2 command_query_2(in string command) 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. + **/ + DevCmdHistoryList command_inout_history_2(in string command, + in long n) raises (DevFailed); + +/** + * 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. + **/ + 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 +{ + +/** + * 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_3 read_attributes_3(in DevVarStringArray names, + in DevSource source) raises(DevFailed); + +/** + * write a variable list of attributes to a device +@param values list of attribute values to write +@return nothing + **/ + void write_attributes_3(in AttributeValueList values) 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. + **/ + DevAttrHistoryList_3 read_attribute_history_3(in string name, + in long n) raises (DevFailed); + +/** + * return general information about object e.g. class, type, ... +@return device info + **/ + DevInfo_3 info_3() raises(DevFailed); + +/** + * 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_3 get_attribute_config_3(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_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 */ |