Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

baci.idl

Go to the documentation of this file.
00001 #ifndef _BACI_IDL_ 00002 #define _BACI_IDL_ 00003 00004 /******************************************************************************* 00005 * ALMA - Atacama Large Millimiter Array 00006 * (c) European Southern Observatory, 2002 00007 * Copyright by ESO (in the framework of the ALMA collaboration) 00008 * and Cosylab 2002, All rights reserved 00009 * 00010 * This library is free software; you can redistribute it and/or 00011 * modify it under the terms of the GNU Lesser General Public 00012 * License as published by the Free Software Foundation; either 00013 * version 2.1 of the License, or (at your option) any later version. 00014 * 00015 * This library is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00018 * Lesser General Public License for more details. 00019 * 00020 * You should have received a copy of the GNU Lesser General Public 00021 * License along with this library; if not, write to the Free Software 00022 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00023 * 00024 * 00025 * "@(#) $Id: baci.idl,v 1.8 2008/02/27 08:52:15 bjeram Exp $" 00026 * 00027 * who when what 00028 * -------- -------- ---------------------------------------------- 00029 * gchiozzi 2003-09-10 created 00030 */ 00031 00032 #include <CosProperty.idl> 00033 #include <acscomponent.idl> 00034 #include <acscommon.idl> 00035 #include <acserr.idl> 00036 00037 #pragma prefix "alma" 00038 00039 00040 module ACS { 00041 //need a forward declaration for this interface 00042 interface CharacteristicComponent; 00043 00050 typedef unsigned long Tag; 00051 00053 exception NoSuchCharacteristic { 00055 string characteristic_name; 00057 string component_name; 00058 }; 00059 00075 interface CharacteristicModel { 00076 00086 any get_characteristic_by_name (in string name) 00087 raises (NoSuchCharacteristic); 00088 00098 stringSeq find_characteristic (in string reg_exp); 00099 00106 CosPropertyService::PropertySet get_all_characteristics (); 00107 }; 00108 00114 interface Property : CharacteristicModel, OffShoot { 00115 00117 readonly attribute string name; 00118 00120 readonly attribute string characteristic_component_name; 00121 }; 00122 00128 struct PropertyDesc { 00129 00131 Property property_ref; 00132 00134 string name; 00135 00139 CosPropertyService::PropertySet characteristics; 00140 }; 00141 00143 typedef sequence <PropertyDesc> PropertyDescSeq; 00144 00151 struct CBDescIn { 00159 TimeInterval normal_timeout; 00160 00166 TimeInterval negotiable_timeout; 00167 00173 Tag id_tag; 00174 }; 00175 00180 struct CBDescOut { 00181 00185 TimeInterval estimated_timeout; 00186 00188 Tag id_tag; 00189 }; 00190 00198 interface Callback : OffShoot { 00199 00218 boolean negotiate (in TimeInterval time_to_transmit, 00219 in CBDescOut desc); 00220 }; 00221 00223 interface Subscription : OffShoot { 00224 00229 void suspend (); 00230 00236 void resume (); 00237 00242 void destroy (); 00243 }; 00244 00245 //Monitors//////////////////////////////////////////////////////////////////////////// 00246 00252 interface Monitor : Subscription { 00256 readonly attribute Time start_time; 00257 00270 void set_timer_trigger (in TimeInterval timer); 00271 00277 void get_timer_trigger (out TimeInterval timer); 00278 }; 00279 00289 interface Monitordouble : ACS::Monitor { 00290 00304 void set_value_trigger (in double delta, 00305 in boolean enable); 00306 00315 void get_value_trigger (out double delta, 00316 out boolean enable); 00317 }; 00318 00319 interface Monitorfloat : ACS::Monitor { 00320 00334 void set_value_trigger (in float delta, 00335 in boolean enable); 00336 00345 void get_value_trigger (out float delta, 00346 out boolean enable); 00347 }; 00348 00355 interface Monitorpattern : ACS::Monitor { 00356 00370 void set_value_trigger (in pattern delta, 00371 in boolean enable); 00372 00381 void get_value_trigger (out pattern delta, 00382 out boolean enable); 00383 }; 00384 00389 interface Monitorstring : ACS::Monitor { 00390 00404 void set_value_trigger (in string delta, 00405 in boolean enable); 00406 00415 void get_value_trigger (out string delta, 00416 out boolean enable); 00417 }; 00418 00425 interface MonitorstringSeq : ACS::Monitor { 00426 00440 void set_value_trigger (in stringSeq delta, 00441 in boolean enable); 00442 00451 void get_value_trigger (out stringSeq delta, 00452 out boolean enable); 00453 }; 00454 00464 interface Monitorlong : ACS::Monitor { 00465 00479 void set_value_trigger (in long delta, 00480 in boolean enable); 00481 00490 void get_value_trigger (out long delta, 00491 out boolean enable); 00492 }; 00493 00502 interface MonitorlongLong : ACS::Monitor { 00503 00517 void set_value_trigger (in longLong delta, 00518 in boolean enable); 00519 00528 void get_value_trigger (out longLong delta, 00529 out boolean enable); 00530 }; 00531 00540 interface MonitoruLongLong : ACS::Monitor { 00541 00555 void set_value_trigger (in uLongLong delta, 00556 in boolean enable); 00557 00566 void get_value_trigger (out uLongLong delta, 00567 out boolean enable); 00568 }; 00569 00570 00571 //Property interfaces/////////////////////////////////////////////////////////////////////////// 00572 00579 interface TypelessProperty : Property { 00580 00582 readonly attribute string description; 00583 00585 readonly attribute string format; 00586 00588 readonly attribute string units; 00589 00593 readonly attribute pattern resolution; 00594 }; 00595 00601 struct CharacteristicComponentDesc { 00602 00604 ACS::CharacteristicComponent characteristic_component_ref; 00605 00607 string name; 00608 00610 PropertyDescSeq properties; 00611 00613 CosPropertyService::PropertySet characteristics; 00614 }; 00615 00620 interface CharacteristicComponent : ACSComponent, CharacteristicModel { 00621 00628 CharacteristicComponentDesc descriptor (); 00629 }; 00630 00631 //Callbacks///////////////////////////////////////////////////////////////////////////////////// 00632 00650 interface CBvoid : Callback { 00663 oneway void working (in ACSErr::Completion c, 00664 in CBDescOut desc); 00665 00677 oneway void done (in ACSErr::Completion c, 00678 in CBDescOut desc); 00679 }; 00680 00698 interface CBpattern : Callback { 00699 00713 oneway void working (in pattern value, 00714 in ACSErr::Completion c, 00715 in CBDescOut desc); 00716 00729 oneway void done (in pattern value, 00730 in ACSErr::Completion c, 00731 in CBDescOut desc); 00732 }; 00733 00751 interface CBdouble : Callback { 00752 00766 oneway void working (in double value, 00767 in ACSErr::Completion c, 00768 in CBDescOut desc); 00769 00782 oneway void done (in double value, 00783 in ACSErr::Completion c, 00784 in CBDescOut desc); 00785 }; 00786 00804 interface CBfloat : Callback { 00805 00819 oneway void working (in float value, 00820 in ACSErr::Completion c, 00821 in CBDescOut desc); 00822 00835 oneway void done (in float value, 00836 in ACSErr::Completion c, 00837 in CBDescOut desc); 00838 }; 00839 00857 interface CBstring : Callback { 00858 00872 oneway void working (in string value, 00873 in ACSErr::Completion c, 00874 in CBDescOut desc); 00875 00888 oneway void done (in string value, 00889 in ACSErr::Completion c, 00890 in CBDescOut desc); 00891 }; 00892 00910 interface CBstringSeq : Callback { 00924 oneway void working (in stringSeq value, 00925 in ACSErr::Completion c, 00926 in CBDescOut desc); 00927 00940 oneway void done (in stringSeq value, 00941 in ACSErr::Completion c, 00942 in CBDescOut desc); 00943 }; 00944 00962 interface CBlong : Callback { 00963 00977 oneway void working (in long value, 00978 in ACSErr::Completion c, 00979 in CBDescOut desc); 00980 00993 oneway void done (in long value, 00994 in ACSErr::Completion c, 00995 in CBDescOut desc); 00996 }; 00997 01015 interface CBlongLong : Callback { 01016 01030 oneway void working (in longLong value, 01031 in ACSErr::Completion c, 01032 in CBDescOut desc); 01033 01046 oneway void done (in longLong value, 01047 in ACSErr::Completion c, 01048 in CBDescOut desc); 01049 }; 01050 01068 interface CBuLongLong : Callback { 01069 01083 oneway void working (in uLongLong value, 01084 in ACSErr::Completion c, 01085 in CBDescOut desc); 01086 01099 oneway void done (in uLongLong value, 01100 in ACSErr::Completion c, 01101 in CBDescOut desc); 01102 }; 01103 01121 interface CBdoubleSeq : Callback { 01122 01136 oneway void working (in doubleSeq value, 01137 in ACSErr::Completion c, 01138 in CBDescOut desc); 01139 01152 oneway void done (in doubleSeq value, 01153 in ACSErr::Completion c, 01154 in CBDescOut desc); 01155 }; 01156 01174 interface CBfloatSeq : Callback { 01175 01189 oneway void working (in floatSeq value, 01190 in ACSErr::Completion c, 01191 in CBDescOut desc); 01192 01205 oneway void done (in floatSeq value, 01206 in ACSErr::Completion c, 01207 in CBDescOut desc); 01208 }; 01209 01227 interface CBlongSeq : Callback { 01228 01242 oneway void working (in longSeq value, 01243 in ACSErr::Completion c, 01244 in CBDescOut desc); 01245 01258 oneway void done (in longSeq value, 01259 in ACSErr::Completion c, 01260 in CBDescOut desc); 01261 }; 01262 01263 //Alarms////////////////////////////////////////////////////////////////////////////////////////// 01264 01277 interface Alarmpattern : Callback { 01278 01282 oneway void alarm_raised (in pattern value, 01283 in ACSErr::Completion c, 01284 in CBDescOut desc); 01285 01287 oneway void alarm_cleared (in pattern value, 01288 in ACSErr::Completion c, 01289 in CBDescOut desc); 01290 }; 01291 01293 interface Alarmdouble : Callback { 01294 01296 oneway void alarm_raised (in double value, 01297 in ACSErr::Completion c, 01298 in CBDescOut desc); 01299 01301 oneway void alarm_cleared (in double value, 01302 in ACSErr::Completion c, 01303 in CBDescOut desc); 01304 }; 01305 01307 interface Alarmfloat : Callback { 01308 01310 oneway void alarm_raised (in float value, 01311 in ACSErr::Completion c, 01312 in CBDescOut desc); 01313 01315 oneway void alarm_cleared (in float value, 01316 in ACSErr::Completion c, 01317 in CBDescOut desc); 01318 }; 01319 01321 interface Alarmlong : Callback { 01322 01324 oneway void alarm_raised (in long value, 01325 in ACSErr::Completion c, 01326 in CBDescOut desc); 01327 01329 oneway void alarm_cleared (in long value, 01330 in ACSErr::Completion c, 01331 in CBDescOut desc); 01332 01333 }; 01334 01336 interface Alarmstring : Callback { 01337 01339 oneway void alarm_raised (in string value, 01340 in ACSErr::Completion c, 01341 in CBDescOut desc); 01342 01344 oneway void alarm_cleared (in string value, 01345 in ACSErr::Completion c, 01346 in CBDescOut desc); 01347 }; 01348 01350 interface AlarmstringSeq : Callback { 01351 01353 oneway void alarm_raised (in stringSeq value, 01354 in ACSErr::Completion c, 01355 in CBDescOut desc); 01356 01358 oneway void alarm_cleared (in stringSeq value, 01359 in ACSErr::Completion c, 01360 in CBDescOut desc); 01361 }; 01362 01380 interface Pdouble : TypelessProperty { 01381 01383 readonly attribute TimeInterval default_timer_trigger; 01384 01386 readonly attribute TimeInterval min_timer_trigger; 01387 01389 readonly attribute double min_delta_trigger; 01390 01392 readonly attribute double default_value; 01393 01395 readonly attribute double graph_min; 01396 01398 readonly attribute double graph_max; 01399 01401 readonly attribute double min_step; 01402 01407 double get_sync (out ACSErr::Completion c //The Completion structure of the request is returned as out parameter 01408 ); 01409 01415 void get_async (in CBdouble cb, 01416 in CBDescIn desc); 01417 01423 long get_history (in long n_last_values, //The number of last monitored values to return 01424 out doubleSeq vs, //a sequence returning the requested values in ascending temporal order 01425 out TimeSeq ts //a sequence returning the timestamps corresponding to the returned values 01426 ); 01427 01433 Monitordouble create_monitor (in CBdouble cb, 01434 in CBDescIn desc); 01435 01440 Monitordouble create_postponed_monitor (in Time start_time, 01441 in CBdouble cb, 01442 in CBDescIn desc); 01443 01445 }; 01446 01448 interface Pfloat : TypelessProperty { 01449 01451 readonly attribute TimeInterval default_timer_trigger; 01452 01454 readonly attribute TimeInterval min_timer_trigger; 01455 01457 readonly attribute float min_delta_trigger; 01458 01460 readonly attribute float default_value; 01461 01463 readonly attribute float graph_min; 01464 01466 readonly attribute float graph_max; 01467 01469 readonly attribute float min_step; 01470 01475 float get_sync (out ACSErr::Completion c //The Completion structure of the request is returned as out parameter 01476 ); 01477 01483 void get_async (in CBfloat cb, 01484 in CBDescIn desc); 01485 01491 long get_history (in long n_last_values, //The number of last monitored values to return 01492 out floatSeq vs, //a sequence returning the requested values in ascending temporal order 01493 out TimeSeq ts //a sequence returning the timestamps corresponding to the returned values 01494 ); 01495 01501 Monitorfloat create_monitor (in CBfloat cb, 01502 in CBDescIn desc); 01503 01508 Monitorfloat create_postponed_monitor (in Time start_time, 01509 in CBfloat cb, 01510 in CBDescIn desc); 01511 01513 }; 01514 01516 interface Plong : TypelessProperty { 01517 readonly attribute TimeInterval default_timer_trigger; 01518 readonly attribute TimeInterval min_timer_trigger; 01519 readonly attribute long min_delta_trigger; 01520 readonly attribute long default_value; 01521 readonly attribute long graph_min; 01522 readonly attribute long graph_max; 01523 readonly attribute long min_step; 01524 01527 long get_sync (out ACSErr::Completion c); 01528 01531 void get_async (in CBlong cb, 01532 in CBDescIn desc); 01533 01535 long get_history (in long n_last_values, 01536 out longSeq vs, 01537 out TimeSeq ts); 01538 01541 Monitorlong create_monitor (in CBlong cb, 01542 in CBDescIn desc); 01543 01545 Monitorlong create_postponed_monitor (in Time start_time, 01546 in CBlong cb, 01547 in CBDescIn desc); 01548 01550 }; 01551 01561 interface Ppattern : TypelessProperty { 01562 readonly attribute TimeInterval default_timer_trigger; 01563 readonly attribute TimeInterval min_timer_trigger; 01564 readonly attribute pattern default_value; 01565 01567 readonly attribute stringSeq bitDescription; 01568 01570 readonly attribute ConditionSeq whenSet; 01571 01573 readonly attribute ConditionSeq whenCleared; 01574 01576 pattern get_sync (out ACSErr::Completion c); 01577 01579 void get_async (in CBpattern cb, 01580 in CBDescIn desc); 01581 01583 long get_history (in long n_last_values, 01584 out patternSeq vs, 01585 out TimeSeq ts); 01586 01588 Monitorpattern create_monitor ( in CBpattern cb, 01589 in CBDescIn desc); 01590 01592 Monitorpattern create_postponed_monitor (in Time start_time, 01593 in CBpattern cb, 01594 in CBDescIn desc); 01595 01597 }; 01598 01604 interface Pstring : TypelessProperty { 01605 readonly attribute TimeInterval default_timer_trigger; 01606 readonly attribute TimeInterval min_timer_trigger; 01607 readonly attribute string default_value; 01608 01610 string get_sync (out ACSErr::Completion c); 01611 01613 void get_async (in CBstring cb, 01614 in CBDescIn desc); 01615 01617 long get_history (in long n_last_values, 01618 out stringSeq vs, 01619 out TimeSeq ts); 01620 01622 Monitor create_monitor (in CBstring cb, 01623 in CBDescIn desc); 01624 01626 Monitor create_postponed_monitor (in Time start_time, 01627 in CBstring cb, 01628 in CBDescIn desc); 01629 01631 }; 01632 01634 interface PstringSeq : TypelessProperty { 01635 readonly attribute TimeInterval default_timer_trigger; 01636 readonly attribute TimeInterval min_timer_trigger; 01637 readonly attribute stringSeq default_value; 01638 01640 stringSeq get_sync (out ACSErr::Completion c); 01641 01643 void get_async (in CBstringSeq cb, 01644 in CBDescIn desc); 01645 01647 long get_history (in long n_last_values, 01648 out stringSeqSeq vs, 01649 out TimeSeq ts); 01650 01652 MonitorstringSeq create_monitor (in CBstringSeq cb, 01653 in CBDescIn desc); 01654 01656 MonitorstringSeq create_postponed_monitor (in Time start_time, 01657 in CBstringSeq cb, 01658 in CBDescIn desc); 01659 01661 }; 01662 01669 interface PdoubleSeq : TypelessProperty { 01670 readonly attribute TimeInterval default_timer_trigger; 01671 readonly attribute TimeInterval min_timer_trigger; 01672 readonly attribute double min_delta_trigger; 01673 readonly attribute double default_value; 01674 readonly attribute double graph_min; 01675 readonly attribute double graph_max; 01676 readonly attribute double min_step; 01677 01679 doubleSeq get_sync (out ACSErr::Completion c); 01680 01682 void get_async (in CBdoubleSeq cb, 01683 in CBDescIn desc); 01684 01686 long get_history (in long n_last_values, 01687 out doubleSeqSeq vs, 01688 out TimeSeq ts); 01689 01691 Monitordouble create_monitor (in CBdoubleSeq cb, 01692 in CBDescIn desc); 01693 01695 Monitordouble create_postponed_monitor (in Time start_time, 01696 in CBdoubleSeq cb, 01697 in CBDescIn desc); 01698 01700 }; 01701 01702 01709 interface PfloatSeq : TypelessProperty { 01710 readonly attribute TimeInterval default_timer_trigger; 01711 readonly attribute TimeInterval min_timer_trigger; 01712 readonly attribute float min_delta_trigger; 01713 readonly attribute float default_value; 01714 readonly attribute float graph_min; 01715 readonly attribute float graph_max; 01716 readonly attribute float min_step; 01717 01719 floatSeq get_sync (out ACSErr::Completion c); 01720 01722 void get_async (in CBfloatSeq cb, 01723 in CBDescIn desc); 01724 01726 long get_history (in long n_last_values, 01727 out floatSeqSeq vs, 01728 out TimeSeq ts); 01729 01731 Monitorfloat create_monitor (in CBfloatSeq cb, 01732 in CBDescIn desc); 01733 01735 Monitorfloat create_postponed_monitor (in Time start_time, 01736 in CBfloatSeq cb, 01737 in CBDescIn desc); 01738 01740 }; 01741 01743 interface PlongSeq : TypelessProperty { 01744 readonly attribute TimeInterval default_timer_trigger; 01745 readonly attribute TimeInterval min_timer_trigger; 01746 readonly attribute long min_delta_trigger; 01747 readonly attribute long default_value; 01748 readonly attribute long graph_min; 01749 readonly attribute long graph_max; 01750 readonly attribute long min_step; 01751 01753 longSeq get_sync (out ACSErr::Completion c); 01754 01756 void get_async (in CBlongSeq cb, 01757 in CBDescIn desc); 01758 01760 long get_history (in long n_last_values, 01761 out longSeqSeq vs, 01762 out TimeSeq ts); 01763 01765 Monitorlong create_monitor (in CBlongSeq cb, 01766 in CBDescIn desc); 01767 01769 Monitorlong create_postponed_monitor (in Time start_time, 01770 in CBlongSeq cb, 01771 in CBDescIn desc); 01772 01774 }; 01775 01783 interface ROdouble : Pdouble { 01784 01786 readonly attribute double alarm_low_on; 01787 01789 readonly attribute double alarm_low_off; 01790 01792 readonly attribute double alarm_high_on; 01793 01795 readonly attribute double alarm_high_off; 01796 01805 Subscription new_subscription_Alarm (in Alarmdouble cb, 01806 in CBDescIn desc); 01807 01809 }; 01810 01818 interface RWdouble : Pdouble { 01819 01820 readonly attribute double min_value; 01821 readonly attribute double max_value; 01822 01827 ACSErr::Completion set_sync (in double value); 01828 01835 void set_async (in double value, 01836 in CBvoid cb, 01837 in CBDescIn desc); 01838 01843 void set_nonblocking (in double value); 01844 01846 void increment (in CBvoid cb, 01847 in CBDescIn desc); 01848 01850 void decrement (in CBvoid cb, 01851 in CBDescIn desc); 01852 01854 }; 01855 01857 interface ROfloat : Pfloat { 01858 01860 readonly attribute float alarm_low_on; 01861 01863 readonly attribute float alarm_low_off; 01864 01866 readonly attribute float alarm_high_on; 01867 01869 readonly attribute float alarm_high_off; 01870 01879 Subscription new_subscription_Alarm (in Alarmfloat cb, 01880 in CBDescIn desc); 01881 01883 }; 01884 01892 interface RWfloat : Pfloat { 01893 01894 readonly attribute float min_value; 01895 readonly attribute float max_value; 01896 01901 ACSErr::Completion set_sync (in float value); 01902 01909 void set_async (in float value, 01910 in CBvoid cb, 01911 in CBDescIn desc); 01912 01917 void set_nonblocking (in float value); 01918 01920 void increment (in CBvoid cb, 01921 in CBDescIn desc); 01922 01924 void decrement (in CBvoid cb, 01925 in CBDescIn desc); 01926 01928 }; 01929 01931 interface ROpattern : Ppattern { 01932 01934 readonly attribute pattern alarm_mask; 01935 01937 readonly attribute pattern alarm_trigger; 01938 01940 Subscription new_subscription_Alarm (in Alarmpattern cb, 01941 in CBDescIn desc); 01942 01944 }; 01945 01947 interface RWpattern : Ppattern { 01949 ACSErr::Completion set_sync (in pattern value); 01950 01952 void set_async (in pattern value, 01953 in CBvoid cb, 01954 in CBDescIn desc); 01955 01957 void set_nonblocking (in pattern value); 01958 01960 }; 01961 01963 interface RWstring : Pstring { 01965 ACSErr::Completion set_sync (in string value); 01966 01968 void set_async (in string value, 01969 in CBvoid cb, 01970 in CBDescIn desc); 01971 01973 void set_nonblocking (in string value); 01974 01976 }; 01977 01979 interface ROstring : Pstring { 01980 01982 Subscription new_subscription_Alarm (in Alarmstring cb, 01983 in CBDescIn desc); 01984 }; 01985 01987 interface ROstringSeq : PstringSeq { 01989 Subscription new_subscription_Alarm (in AlarmstringSeq cb, 01990 in CBDescIn desc); 01991 }; 01992 01994 interface ROdoubleSeq : PdoubleSeq { 01995 readonly attribute double alarm_low_on; 01996 readonly attribute double alarm_low_off; 01997 readonly attribute double alarm_high_on; 01998 readonly attribute double alarm_high_off; 01999 02001 Subscription new_subscription_Alarm (in Alarmdouble cb, 02002 in CBDescIn desc); 02003 02005 }; 02006 02008 interface RWdoubleSeq : PdoubleSeq { 02010 readonly attribute double min_value; 02011 02013 readonly attribute double max_value; 02014 02016 ACSErr::Completion set_sync (in doubleSeq value); 02017 02019 void set_async (in doubleSeq value, 02020 in CBvoid cb, 02021 in CBDescIn desc); 02022 02025 void set_nonblocking (in doubleSeq value); 02026 02028 void increment (in CBvoid cb, 02029 in CBDescIn desc); 02030 02032 void decrement (in CBvoid cb, 02033 in CBDescIn desc); 02034 02036 }; 02037 02039 interface ROfloatSeq : PfloatSeq { 02040 readonly attribute float alarm_low_on; 02041 readonly attribute float alarm_low_off; 02042 readonly attribute float alarm_high_on; 02043 readonly attribute float alarm_high_off; 02044 02046 Subscription new_subscription_Alarm (in Alarmfloat cb, 02047 in CBDescIn desc); 02048 02050 }; 02051 02053 interface RWfloatSeq : PfloatSeq { 02055 readonly attribute float min_value; 02056 02058 readonly attribute float max_value; 02059 02061 ACSErr::Completion set_sync (in floatSeq value); 02062 02064 void set_async (in floatSeq value, 02065 in CBvoid cb, 02066 in CBDescIn desc); 02067 02070 void set_nonblocking (in floatSeq value); 02071 02073 void increment (in CBvoid cb, 02074 in CBDescIn desc); 02075 02077 void decrement (in CBvoid cb, 02078 in CBDescIn desc); 02079 02081 }; 02082 02084 interface ROlongSeq : PlongSeq { 02086 readonly attribute long alarm_low_on; 02088 readonly attribute long alarm_low_off; 02090 readonly attribute long alarm_high_on; 02092 readonly attribute long alarm_high_off; 02093 02095 Subscription new_subscription_Alarm (in Alarmlong cb, 02096 in CBDescIn desc); 02097 02099 }; 02100 02102 interface RWlongSeq : PlongSeq { 02104 readonly attribute long min_value; 02105 02107 readonly attribute long max_value; 02108 02110 ACSErr::Completion set_sync (in longSeq value); 02111 02113 void set_async (in longSeq value, 02114 in CBvoid cb, 02115 in CBDescIn desc); 02116 02118 void set_nonblocking (in longSeq value); 02119 02121 void increment (in CBvoid cb, 02122 in CBDescIn desc); 02123 02125 void decrement (in CBvoid cb, 02126 in CBDescIn desc); 02127 02129 }; 02130 02132 interface ROlong : Plong { 02133 readonly attribute long alarm_low_on; 02134 readonly attribute long alarm_low_off; 02135 readonly attribute long alarm_high_on; 02136 readonly attribute long alarm_high_off; 02137 02140 Subscription new_subscription_Alarm (in Alarmlong cb, 02141 in CBDescIn desc); 02142 02144 }; 02145 02147 interface RWlong : Plong { 02149 ACSErr::Completion set_sync (in long value); 02150 02152 void set_async (in long value, 02153 in CBvoid cb, 02154 in CBDescIn desc); 02155 02157 void set_nonblocking (in long value); 02158 02163 void increment (in CBvoid cb, 02164 in CBDescIn desc); 02165 02170 void decrement (in CBvoid cb, 02171 in CBDescIn desc); 02172 02174 readonly attribute long max_value; 02175 readonly attribute long min_value; 02176 }; 02177 02178 /*********************** LONG LONG */ 02179 02180 02181 02182 02183 02184 interface PlongLong : TypelessProperty { 02185 readonly attribute TimeInterval default_timer_trigger; 02186 readonly attribute TimeInterval min_timer_trigger; 02187 readonly attribute longLong min_delta_trigger; 02188 readonly attribute longLong default_value; 02189 readonly attribute longLong graph_min; 02190 readonly attribute longLong graph_max; 02191 readonly attribute longLong min_step; 02192 02194 longLong get_sync (out ACSErr::Completion c); 02195 02197 void get_async (in CBlongLong cb, 02198 in CBDescIn desc); 02199 02201 long get_history (in long n_last_values, 02202 out longLongSeq vs, 02203 out TimeSeq ts); 02204 02206 MonitorlongLong create_monitor (in CBlongLong cb, 02207 in CBDescIn desc); 02208 02210 MonitorlongLong create_postponed_monitor (in Time start_time, 02211 in CBlongLong cb, 02212 in CBDescIn desc); 02213 02215 }; 02216 02217 interface AlarmlongLong : Callback { 02219 oneway void alarm_raised (in longLong value, 02220 in ACSErr::Completion c, 02221 in CBDescOut desc); 02222 02224 oneway void alarm_cleared (in longLong value, 02225 in ACSErr::Completion c, 02226 in CBDescOut desc); 02227 }; 02228 02229 interface ROlongLong : PlongLong { 02230 readonly attribute longLong alarm_low_on; 02231 readonly attribute longLong alarm_low_off; 02232 readonly attribute longLong alarm_high_on; 02233 readonly attribute longLong alarm_high_off; 02234 02236 Subscription new_subscription_Alarm (in AlarmlongLong cb, 02237 in CBDescIn desc); 02238 02241 }; 02242 02243 interface RWlongLong : PlongLong { 02245 ACSErr::Completion set_sync (in longLong value); 02246 02248 void set_async (in longLong value, 02249 in CBvoid cb, 02250 in CBDescIn desc); 02251 02253 void set_nonblocking (in longLong value); 02254 02259 void increment (in CBvoid cb, 02260 in CBDescIn desc); 02261 02264 void decrement (in CBvoid cb, 02265 in CBDescIn desc); 02266 02268 readonly attribute longLong max_value; 02269 readonly attribute longLong min_value; 02270 }; 02271 02272 /****** unsigned long long ***/ 02273 02274 02275 02276 interface PuLongLong : TypelessProperty { 02277 readonly attribute TimeInterval default_timer_trigger; 02278 readonly attribute TimeInterval min_timer_trigger; 02279 readonly attribute uLongLong min_delta_trigger; 02280 readonly attribute uLongLong default_value; 02281 readonly attribute uLongLong graph_min; 02282 readonly attribute uLongLong graph_max; 02283 readonly attribute uLongLong min_step; 02284 02286 uLongLong get_sync (out ACSErr::Completion c); 02287 02289 void get_async (in CBuLongLong cb, 02290 in CBDescIn desc); 02291 02293 long get_history (in long n_last_values, 02294 out uLongLongSeq vs, 02295 out TimeSeq ts); 02296 02298 MonitoruLongLong create_monitor (in CBuLongLong cb, 02299 in CBDescIn desc); 02300 02302 MonitoruLongLong create_postponed_monitor (in Time start_time, 02303 in CBuLongLong cb, 02304 in CBDescIn desc); 02305 02307 }; 02308 02309 interface AlarmuLongLong : Callback { 02310 02312 oneway void alarm_raised (in uLongLong value, 02313 in ACSErr::Completion c, 02314 in CBDescOut desc); 02315 02317 oneway void alarm_cleared (in uLongLong value, 02318 in ACSErr::Completion c, 02319 in CBDescOut desc); 02320 02321 }; 02322 02323 interface ROuLongLong : PuLongLong { 02324 readonly attribute uLongLong alarm_low_on; 02325 readonly attribute uLongLong alarm_low_off; 02326 readonly attribute uLongLong alarm_high_on; 02327 readonly attribute uLongLong alarm_high_off; 02328 02330 Subscription new_subscription_Alarm (in AlarmuLongLong cb, 02331 in CBDescIn desc); 02332 02335 }; 02336 02337 interface RWuLongLong : PuLongLong { 02338 02340 ACSErr::Completion set_sync (in uLongLong value); 02341 02343 void set_async (in uLongLong value, 02344 in CBvoid cb, 02345 in CBDescIn desc); 02346 02348 void set_nonblocking (in uLongLong value); 02349 02354 void increment (in CBvoid cb, 02355 in CBDescIn desc); 02356 02361 void decrement (in CBvoid cb, 02362 in CBDescIn desc); 02363 02365 readonly attribute uLongLong max_value; 02366 readonly attribute uLongLong min_value; 02367 }; 02368 }; 02369 02370 #endif /* _BACI_IDL_ */

Generated on Thu Apr 30 02:26:27 2009 for ACS IDL interfaces by doxygen 1.3.8