epan/dissectors/pidl/ C99 drsuapi
[wireshark-sm.git] / epan / dissectors / corba-idl / tango.idl
blob1bea6fcd4c4fcdb5375e38a61d41afb0d774d267
3 /**
4 * This is the TANGO interface defined in IDL.
5 * TANGO is an extension of old TACO.
6 * The fundamental idea of a device as a network object which
7 * has methods and data has been retained. However
8 * in TANGO objects will be real C++/Java objects which can be instantiated
9 * and accessed via their methods and data by the client as if they were local
10 * objects.
11 * Certain aspects of the old DSAPI application programmer's
12 * interface have been suppressed in order to simplify the client (e.g. import,
13 * free, data collector api).
14 * Features which have been considered missing in old TACO have been added
15 * e.g. signals, events and groups.
16 * Asynchronism and groups have been foreseen right from the beginning
17 * this time.
18 * This interface is defined in CORBA IDL.
19 * The fundamental interface is Device.
20 * All TANGO control objects will be of this type i.e. they will implement and
21 * offer the Device interface.
22 * New classes of control objects e.g. PowerSupply, will be created by
23 * wrapping the Device class appropriately.
24 * The wrapper class will hide the calls to the Device interface from
25 * the client so that the client will only see the wrapper class.
26 * All CORBA details will be hidden from the client as far as possible.
27 **/
29 module Tango
32 //-------------------------------------------------------------------------
34 // Basic types to transport command data
36 //-------------------------------------------------------------------------
38 typedef boolean DevBoolean;
39 typedef double DevDouble;
40 typedef float DevFloat;
41 typedef short DevShort;
42 typedef long DevLong;
43 typedef long long DevLong64;
44 typedef string DevString;
45 typedef octet DevUChar;
46 typedef unsigned short DevUShort;
47 typedef unsigned long DevULong;
48 typedef unsigned long long DevULong64;
50 typedef sequence<boolean> DevVarBooleanArray;
51 typedef sequence<double> DevVarDoubleArray;
52 typedef sequence<float> DevVarFloatArray;
53 typedef sequence<short> DevVarShortArray;
54 typedef sequence<long> DevVarLongArray;
55 typedef sequence<long long> DevVarLong64Array;
56 typedef sequence<octet> DevVarCharArray;
57 typedef sequence<string> DevVarStringArray;
58 typedef sequence<unsigned short> DevVarUShortArray;
59 typedef sequence<unsigned long> DevVarULongArray;
60 typedef sequence<unsigned long long> DevVarULong64Array;
63 struct DevVarLongStringArray
65 DevVarLongArray lvalue;
66 DevVarStringArray svalue;
69 struct DevVarDoubleStringArray
71 DevVarDoubleArray dvalue;
72 DevVarStringArray svalue;
75 struct DevEncoded
77 DevString encoded_format;
78 DevVarCharArray encoded_data;
81 typedef sequence<DevEncoded> DevVarEncodedArray;
83 //-------------------------------------------------------------------------
85 // Data types for client identification
87 //-------------------------------------------------------------------------
89 typedef unsigned long long JavaUUID[2];
90 typedef unsigned long CppClntIdent;
92 struct JavaClntIdent
94 string MainClass;
95 JavaUUID uuid;
98 enum LockerLanguage { CPP, JAVA };
100 union ClntIdent switch (LockerLanguage)
102 case CPP:
103 CppClntIdent cpp_clnt;
104 case JAVA:
105 JavaClntIdent java_clnt;
108 //-------------------------------------------------------------------------
110 // Some enumerations
112 //-------------------------------------------------------------------------
115 enum AttrQuality
117 ATTR_VALID,
118 ATTR_INVALID,
119 ATTR_ALARM,
120 ATTR_CHANGING,
121 ATTR_WARNING
124 enum AttrWriteType
126 READ,
127 READ_WITH_WRITE,
128 WRITE,
129 READ_WRITE,
130 WT_UNKNOWN
133 enum AttrDataFormat
135 SCALAR,
136 SPECTRUM,
137 IMAGE,
138 FMT_UNKNOWN
141 enum DevSource
143 DEV,
144 CACHE,
145 CACHE_DEV
148 enum ErrSeverity
150 WARN,
151 ERR,
152 PANIC
155 enum DevState
158 OFF,
159 CLOSE,
160 OPEN,
161 INSERT,
162 EXTRACT,
163 MOVING,
164 STANDBY,
165 FAULT,
166 INIT,
167 RUNNING,
168 ALARM,
169 DISABLE,
170 UNKNOWN
173 enum DispLevel
175 OPERATOR,
176 EXPERT,
177 DL_UNKNOWN
180 typedef sequence<DevState> DevVarStateArray;
182 //-------------------------------------------------------------------------
184 // Some miscellaneous structures definitions
186 //-------------------------------------------------------------------------
188 struct TimeVal
190 long tv_sec;
191 long tv_usec;
192 long tv_nsec;
196 //-------------------------------------------------------------------------
198 // For the command query device operation
200 //-------------------------------------------------------------------------
203 struct DevCmdInfo
205 string cmd_name;
206 long cmd_tag;
207 long in_type;
208 long out_type;
209 string in_type_desc;
210 string out_type_desc;
213 struct DevCmdInfo_2
215 string cmd_name;
216 DispLevel level;
217 long cmd_tag;
218 long in_type;
219 long out_type;
220 string in_type_desc;
221 string out_type_desc;
224 typedef sequence<DevCmdInfo> DevCmdInfoList;
225 typedef sequence<DevCmdInfo_2> DevCmdInfoList_2;
228 //-------------------------------------------------------------------------
230 // For the DevFailed exceptions
232 //-------------------------------------------------------------------------
234 struct DevError
236 string reason;
237 ErrSeverity severity;
238 string desc;
239 string origin;
242 typedef sequence<DevError> DevErrorList;
244 struct NamedDevError
246 string name;
247 long index_in_call;
248 DevErrorList err_list;
251 typedef sequence<NamedDevError> NamedDevErrorList;
254 exception DevFailed
256 DevErrorList errors;
259 exception MultiDevFailed
261 NamedDevErrorList errors;
265 //-------------------------------------------------------------------------
267 // For attribute management
269 //-------------------------------------------------------------------------
272 struct AttributeConfig
274 string name;
275 AttrWriteType writable;
276 AttrDataFormat data_format;
277 long data_type;
278 long max_dim_x;
279 long max_dim_y;
280 string description;
281 string label;
282 string unit;
283 string standard_unit;
284 string display_unit;
285 string format;
286 string min_value;
287 string max_value;
288 string min_alarm;
289 string max_alarm;
290 string writable_attr_name;
291 DevVarStringArray extensions;
294 struct AttributeConfig_2
296 string name;
297 AttrWriteType writable;
298 AttrDataFormat data_format;
299 long data_type;
300 long max_dim_x;
301 long max_dim_y;
302 string description;
303 string label;
304 string unit;
305 string standard_unit;
306 string display_unit;
307 string format;
308 string min_value;
309 string max_value;
310 string min_alarm;
311 string max_alarm;
312 string writable_attr_name;
313 DispLevel level;
314 DevVarStringArray extensions;
317 struct AttributeValue
319 any value;
320 AttrQuality quality;
321 TimeVal time;
322 string name;
323 long dim_x;
324 long dim_y;
327 struct AttributeDim
329 long dim_x;
330 long dim_y;
333 struct AttributeValue_3
335 any value;
336 AttrQuality quality;
337 TimeVal time;
338 string name;
339 AttributeDim r_dim;
340 AttributeDim w_dim;
341 DevErrorList err_list;
344 enum AttributeDataType
346 ATT_BOOL,
347 ATT_SHORT,
348 ATT_LONG,
349 ATT_LONG64,
350 ATT_FLOAT,
351 ATT_DOUBLE,
352 ATT_UCHAR,
353 ATT_USHORT,
354 ATT_ULONG,
355 ATT_ULONG64,
356 ATT_STRING,
357 ATT_STATE,
358 DEVICE_STATE,
359 ATT_ENCODED,
360 ATT_NO_DATA
363 union AttrValUnion switch (AttributeDataType)
365 case ATT_BOOL:
366 DevVarBooleanArray bool_att_value;
367 case ATT_SHORT:
368 DevVarShortArray short_att_value;
369 case ATT_LONG:
370 DevVarLongArray long_att_value;
371 case ATT_LONG64:
372 DevVarLong64Array long64_att_value;
373 case ATT_FLOAT:
374 DevVarFloatArray float_att_value;
375 case ATT_DOUBLE:
376 DevVarDoubleArray double_att_value;
377 case ATT_UCHAR:
378 DevVarCharArray uchar_att_value;
379 case ATT_USHORT:
380 DevVarUShortArray ushort_att_value;
381 case ATT_ULONG:
382 DevVarULongArray ulong_att_value;
383 case ATT_ULONG64:
384 DevVarULong64Array ulong64_att_value;
385 case ATT_STRING:
386 DevVarStringArray string_att_value;
387 case ATT_STATE:
388 DevVarStateArray state_att_value;
389 case DEVICE_STATE:
390 DevState dev_state_att;
391 case ATT_ENCODED:
392 DevVarEncodedArray encoded_att_value;
393 case ATT_NO_DATA:
394 DevBoolean union_no_data;
397 struct AttributeValue_4
399 AttrValUnion value;
400 AttrQuality quality;
401 AttrDataFormat data_format;
402 TimeVal time;
403 string name;
404 AttributeDim r_dim;
405 AttributeDim w_dim;
406 DevErrorList err_list;
409 struct AttributeValue_5
411 AttrValUnion value;
412 AttrQuality quality;
413 AttrDataFormat data_format;
414 long data_type;
415 TimeVal time;
416 string name;
417 AttributeDim r_dim;
418 AttributeDim w_dim;
419 DevErrorList err_list;
422 struct ChangeEventProp
424 string rel_change;
425 string abs_change;
426 DevVarStringArray extensions;
429 struct PeriodicEventProp
431 string period;
432 DevVarStringArray extensions;
435 struct ArchiveEventProp
437 string rel_change;
438 string abs_change;
439 string period;
440 DevVarStringArray extensions;
443 struct EventProperties
445 ChangeEventProp ch_event;
446 PeriodicEventProp per_event;
447 ArchiveEventProp arch_event;
450 struct AttributeAlarm
452 string min_alarm;
453 string max_alarm;
454 string min_warning;
455 string max_warning;
456 string delta_t;
457 string delta_val;
458 DevVarStringArray extensions;
461 struct AttributeConfig_3
463 string name;
464 AttrWriteType writable;
465 AttrDataFormat data_format;
466 long data_type;
467 long max_dim_x;
468 long max_dim_y;
469 string description;
470 string label;
471 string unit;
472 string standard_unit;
473 string display_unit;
474 string format;
475 string min_value;
476 string max_value;
477 string writable_attr_name;
478 DispLevel level;
479 AttributeAlarm att_alarm;
480 EventProperties event_prop;
481 DevVarStringArray extensions;
482 DevVarStringArray sys_extensions;
485 struct AttributeConfig_5
487 string name;
488 AttrWriteType writable;
489 AttrDataFormat data_format;
490 long data_type;
491 boolean memorized;
492 boolean mem_init;
493 long max_dim_x;
494 long max_dim_y;
495 string description;
496 string label;
497 string unit;
498 string standard_unit;
499 string display_unit;
500 string format;
501 string min_value;
502 string max_value;
503 string writable_attr_name;
504 DispLevel level;
505 string root_attr_name;
506 DevVarStringArray enum_labels;
507 AttributeAlarm att_alarm;
508 EventProperties event_prop;
509 DevVarStringArray extensions;
510 DevVarStringArray sys_extensions;
513 typedef sequence<AttributeConfig> AttributeConfigList;
514 typedef sequence<AttributeConfig_2> AttributeConfigList_2;
515 typedef sequence<AttributeConfig_3> AttributeConfigList_3;
516 typedef sequence<AttributeConfig_5> AttributeConfigList_5;
517 typedef sequence<AttributeValue> AttributeValueList;
518 typedef sequence<AttributeValue_3> AttributeValueList_3;
519 typedef sequence<AttributeValue_4> AttributeValueList_4;
520 typedef sequence<AttributeValue_5> AttributeValueList_5;
522 //-------------------------------------------------------------------------
524 // For pipe management
526 //-------------------------------------------------------------------------
528 enum PipeWriteType
530 PIPE_READ,
531 PIPE_READ_WRITE,
532 PIPE_WT_UNKNOWN
535 struct PipeConfig
537 string name;
538 string description;
539 string label;
540 DispLevel level;
541 PipeWriteType writable;
542 DevVarStringArray extensions;
545 typedef sequence<PipeConfig> PipeConfigList;
547 struct DevPipeDataElt;
548 typedef sequence<DevPipeDataElt> DevVarPipeDataEltArray;
550 struct DevPipeDataElt
552 string name;
553 AttrValUnion value;
554 DevVarPipeDataEltArray inner_blob;
555 string inner_blob_name;
558 struct DevPipeBlob
560 string name;
561 DevVarPipeDataEltArray blob_data;
564 struct DevPipeData
566 string name;
567 TimeVal time;
568 DevPipeBlob data_blob;
571 //-------------------------------------------------------------------------
573 // For data ready event
575 //-------------------------------------------------------------------------
577 struct AttDataReady
579 string name;
580 long data_type;
581 long ctr;
585 //-------------------------------------------------------------------------
587 // For device interface change event
589 //-------------------------------------------------------------------------
591 struct DevIntrChange
593 boolean dev_started;
594 DevCmdInfoList_2 cmds;
595 AttributeConfigList_5 atts;
598 //-------------------------------------------------------------------------
600 // For device interface info operation
602 //-------------------------------------------------------------------------
604 struct DevInfo
606 string dev_class;
607 string server_id;
608 string server_host;
609 long server_version;
610 string doc_url;
613 struct DevInfo_3
615 string dev_class;
616 string server_id;
617 string server_host;
618 long server_version;
619 string doc_url;
620 string dev_type;
623 //-------------------------------------------------------------------------
625 // For command and attribute history
627 //-------------------------------------------------------------------------
629 struct DevCmdHistory
631 TimeVal time;
632 boolean cmd_failed;
633 any value;
634 DevErrorList errors;
637 typedef sequence<DevCmdHistory> DevCmdHistoryList;
639 struct DevAttrHistory
641 boolean attr_failed;
642 AttributeValue value;
643 DevErrorList errors;
646 struct DevAttrHistory_3
648 boolean attr_failed;
649 AttributeValue_3 value;
652 struct EltInArray
654 long start;
655 long nb_elt;
658 typedef sequence<EltInArray> EltInArrayList;
659 typedef sequence<TimeVal> TimeValList;
660 typedef sequence<AttrQuality> AttrQualityList;
661 typedef sequence<AttributeDim> AttributeDimList;
662 typedef sequence<DevErrorList> DevErrorListList;
664 struct DevAttrHistory_4
666 string name;
667 TimeValList dates;
668 any value;
669 AttrQualityList quals;
670 EltInArrayList quals_array;
671 AttributeDimList r_dims;
672 EltInArrayList r_dims_array;
673 AttributeDimList w_dims;
674 EltInArrayList w_dims_array;
675 DevErrorListList errors;
676 EltInArrayList errors_array;
679 struct DevAttrHistory_5
681 string name;
682 AttrDataFormat data_format;
683 long data_type;
684 TimeValList dates;
685 any value;
686 AttrQualityList quals;
687 EltInArrayList quals_array;
688 AttributeDimList r_dims;
689 EltInArrayList r_dims_array;
690 AttributeDimList w_dims;
691 EltInArrayList w_dims_array;
692 DevErrorListList errors;
693 EltInArrayList errors_array;
696 struct DevCmdHistory_4
698 TimeValList dates;
699 any value;
700 AttributeDimList dims;
701 EltInArrayList dims_array;
702 DevErrorListList errors;
703 EltInArrayList errors_array;
704 long cmd_type;
707 typedef sequence<DevAttrHistory> DevAttrHistoryList;
708 typedef sequence<DevAttrHistory_3> DevAttrHistoryList_3;
710 //-------------------------------------------------------------------------
712 // For ZMQ event system
714 //-------------------------------------------------------------------------
716 struct ZmqCallInfo
718 long version;
719 unsigned long ctr;
720 string method_name;
721 DevVarCharArray oid;
722 boolean call_is_except;
725 //-------------------------------------------------------------------------
727 // Include the device interface
729 //-------------------------------------------------------------------------
736 * The fundamental interface for all TANGO objects.
737 * Each Device is a network object which can be accessed locally or via
738 * network.
739 * The network protocol on the wire will be IIOP.
740 * The Device interface implements all the basic functions needed for doing
741 * generic synchronous and asynchronous I/O on a device.
742 * A Device object has data and actions.
743 * Data are represented in the form of Attributes.
744 * Actions are represented in the form of Commands.
745 * The CORBA Device interface offers attributes and methods to access
746 * the attributes and commands.
747 * A client will either use these methods directly from C++ or Java or access
748 * them via a wrapper class.
749 * The Device interface describes only the remote network interface.
750 * Implementation features like threads, command security, priority
751 * etc. are dealt with in server side of the device server model.
754 interface Device
758 * name (readonly) - unique ascii identifier
760 readonly attribute string name;
762 * description (readonly) - general description of device
764 readonly attribute string description;
766 * state (readonly) - device state
768 readonly attribute DevState state;
770 * status (readonly) - device state as ascii string
772 readonly attribute string status;
774 * adm_name (readonly) - administrator device unique ascii identifier
776 readonly attribute string adm_name;
779 * execute a command on a device synchronously with
780 * one input parameter and one output parameter
781 @param command ascii string e.g. "On"
782 @param argin command input parameter e.g. float
783 @return command result.
785 any command_inout(in string command, in any argin) raises(DevFailed);
789 * read the configuration for a variable list of attributes from a device
790 @param name list of attribute names to read
791 @return list of attribute configurations read
793 AttributeConfigList get_attribute_config(in DevVarStringArray names) raises(DevFailed);
797 * set the configuration for a variable list of attributes from the device
798 @param new_conf list of attribute configuration to be set
799 @return nothing
801 void set_attribute_config(in AttributeConfigList new_conf) raises(DevFailed);
805 * read a variable list of attributes from a device
806 @param name list of attribute names to read
807 @return list of attribute values read
809 AttributeValueList read_attributes(in DevVarStringArray names) raises(DevFailed);
814 * write a variable list of attributes to a device
815 @param values list of attribute values to write
816 @return nothing
818 void write_attributes(in AttributeValueList values) raises(DevFailed);
821 * ping a device to see if it alive
823 void ping() raises(DevFailed);
826 * read list of last N commands executed by clients
827 @param number of commands to return
828 @return list of command and clients
830 DevVarStringArray black_box(in long n) raises(DevFailed);
834 * return general information about object e.g. class, type, ...
835 @return device info
837 DevInfo info() raises(DevFailed);
841 * query device to see what commands it supports
842 @return list of commands and their types
844 DevCmdInfoList command_list_query() raises(DevFailed);
848 * query device to see command argument
849 @return command and its types
850 @param command name
852 DevCmdInfo command_query(in string command) raises(DevFailed);
856 //-------------------------------------------------------------------------
858 // The Device_2 interface
860 //-------------------------------------------------------------------------
864 * A new release of the basic Device interface.
865 * This new release has been introduced mainly to support Tango device server
866 * internal polling. Inheritance is used between this new release and the
867 * old one. This release mainly defines a new release of the command_inout and
868 * read_attributes calls with a new parameter. It also add a new call to read
869 * command or attributes result history.
872 interface Device_2: Device
875 * Execute a command on a device synchronously with
876 * one input parameter and one output parameter
877 @param command ascii string e.g. "On"
878 @param argin command input parameter e.g. float
879 @param source The data source. Used to specify if the command result must be
880 read from the polling cache buffer or from the device itself
881 @return command result.
883 any command_inout_2(in string command,
884 in any argin,
885 in DevSource source) raises(DevFailed);
888 * Read a variable list of attributes from a device
889 @param name list of attribute names to read
890 @param source The data source. Used to specify if the command result must be
891 read from the polling cache buffer or from the device itself
892 @return list of attribute values read
894 AttributeValueList read_attributes_2(in DevVarStringArray names,
895 in DevSource source) raises(DevFailed);
898 * Read the configuration for a variable list of attributes from a device.
899 * Compared to the Device interface, the attribute configuration has one more
900 * field (The display level)
901 @param name list of attribute names to read
902 @return list of attribute configurations read
904 AttributeConfigList_2 get_attribute_config_2(in DevVarStringArray names) raises(DevFailed);
907 * Query device to see what commands it supports.
908 * Compared to the Device interface, the command configuration has one more
909 * field (The display level)
910 @return list of commands and their types
912 DevCmdInfoList_2 command_list_query_2() raises(DevFailed);
915 * Query device to see command argument.
916 * Compared to the Device interface, the command configuration has one more
917 * field (The display level)
918 @return command and its types
919 @param command name
921 DevCmdInfo_2 command_query_2(in string command) raises(DevFailed);
924 * Get command history buffer.
925 * Return command result history for polled command
926 @param command ascii string e.g. "On"
927 @param n The history depth
928 @return command history.
930 DevCmdHistoryList command_inout_history_2(in string command,
931 in long n) raises (DevFailed);
934 * Get attribute value history buffer.
935 * Return attribute value history for polled attribute
936 @param name ascii string
937 @param n The history depth
938 @return attribute value history.
940 DevAttrHistoryList read_attribute_history_2(in string name,
941 in long n) raises (DevFailed);
944 //-------------------------------------------------------------------------
946 // The Device_3 interface (corresponding to Tango V5)
948 //-------------------------------------------------------------------------
950 interface Device_3: Device_2
954 * Read a variable list of attributes from a device
955 @param name list of attribute names to read
956 @param source The data source. Used to specify if the command result must be
957 read from the polling cache buffer or from the device itself
958 @return list of attribute values read
960 AttributeValueList_3 read_attributes_3(in DevVarStringArray names,
961 in DevSource source) raises(DevFailed);
964 * write a variable list of attributes to a device
965 @param values list of attribute values to write
966 @return nothing
968 void write_attributes_3(in AttributeValueList values) raises(DevFailed,MultiDevFailed);
970 * Get attribute value history buffer.
971 * Return attribute value history for polled attribute
972 @param name ascii string
973 @param n The history depth
974 @return attribute value history.
976 DevAttrHistoryList_3 read_attribute_history_3(in string name,
977 in long n) raises (DevFailed);
980 * return general information about object e.g. class, type, ...
981 @return device info
983 DevInfo_3 info_3() raises(DevFailed);
986 * Read the configuration for a variable list of attributes from a device.
987 * Compared to the Device interface, the attribute configuration has one more
988 * field (The display level)
989 @param name list of attribute names to read
990 @return list of attribute configurations read
992 AttributeConfigList_3 get_attribute_config_3(in DevVarStringArray names) raises(DevFailed);
995 * set the configuration for a variable list of attributes from the device
996 @param new_conf list of attribute configuration to be set
997 @return nothing
999 void set_attribute_config_3(in AttributeConfigList_3 new_conf) raises(DevFailed);
1002 //-------------------------------------------------------------------------
1004 // The Device_4 interface (corresponding to Tango V7)
1006 //-------------------------------------------------------------------------
1008 interface Device_4: Device_3
1011 * Get attribute value history buffer.
1012 * Return attribute value history for polled attribute
1013 @param name ascii string
1014 @param n The history depth
1015 @return attribute value history.
1017 DevAttrHistory_4 read_attribute_history_4(in string name,
1018 in long n) raises (DevFailed);
1021 * Get command history buffer.
1022 * Return command result history for polled command
1023 @param command ascii string e.g. "On"
1024 @param n The history depth
1025 @return command history.
1027 DevCmdHistory_4 command_inout_history_4(in string command,
1028 in long n) raises (DevFailed);
1031 * Execute a command on a device synchronously with
1032 * one input parameter and one output parameter
1033 @param command ascii string e.g. "On"
1034 @param argin command input parameter e.g. float
1035 @param source The data source. Used to specify if the command result must be
1036 read from the polling cache buffer or from the device itself
1037 @param cl_ident The client identificator
1038 @return command result.
1040 any command_inout_4(in string command,
1041 in any argin,
1042 in DevSource source,
1043 in ClntIdent cl_ident) raises(DevFailed);
1046 * Read a variable list of attributes from a device
1047 @param name list of attribute names to read
1048 @param source The data source. Used to specify if the command result must be
1049 read from the polling cache buffer or from the device itself
1050 @return list of attribute values read
1052 AttributeValueList_4 read_attributes_4(in DevVarStringArray names,
1053 in DevSource source,in ClntIdent cl_ident) raises(DevFailed);
1056 * write a variable list of attributes to a device
1057 @param values list of attribute values to write
1058 @return nothing
1060 void write_attributes_4(in AttributeValueList_4 values,in ClntIdent cl_ident) raises(DevFailed,MultiDevFailed);
1063 * set the configuration for a variable list of attributes from the device
1064 @param new_conf list of attribute configuration to be set
1065 @return nothing
1067 void set_attribute_config_4(in AttributeConfigList_3 new_conf,in ClntIdent cl_ident) raises(DevFailed);
1070 * Write then Read device attribute(s)
1071 @param values List of attribute values to be written
1072 @param cl_ident The client identificator
1073 @return Attributes value read
1075 AttributeValueList_4 write_read_attributes_4(in AttributeValueList_4 values,in ClntIdent cl_ident)
1076 raises(DevFailed,MultiDevFailed);
1079 //-------------------------------------------------------------------------
1081 // The Device_5 interface (corresponding to Tango V9)
1083 //-------------------------------------------------------------------------
1085 interface Device_5: Device_4
1088 * Read the configuration for a variable list of attributes from a device.
1089 * Compared to the Device interface, the attribute configuration has one more
1090 * field (The display level)
1091 @param name list of attribute names to read
1092 @return list of attribute configurations read
1094 AttributeConfigList_5 get_attribute_config_5(in DevVarStringArray names) raises(DevFailed);
1097 * set the configuration for a variable list of attributes from the device
1098 @param new_conf list of attribute configuration to be set
1099 @return nothing
1101 void set_attribute_config_5(in AttributeConfigList_5 new_conf,in ClntIdent cl_ident) raises(DevFailed);
1104 * Read a variable list of attributes from a device
1105 @param name list of attribute names to read
1106 @param source The data source. Used to specify if the command result must be
1107 read from the polling cache buffer or from the device itself
1108 @return list of attribute values read
1110 AttributeValueList_5 read_attributes_5(in DevVarStringArray names,
1111 in DevSource source,in ClntIdent cl_ident) raises(DevFailed);
1114 * Write then Read device attribute(s)
1115 @param values List of attribute values to be written
1116 @param cl_ident The client identificator
1117 @return Attributes value read
1119 AttributeValueList_5 write_read_attributes_5(in AttributeValueList_4 values,in DevVarStringArray r_names,in ClntIdent cl_ident)
1120 raises(DevFailed,MultiDevFailed);
1123 * Get attribute value history buffer.
1124 * Return attribute value history for polled attribute
1125 @param name ascii string
1126 @param n The history depth
1127 @return attribute value history.
1129 DevAttrHistory_5 read_attribute_history_5(in string name,
1130 in long n) raises (DevFailed);
1133 * Read the configuration for a variable list of pipes from a device.
1134 @param names list of pipe names to read
1135 @return list of pipe configurations read
1137 PipeConfigList get_pipe_config_5(in DevVarStringArray names) raises(DevFailed);
1140 * set the configuration for a variable list of pipes from the device
1141 @param new_conf list of pipe configuration to be set
1142 @return nothing
1144 void set_pipe_config_5(in PipeConfigList new_conf,in ClntIdent cl_ident) raises(DevFailed);
1147 * Read a pipe from a device
1148 @param name pipe name
1149 @param cl_ident client identifier
1150 @return pipe value
1152 DevPipeData read_pipe_5(in string name,in ClntIdent cl_ident) raises(DevFailed);
1155 * write a pipe to a device
1156 @param value new pipe value
1157 @param cl_ident client identifier
1158 @return nothing
1160 void write_pipe_5(in DevPipeData value,in ClntIdent cl_ident) raises(DevFailed);
1163 * write then read a pipe to a device
1164 @param value new pipe value
1165 @param cl_ident client identifier
1166 @return pipe value
1168 DevPipeData write_read_pipe_5(in DevPipeData value,in ClntIdent cl_ident) raises(DevFailed);
1172 }; /* module tango */