# The TANGO IDL file : Module Tango

Intended audience: developers, Programming language: all

The fundamental idea of a device as a network object which has methods and data has been retained for TANGO. In TANGO objects are real C++/Java objects which can be instantiated and accessed via their methods and data by the client as if they were local objects. 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. Some wrapper classes group in an API will hide the calls to the Device interface from the client so that the client will only see the wrapper classes. All CORBA details will be hidden from the client as far as possible.

## Aliases

AttributeConfigList

typedef sequence<AttributeConfig> AttributeConfigList;

AttributeConfigList_2

typedef sequence<AttributeConfig_2> AttributeConfigList_2;

AttributeConfigList_3

typedef sequence<AttributeConfig_3> AttributeConfigList_3;

AttributeConfigList_5

typedef sequence<AttributeConfig_5> AttributeConfigList_5;

AttributeDimList

typedef sequence<AttributeDim> AttributeDimList;

AttributeValueList

typedef sequence<AttributeValue> AttributeValueList;

AttributeValueList_3

typedef sequence<AttributeValue_3> AttributeValueList_3;

AttributeValueList_4

typedef sequence<AttributeValue_4> AttributeValueList_4;

AttributeValueList_5

typedef sequence<AttributeValue_5> AttributeValueList_5;

AttrQualityList

typedef sequence<AttrQuality> AttrQualityList;

CppClntIdent

typedef unsigned long CppClntIdent;

DevAttrHistoryList

typedef sequence<DevAttrHistory> DevAttrHistoryList;

DevAttrHistoryList_3

typedef sequence<DevAttrHistory_3> DevAttrHistoryList_3;

DevBoolean

typedef boolean DevBoolean;

DevCmdHistoryList

typedef sequence<DevCmdHistory> DevCmdHistoryList

DevCmdInfoList

typedef sequence<DevCmdInfo> DevCmdInfoList;

DevCmdInfoList_2

typedef sequence<DevCmdInfo_2> DevCmdInfoList_2;

DevDouble

typedef double DevDouble;

DevErrorList

typedef sequence<DevError> DevErrorList;

DevErrorListList

typedef sequence<DevErrorList> DevErrorListList;

DevFloat

typedef float DevFloat;

DevLong

typedef long DevLong;

DevShort

typedef short DevShort;

DevString

typedef string DevString;

DevULong

typedef unsigned long DevULong;

DevUShort

typedef unsigned short DevUShort;

DevVarCharArray

typedef sequence<octet> DevVarCharArray;

DevVarDoubleArray

typedef sequence<double> DevVarDoubleArray;

DevVarEncodedArray

typedef sequence<DevEncoded> DevVarEncodedArray;

DevVarFloatArray

typedef sequence<float> DevVarFloatArray;

DevVarLongArray

typedef sequence<long> DevVarLongArray;

DevVarPipeDataEltArray

typedef sequence<DevPipeDataElt> DevVarPipeDataEltArray;

DevVarShortArray

typedef sequence<short> DevVarShortArray;
DevVarStateArray
typedef sequence<DevState> DevVarStateArray;

DevVarStringArray

typedef sequence<string> DevVarStringArray;

DevVarULongArray

typedef sequence<unsigned long> DevVarULongArray;

DevVarUShortArray

typedef sequence<unsigned short> DevVarUShortArray;

EltInArrayList

typedef sequence<EltInArray> EltInArrayList;

JavaUUID

typedef unsigned long long JavaUUID[2];
PipeConfigList
typedef sequence<PipeConfig> PipeConfigList;
NamedDevErrorList
typedef sequence<NamedDevError> NamedDevErrorList;

TimeValList

typedef sequence<TimeVal> TimeValList;

## Enums

AttrDataFormat

enum AttrDataFormat

{

SCALAR,

SPECTRUM,

IMAGE,

FMT_UNKNOWN

};

AttributeDataType

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

};

AttrQuality

enum AttrQuality

{

ATTR_VALID,

ATTR_INVALID,

ATTR_ALARM,

ATTR_CHANGING,

ATTR_WARNING

};

AttrWriteType

enum AttrWriteType

{

READ,

READ_WITH_WRITE,

WRITE,

READ_WRITE,

WT_UNKNOWN

};

DispLevel

enum DispLevel

{

OPERATOR,

EXPERT,

DL_UNKNOWN

};

DevSource

enum DevSource

{

DEV,

CACHE,

CACHE_DEV

};

DevState

enum DevState

{

ON,

OFF,

CLOSE,

OPEN,

INSERT,

EXTRACT,

MOVING,

STANDBY,

FAULT,

INIT,

RUNNING,

ALARM,

DISABLE,

UNKNOWN

};

ErrSeverity

enum ErrSeverity

{

WARN,

ERR,

PANIC

};

LockerLanguage

enum LockerLanguage

{

CPP,

JAVA

};
PipeWriteType

enum PipeWriteType

{

PIPE_READ,

PIPE_READ_WRITE,

PIPE_WT_UNKNOWN

};

## Structs

ArchiveEventProp

struct ArchiveEventProp

{

string rel_change;

string abs_change;

string period;

DevVarStringArray extensions;

> };

AttributeAlarm

struct AttributeAlarm

{

string min_alarm;

string max_alarm;

string min_warning;

string max_warning;

string delta_t;

string delta_val;

DevVarStringArray extensions;

> };

AttDataReady

struct AttributeAlarm {

string name;

long data_type;

long ctr;

}

AttributeConfig

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;

};

AttributeConfig_2

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;

};

AttributeConfig_3

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 alarm;

EventProperties event_prop;

DevVarStringArray extensions;

DevVarStringArray sys_extensions;

};

AttributeConfig_5

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;

};

AttributeDim

struct AttributeDim

{

long dim_x;

long dim_y;

};

AttributeValue

struct AttributeValue

{

any value;

AttrQuality quality;

TimeVal time;

string name;

long dim_x;

long dim_y;

};

AttributeValue_3

struct AttributeValue_3

{

any value;

AttrQuality quality;

TimeVal time;

string name;

AttributeDim r_dim;

AttributeDim w_dim;

DevErrorList err_list;

};

AttributeValue_4

struct AttributeValue_4

{

AttrValUnion value;

AttrQuality quality;

AttrDataFormat data_format;

TimeVal time;

string name;

AttributeDim r_dim;

AttributeDim w_dim;

DevErrorList err_list;

};

AttributeValue_5

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;

};

ChangeEventProp

struct ChangeEventProp

{

string rel_change;

string abs_change;

DevVarStringArray extensions;

};

DevAttrHistory

struct DevAttrHistory

{

boolean attr_failed;

AttributeValue value;

DevErrorList errors;

};

DevAttrHistory_3

struct DevAttrHistory_3

{

boolean attr_failed;

AttributeValue_3 value;

};

DevAttrHistory_4

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;

};

DevAttrHistory_5

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;

};

DevCmdHistory

struct DevCmdHistory

{

TimeVal time;

boolean cmd_failed;

any value;

DevErrorList errors;

};

DevCmdHistory_4

struct DevCmdHistory_4

{

TimeValList dates;

any value;

AttributeDimList dims;

EltInArrayList dims_array;

DevErrorListList errors;

EltInArrayList errors_array;

long cmd_type;

};

DevCmdInfo

struct DevCmdInfo

{

string cmd_name;

long cmd_tag;

long in_type;

long out_type;

string in_type_desc;

string out_type_desc;

};

DevCmdInfo_2

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;

};

DevEncoded

struct DevEncoded

{

DevString encoded_format;

DevVarCharArray encoded_data;

};

DevError

struct DevError

{

string reason;

ErrSeverity severity;

string desc;

string origin;

};

DevInfo

struct DevInfo

{

string dev_class;

string server_id;

string server_host;

long server_version;

string doc_url;

};

DevInfo_3

struct DevInfo_3

{

string dev_class;

string server_id;

string server_host;

long server_version;

string doc_url;

string dev_type;

};

DevIntrChange

struct DevIntrChange

{

boolean dev_started;

DevCmdInfoList_2 cmds;

AttributeConfigList_5 atts;

};

DevPipeBlob

struct DevPipeBlob

{

string name;

DevVarPipeDataEltArray blob_data;

};

DevPipeData

struct DevPipeData

{

string name;

TimeVal time;

DevPipeBlob data_blob;

};

DevPipeDataElt

struct DevPipeDataElt

{

string name;

AttrValUnion value;

DevVarPipeDataEltArray inner_blob;

string inner_blob_name;

};

DevVarDoubleStringArray

struct DevVarDoubleStringArray

{

DevVarDoubleArray dvalue;

DevVarStringArray svalue;

};

DevVarLongStringArray

struct DevVarLongStringArray

{

DevVarLongArray lvalue;

DevVarStringArray svalue;

};

EltInArray

struct EltInArray

{

long start;

long nb_elt;

};

EventProperties

struct EventProperties

{

ChangeEventProp ch_event;

PeriodicEventProp per_event;

ArchiveEventProp arch_event;

};

JavaClntIdent

struct JavaClntIdent

{

string MainClass;

JavaUUID uuid;

};

NamedDevError

struct NamedDevError

{

string name;

long index_in_call;

DevErrorList err_list;

};

PeriodicEventProp

struct PeriodicEventProp

{

string period;

DevVarStringArray extensions;

};

PipeConfig

struct PipeConfig

{

string name;

string description;

string label;

DispLevel level;

PipeWriteType writable;

DevVarStringArray extensions;

};

TimeVal

struct TimeVal

{

long tv_sec;

long tv_usec;

long tv_nsec;

};

ZmqCallInfo

struct ZmqCallInfo

{

long version;

unsigned long ctr;

string method_name;

DevVarCharArray oid;

boolean call_is_except;

};

## Unions

AttrValUnion

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;

};

ClntIdent

union ClntIdent switch (LockerLanguage)

{

case CPP:

CppClntIdent cpp_clnt;

case JAVA:

JavaClntIdent java_clnt;

};

## Exceptions

DevFailed

exception DevFailed

{

DevErrorList errors;

};

MultiDevFailed

exception MultiDevFailed

{

NamedDevErrorList errors;

};

## Interface Tango::Device

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 wrapper classes implemented in a API. 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.

### Attributes

adm_name

readonly attribute string adm_name;

adm_name (readonly) - administrator device unique ascii identifier

description

readonly attribute string description;

description (readonly) - general description of device

name

readonly attribute string name;

name (readonly) - unique ascii identifier

state

readonly attribute DevState state;

state (readonly) - device state

status

readonly attribute string status;

status (readonly) - device state as ascii string

### Operations

black_box

DevVarStringArray black_box(in long number)

raises(DevFailed);
read list of last N commands executed by clients
Parameters:

number – of commands to return

Returns:

list of command and clients

command_inout

any command_inout(in string command, in any argin)

raises(DevFailed);
execute a command on a device synchronously with no input parameter and one one output parameter
Parameters:

command – ascii string e.g. On

argin – command input parameter e.g. float

Returns:

command result.

command_list_query

DevCmdInfoList command_list_query()

raises(DevFailed);
query device to see what commands it supports
Returns:
list of commands and their types

command_query

DevCmdInfo command_query(in string command)

raises(DevFailed);
query device to see command argument
Parameters:

command – name

Returns:

command and its types

get_attribute_config

AttributeConfigList get_attribute_config(in DevVarStringArray names)

raises(DevFailed);
read the configuration for a variable list of attributes from a device
Parameters:

name – list of attribute names to read

Returns:

list of attribute configurations read

info

DevInfo info()

raises(DevFailed);
return general information about object e.g. class, type, …
Returns:
device info

ping

void ping()

raises(DevFailed);
ping a device to see if it alive

read_attributes

AttributeValueList read_attributes(in DevVarStringArray names)

raises(DevFailed);
read a variable list of attributes from a device
Parameters:

name – list of attribute names to read

Returns:

list of attribute values read

set_attribute_config

void set_attribute_config(in AttributeConfigList new_conf)

raises(DevFailed);
set the configuration for a variable list of attributes from the device
Parameters:
new_conf – list of attribute configuration to be set

write_attributes

void write_attributes(in AttributeValueList values)

raises(DevFailed);
write a variable list of attributes to a device
Parameters:

values – list of attribute values to write

## Interface Tango::Device_2

> interface Device_2 inherits from Tango::Device The updated Tango device interface. It inherits from Tango::Device and therefore supports all attribute/operation defined in the Tango::Device interface. Two CORBA operations have been modified to support more parameters (command_inout_2 and read_attribute_2). Three CORBA operations now retrun a different data type (command_list_query_2, command_query_2 and get_attribute_config)

### Operations

command_inout_2

any command_inout_2(in string command, in any argin, in DevSource source)

> raises(DevFailed); execute a command on a device synchronously with no input parameter and one one output parameter

Parameters:

command – ascii string e.g. On

argin – command input parameter

source – data source

Returns:

command result.

command_inout_history_2

DevCmdHistoryList command_inout_history_2(in string command, in long n)

raises(DevFailed);
Get command result history from polling buffer. Obviously, the command must be polled.
Parameters:

command – ascii string e.g. On

n – record number

Returns:

list of command result (or exception parameters if the command failed).

command_list_query_2

DevCmdInfoList_2 command_list_query_2()

raises(DevFailed);
query device to see what commands it supports
Returns:
list of commands and their types

command_query_2

DevCmdInfo_2 command_query_2(in string command)

raises(DevFailed);
query device to see command argument
Parameters:

command – name

Returns:

command and its types

get_attribute_config_2

AttributeConfigList_2 get_attribute_config_2(in DevVarStringArray names)

raises(DevFailed);
read the configuration for a variable list of attributes from a device
Parameters:

name – list of attribute names to read

Returns:

list of attribute configurations read

read_attributes_2

AttributeValueList read_attributes_2(in DevVarStringArray names, in DevSource source)

raises(DevFailed)
read a variable list of attributes from a device
Parameters:

name – list of attribute names to read

Returns:

list of attribute values read

read_attribute_history_2

DevAttrHistoryList read_attributes_history_2(in string name, in long n)

raises(DevFailed)
Get attribute value history from polling buffer. Obviously, the attribute must be polled.
Parameters:

name – Attribute name to read history

n – Record number

Returns:

list of attribute value (or exception parameters if the attribute failed).

## Interface Tango::Device_3

interface Device_3 inherits from Tango::Device_2
The updated Tango device interface for Tango release 5. It inherits from Tango::Device_2 and therefore supports all attribute/operation defined in the Tango::Device_2 interface. Six CORBA operations now return a different data type (read_attributes_3, write_attributes_3, read_attribute_history_3, info_3, get_attribute_config_3 and set_attribute_config_3)

### Operations

read_attributes_3

AttributeValueList_3 read_attributes_3(in DevVarStringArray names, in DevSource source)

raises(DevFailed);
read a variable list of attributes from a device
Parameters:

name – list of attribute names to read

source – data source

Returns:

list of attribute values read

write_attributes_3

void write_attributes_3(in AttributeValueList values)

raises(DevFailed, MultiDevFailed);
write a variable list of attributes to a device
Parameters:
values – list of attribute values to write

read_attribute_history_3

DevAttrHistoryList_3 read_attributes_history_3(in string name, in long n)

raises(DevFailed)
Get attribute value history from polling buffer. Obviously, the attribute must be polled.
Parameters:

name – Attribute name to read history

n – Record number

Returns:

list of attribute value (or exception parameters if the attribute failed).

info_3

DevInfo_3 info()

raises(DevFailed);
return general information about object e.g. class, type, …
Returns:
device info

get_attribute_config_3

AttributeConfigList_3 get_attribute_config_3(in DevVarStringArray names)

raises(DevFailed);
read the configuration for a variable list of attributes from a device
Parameters:

name – list of attribute names to read

Returns:

list of attribute configurations read

set_attribute_config_3

void set_attribute_config_3(in AttributeConfigList_3 new_conf)

raises(DevFailed);
set the configuration for a variable list of attributes from the device
Parameters:
new_conf – list of attribute configuration to be set

## Interface Tango::Device_4

interface Device_4 inherits from Tango::Device_3
The updated Tango device interface for Tango release 7. It inherits from Tango::Device_3 and therefore supports all attribute/operation defined in the Tango::Device_3 interface.

### Operations

read_attributes_4

AttributeValueList_4 read_attributes_4(in DevVarStringArray names, in DevSource source,in ClntIdent cl_ident)

raises(DevFailed);
read a variable list of attributes from a device
Parameters:

name – list of attribute names to read

source – data source

cl_ident – client identificator

Returns:

list of attribute values read

write_attributes_4

void write_attributes_3(in AttributeValueList_4 values, in ClniIdent cl_ident)

raises(DevFailed, MultiDevFailed);
write a variable list of attributes to a device
Parameters:

values – list of attribute values to write

cl_ident – client identificator

command_inout_4

any command_inout_4(in string command, in any argin, in DevSource source, In ClntIdent cl_ident)

raises(DevFailed);
Execute a command on a device synchronously with one input parameter and one one output parameter
Parameters:

command – ascii string e.g. On

argin – command input parameter

source – data source

cl_ident – client identificator

Returns:

command result

read_attribute_history_4

DevAttrHistory_4 read_attributes_history_4(in string name, in long n)

raises(DevFailed)
Get attribute value history from polling buffer. Obviously, the attribute must be polled.
Parameters:

name – Attribute name to read history

n – Record number

Returns:

Attribute value (or exception parameters if the attribute failed) coded in a structure.

command_inout_history_4

DevCmdHistory_4 command_inout_history_4(in string command, in long n)

raises(DevFailed);
Get command value history from polling buffer. Obviously, the command must be polled.
Parameters:

name – Command name to read history

n – Record number

Returns:

Command value (or exception paramteters) coded in a structure

write_read_attribute_4

AttributeValueList_4 write_read_attribute_4(in AttributeValueList_4 values, in ClntIdent cl_ident)

raises(DevFailed,MultiDevFailed);
Write then read a variable list of attributes from a device
Parameters:

values – list of attribute values to write

cl_ident – client identificator

Returns:

list of attribute values read

set_attribute_config_4

void set_attribute_config_4(in AttributeConfigList_3 new_conf, in ClntIdent cl_ident)

raises(DevFailed);
set the configuration for a variable list of attributes from the device
Parameters:

new_conf – list of attribute configuration to be set

cl_ident – client identificator
Interface Tango::Device_4
interface Device_4 inherits from Tango::Device_3
The updated Tango device interface for Tango release 7. It inherits from Tango::Device_3 and therefore supports all attribute/operation defined in the Tango::Device_3 interface.

## Interface Tango::Device_5

interface Device_5 inherits from Tango::Device_4
The updated Tango device interface for Tango release 9. It inherits from Tango::Device_4 and therefore supports all attribute/operation defined in the Tango::Device_4 interface.

### operations

get_attribute_config_5

AttributeConfigList_5 get_attribute_config_5(in DevVarStringArray names)

raises(DevFailed);
read the configuration for a variable list of attributes from a device
Parameters:

name – list of attribute names to read

Returns:

list of attribute configurations read

set_attribute_config_5

void set_attribute_config_5(in AttributeConfigList_5 new_conf, in ClntIdent cl_ident)

raises(DevFailed);
set the configuration for a variable list of attributes from the device
Parameters:

new_conf – list of attribute configuration to be set

cl_ident – client identificator
read_attributes_5

AttributeValueList_5 read_attributes_5(in DevVarStringArray names, in DevSource source,in ClntIdent cl_ident)

raises(DevFailed);
read a variable list of attributes from a device
Parameters:

name – list of attribute names to read

source – data source

cl_ident – client identificator

Returns:

list of attribute values read
write_read_attributes_5

AttributeValueList_5 write_read_attributes_5(in AttributeValueList_4 values, in DevVarStringArray r_names, in ClntIdent cl_ident)

raises(DevFailed,MultiDevFailed);
Write then read a variable list of attributes from a device
Parameters:

values – list of attribute values to write

r_names – list of attribute to read

cl_ident – client identificator

Returns:

list of attribute values read
read_attribute_history_5

DevAttrHistory_5 read_attributes_history_5(in string name, in long n)

raises(DevFailed)
Get attribute value history from polling buffer. Obviously, the attribute must be polled.
Parameters:

name – Attribute name to read history

n – Record number

Returns:

Attribute value (or exception parameters if the attribute failed) coded in a structure.
get_pipe_config_5

PipeConfigList get_pipe_config_5(in DevVarStringArray names)

raises(DevFailed);
read the configuration for a variable list of pipes from a device
Parameters:

name – list of pipe names to read

Returns:

list of pipe configurations
set_pipe_config_5

void set_pipe_config_5(in PipeConfigList new_conf, in ClntIdent cl_ident)

raises(DevFailed);
set the configuration for a variable list of pipes from the device
Parameters:

new_conf – list of pipe configuration to be set

cl_ident – client identificator
read_pipe_5

DevPipeData read_pipe_5(in string name, in ClntIdent cl_ident)

raises(DevFailed);
read a pipe from a device
Parameters:

name – pipe name to read

cl_ident – client identificator

Returns:

Pipe value

write_pipe_5

void write_pipe_5(in DevPipeData value, in ClniIdent cl_ident)

raises(DevFailed);
write a pipe to a device
Parameters:

value – new pipe value to write

cl_ident – client identificator
write_read_pipe_5

DevPipeData write_read_pipe_5(in DevPipeData value, in ClntIdent cl_ident)

raises(DevFailed);
Write then read a pipe from a device
Parameters:

value – New pipe value to write

cl_ident – client identificator

Returns:

pipe values read