forked from osmocom/wireshark
1173 lines
28 KiB
Plaintext
1173 lines
28 KiB
Plaintext
|
|
|
|
/**
|
|
* 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 */
|