Module Tango

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. 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. 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.

Version history:
20/08/98 : 1.1 : First official release
18/08/99 : 2.0 : Separe idl and pseudo-idl
08/09/99 : 2.1 : Remove the applet attribute and the initiliase and serialise operation from the device interface
15/09/99 : 2.2 : Adapted to the ICALEPS show
06/12/99 : 2.3 : Less possible state and add strings in the DevCmdInfo struct
31/01/00 : 2.4 : Update DevVarCharArray to array of octet
10/02/00 : 2.5 : Updated all attribute related stuff
21/03/00 : 2.6 : Change arguments for the write_attributes device operation
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
27/09/00 : 2.8 : Change the writable field type of the AttributeConfig structure
26/10/00 : 2.9 : Change the DevError structure fields
12/02/01 : 2.10 : Change in the ErrSeverity enum. Windows does not like enum member like ERROR
14/02/01 : 2.11 : Another change in the ErrSeverity enum. WARNING is now WARN
23/03/01 : 2.12 : Add anew attribute in the Device interface called adm_name


THIS IS A PSEUDO-IDL FILE DOCUMENTATION

Author:
JM.Chaize,
A.Gotz,
W-D.Klotz,
J.Meyer,
E.Taurel
Version:
2.12


Interface Index

CallBack
Generic client interface for asynchronous Device callbacks.
Consumer
Generic client interface for Monitor callbacks.
Device
The fundamental interface for all TANGO objects.
GroupAttribute
Local interface for grouped Attribute requests (locality constrained).
GroupDevice
Local interface for grouped Device requests (locality constrained).
Monitor
A System wide interface for monitoring devices/signals.
TclAutomate
A System wide interface to automating Tcl scripts.

Alias Index

AttributeConfigList
AttributeValueList
DevApplet
DevBoolean
DevCallBackDataList
DevCmdInfoList
DevDouble
DevErrorList
DevFloat
DevLong
DevSecurity
DevShort
DevString
DevULong
DevUShort
DevVarCharArray
DevVarDoubleArray
DevVarFloatArray
DevVarLongArray
DevVarShortArray
DevVarStringArray
DevVarULongArray
DevVarUShortArray
DeviceList

Enum Index

AttrDataFormat
AttrQuality
AttrWriteType
DevPriority
DevProtocol
DevSource
DevState
ErrSeverity
MonitorId

Struct Index

AttributeConfig
AttributeValue
DevCallBackData
DevCallBackInfo
DevCallBackInfoList
DevCmdInfo
DevError
DevInfo
DevVarDoubleStringArray
DevVarLongStringArray
MonitorInfo
ReportingClockInfo
ReportingEventInfo
TimeVal

Union Index

MonitorData

Exception Index

DevFailed

Aliases

AttributeConfigList
typedef sequence<AttributeConfig> AttributeConfigList;
AttributeValueList
typedef sequence<AttributeValue> AttributeValueList;
DevApplet
typedef sequence<octet> DevApplet;
DevBoolean
typedef boolean DevBoolean;
DevCallBackDataList
typedef sequence<DevCallBackData> DevCallBackDataList;
DevCmdInfoList
typedef sequence<DevCmdInfo> DevCmdInfoList;
DevDouble
typedef double DevDouble;
DevErrorList
typedef sequence<DevError> DevErrorList;
DevFloat
typedef float DevFloat;
DevLong
typedef long DevLong;
DevSecurity
typedef sequence<octet, 4> DevSecurity;
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;
DevVarFloatArray
typedef sequence<float> DevVarFloatArray;
DevVarLongArray
typedef sequence<long> DevVarLongArray;
DevVarShortArray
typedef sequence<short> DevVarShortArray;
DevVarStringArray
typedef sequence<string> DevVarStringArray;
DevVarULongArray
typedef sequence<unsigned long> DevVarULongArray;
DevVarUShortArray
typedef sequence<unsigned short> DevVarUShortArray;
DeviceList
typedef sequence<Device> DeviceList;

Enums

AttrDataFormat
enum AttrDataFormat
{
    SCALAR,
    SPECTRUM,
    IMAGE
};
AttrQuality
enum AttrQuality
{
    ATTR_VALID,
    ATTR_INVALID,
    ATTR_ALARM
};
AttrWriteType
enum AttrWriteType
{
    READ,
    READ_WITH_WRITE,
    WRITE,
    READ_WRITE
};
DevPriority
enum DevPriority
{
    NORMAL,
    OUT_OF_BAND
};
DevProtocol
enum DevProtocol
{
    IIOP,
    ONCRPCUDP,
    ONCRPCTCP
};
DevSource
enum DevSource
{
    DS,
    DC
};
DevState
enum DevState
{
    ON,
    OFF,
    CLOSE,
    OPEN,
    INSERT,
    EXTRACT,
    MOVING,
    STANDBY,
    FAULT,
    INIT,
    RUNNING,
    ALARM,
    DISABLE,
    UNKNOWN
};
ErrSeverity
enum ErrSeverity
{
    WARN,
    ERR,
    PANIC
};
MonitorId
enum MonitorId
{
    REPORTING_SIGNAL,
    REPORTING_CLOCK,
    REPORTING_ALARM,
    REPORTING_STATE_CHANGE,
    REPORTING_EVENT
};

Structs

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;
};
AttributeValue
struct AttributeValue
{
    any value;
    AttrQuality quality;
    TimeVal time;
    string name;
    long dim_x;
    long dim_y;
};
DevCallBackData
struct DevCallBackData
{
    long cb_id;
    any argout;
    long status;
    TimeVal time;
};
DevCallBackInfo
struct DevCallBackInfo
{
    DevCallBackData cb_data;
    any user_data;
};
DevCallBackInfoList
struct DevCallBackInfoList
{
    DevCallBackDataList cb_data;
    any user_data;
};
DevCmdInfo
struct DevCmdInfo
{
    string cmd_name;
    long cmd_tag;
    long in_type;
    long out_type;
    string in_type_desc;
    string out_type_desc;
};
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;
};
DevVarDoubleStringArray
struct DevVarDoubleStringArray
{
    DevVarDoubleArray dvalue;
    DevVarStringArray svalue;
};
DevVarLongStringArray
struct DevVarLongStringArray
{
    DevVarLongArray lvalue;
    DevVarStringArray svalue;
};
MonitorInfo
struct MonitorInfo
{
    MonitorId monitor_id;
    MonitorData mon_data;
};
ReportingClockInfo
struct ReportingClockInfo
{
    TimeVal elapsed;
    TimeVal tick_size;
    unsigned long tick_number;
};
ReportingEventInfo
struct ReportingEventInfo
{
    TimeVal stamp;
    long event_id;
    sequence<octet, 8> param;
};
TimeVal
struct TimeVal
{
    long tv_sec;
    long tv_usec;
    long tv_nsec;
};

Unions

MonitorData
union MonitorData switch(MonitorId)
{
case REPORTING_CLOCK: ReportingClockInfo rep_clock_info;
case REPORTING_EVENT: ReportingEventInfo rep_event_info;
default: string cb_reason;
};

Exceptions

DevFailed
exception DevFailed
{
    DevErrorList errors;
};

Generated by the ORBacus IDL-to-HTML translator