• Classes
  • Namespaces
  • Files
  • Related Pages
  • File List
  • File Members

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.12 2011/09/02 14:54:34 hsommer 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         
00045     exception NoSuchCharacteristic {
00047     string characteristic_name;
00049     string component_name;
00050     };
00051     
00067     interface CharacteristicModel {
00068     
00078     any get_characteristic_by_name (in string name)                     
00079         raises (NoSuchCharacteristic);
00080     
00090     stringSeq find_characteristic (in string reg_exp);
00091     
00098     CosPropertyService::PropertySet get_all_characteristics ();
00099     };
00100     
00106     interface Property : CharacteristicModel, OffShoot {
00107 
00109     readonly attribute string name;
00110     
00112     readonly attribute string characteristic_component_name;
00113     };
00114     
00120     struct PropertyDesc {
00121         
00123         Property property_ref;
00124         
00126         string name;
00127         
00131         CosPropertyService::PropertySet characteristics;
00132     };
00133     
00135     typedef sequence <PropertyDesc> PropertyDescSeq;
00136     
00137         
00139     interface Subscription : OffShoot {
00140     
00145     void suspend ();
00146                         
00152     void resume ();
00153     
00158     void destroy ();
00159     };
00160 
00161     //Monitors////////////////////////////////////////////////////////////////////////////
00162     
00168     interface Monitor : Subscription {
00172     readonly attribute Time start_time;
00173                 
00186     void set_timer_trigger (in TimeInterval timer);
00187                         
00193     void get_timer_trigger (out TimeInterval timer);
00194     };
00195         
00205     interface Monitordouble : ACS::Monitor {
00206     
00220     void set_value_trigger (in double delta, 
00221                             in boolean enable);
00222                         
00231     void get_value_trigger (out double delta,
00232                             out boolean enable);
00233 
00247     void set_value_percent_trigger (in double delta, 
00248                             in boolean enable);
00249                         
00258     void get_value_percent_trigger (out double delta,
00259                             out boolean enable);
00260     };
00261     
00262     interface Monitorfloat : ACS::Monitor {
00263     
00277     void set_value_trigger (in float delta, 
00278                             in boolean enable);
00279                         
00288     void get_value_trigger (out float delta,
00289                             out boolean enable);
00290 
00304     void set_value_percent_trigger (in double delta, 
00305                             in boolean enable);
00306                         
00315     void get_value_percent_trigger (out double delta,
00316                             out boolean enable);
00317     };
00318 
00325     interface Monitorpattern : ACS::Monitor {
00326     
00340     void set_value_trigger (in pattern delta,
00341                             in boolean enable);
00342     
00351     void get_value_trigger (out pattern delta,
00352                             out boolean enable);
00353 
00367     void set_value_percent_trigger (in double delta, 
00368                             in boolean enable);
00369                         
00378     void get_value_percent_trigger (out double delta,
00379                             out boolean enable);
00380     };
00381 
00386     interface Monitorstring : ACS::Monitor {
00387         
00401     void set_value_trigger (in string delta,
00402                             in boolean enable);
00403                         
00412     void get_value_trigger (out string delta,
00413                             out boolean enable);
00414 
00428     void set_value_percent_trigger (in double delta, 
00429                             in boolean enable);
00430                         
00439     void get_value_percent_trigger (out double delta,
00440                             out boolean enable);
00441     };
00442 
00449     interface MonitorstringSeq : ACS::Monitor {
00450     
00464     void set_value_trigger (in stringSeq delta,
00465                             in boolean enable);
00466     
00475     void get_value_trigger (out stringSeq delta,
00476                             out boolean enable);
00477 
00491     void set_value_percent_trigger (in double delta, 
00492                             in boolean enable);
00493                         
00502     void get_value_percent_trigger (out double delta,
00503                             out boolean enable);
00504     };
00505 
00515     interface Monitorlong : ACS::Monitor {
00516     
00530     void set_value_trigger (in long delta,
00531                             in boolean enable);
00532     
00541     void get_value_trigger (out long delta,
00542                             out boolean enable);
00543 
00557     void set_value_percent_trigger (in double delta, 
00558                             in boolean enable);
00559                         
00568     void get_value_percent_trigger (out double delta,
00569                             out boolean enable);
00570     };
00571         
00580     interface MonitorlongLong : ACS::Monitor {
00581     
00595     void set_value_trigger (in longLong delta,
00596                             in boolean enable);
00597     
00606     void get_value_trigger (out longLong delta,
00607                             out boolean enable);
00608 
00622     void set_value_percent_trigger (in double delta, 
00623                             in boolean enable);
00624                         
00633     void get_value_percent_trigger (out double delta,
00634                             out boolean enable);
00635     };
00636 
00645     interface MonitoruLongLong : ACS::Monitor {
00646         
00660     void set_value_trigger (in uLongLong delta,
00661                             in boolean enable);
00662     
00671     void get_value_trigger (out uLongLong delta,
00672                             out boolean enable);
00673 
00687     void set_value_percent_trigger (in double delta, 
00688                             in boolean enable);
00689                         
00698     void get_value_percent_trigger (out double delta,
00699                             out boolean enable);
00700     };
00701 
00702 
00703     //Property interfaces///////////////////////////////////////////////////////////////////////////
00704 
00711     interface TypelessProperty : Property {
00712     
00714     readonly attribute string description;
00715     
00717     readonly attribute string format;
00718     
00720     readonly attribute string units;
00721     
00725     readonly attribute pattern resolution;
00726 
00727     };
00728         
00734     struct CharacteristicComponentDesc {
00735         
00737         ACS::CharacteristicComponent characteristic_component_ref;
00738         
00740         string name;
00741         
00743         PropertyDescSeq properties;
00744         
00746         CosPropertyService::PropertySet characteristics;
00747     };
00748     
00753     interface CharacteristicComponent : ACSComponent, CharacteristicModel {
00754     
00761     CharacteristicComponentDesc descriptor ();
00762     };
00763         
00764 
00769     interface PropertyActionExecutor : ACSComponent {
00773         struct PropertyAlarm {
00774             string FF;
00775             string FM;
00776             long FC;
00777             // (needed?) ACS::Time sourceTimestamp,
00778             CosPropertyService::Properties alarmProperties;
00779         };
00780         oneway void dispatchPropertyAction(
00781                 in string propertyName, in string propertyValue, in string propertyType, 
00782                 in PropertyAlarm alarm, in CosPropertyService::Properties extra );
00783     };
00784 
00785 
00789         
00807     interface CBpattern : Callback {
00808     
00822     oneway void working (in pattern value,
00823                          in ACSErr::Completion c,
00824                          in CBDescOut desc);
00825     
00838     oneway void done (in pattern value,
00839                       in ACSErr::Completion c,
00840                       in CBDescOut desc);
00841     };
00842 
00843 
00844     //Alarms//////////////////////////////////////////////////////////////////////////////////////////
00845         
00858         interface Alarmpattern : Callback {
00859 
00863         oneway void alarm_raised (in pattern value,
00864                                   in ACSErr::Completion c,
00865                                   in CBDescOut desc);
00866         
00868         oneway void alarm_cleared (in pattern value,
00869                                    in ACSErr::Completion c,
00870                                    in CBDescOut desc);  
00871         };
00872         
00874         interface Alarmdouble : Callback {
00875 
00877         oneway void alarm_raised (in double value,
00878                                   in ACSErr::Completion c,
00879                                   in CBDescOut desc);
00880                         
00882         oneway void alarm_cleared (in double value,
00883                                    in ACSErr::Completion c,
00884                                    in CBDescOut desc);
00885         };
00886         
00888         interface Alarmfloat : Callback {
00889 
00891         oneway void alarm_raised (in float value,
00892                                   in ACSErr::Completion c,
00893                                   in CBDescOut desc);
00894                         
00896         oneway void alarm_cleared (in float value,
00897                                    in ACSErr::Completion c,
00898                                    in CBDescOut desc);
00899         };
00900         
00902         interface Alarmlong : Callback {
00903         
00905         oneway void alarm_raised (in long value,
00906                                   in ACSErr::Completion c,
00907                                   in CBDescOut desc);
00908                         
00910         oneway void alarm_cleared (in long value,
00911                                    in ACSErr::Completion c,
00912                                    in CBDescOut desc);
00913                         
00914         };
00915         
00917         interface Alarmstring : Callback {
00918         
00920         oneway void alarm_raised (in string value,
00921                                   in ACSErr::Completion c,
00922                                   in CBDescOut desc);
00923         
00925         oneway void alarm_cleared (in string value,
00926                                    in ACSErr::Completion c,
00927                                    in CBDescOut desc);
00928         };
00929         
00931         interface AlarmstringSeq : Callback {
00932 
00934         oneway void alarm_raised (in stringSeq value,
00935                                   in ACSErr::Completion c,
00936                                   in CBDescOut desc);
00937                         
00939         oneway void alarm_cleared (in stringSeq value,
00940                                    in ACSErr::Completion c,
00941                                    in CBDescOut desc);
00942         };
00943 
00961         interface Pdouble : TypelessProperty {
00962                 
00964         readonly attribute TimeInterval default_timer_trigger;
00965         
00967         readonly attribute TimeInterval min_timer_trigger;
00968         
00970         readonly attribute double min_delta_trigger;
00971         
00973         readonly attribute double default_value;
00974         
00976         readonly attribute double graph_min;
00977         
00979         readonly attribute double graph_max;
00980         
00982         readonly attribute double min_step;
00983                 
00988         double get_sync (out ACSErr::Completion c       //The Completion structure of the request is returned as out parameter
00989             );
00990                         
00996         void get_async (in CBdouble cb,
00997                         in CBDescIn desc);
00998                         
01004         long get_history (in long n_last_values,        //The number of last monitored values to return
01005                           out doubleSeq vs,     //a sequence returning the requested values in ascending temporal order
01006                           out TimeSeq ts        //a sequence returning the timestamps corresponding to the returned values
01007             );
01008                         
01014         Monitordouble create_monitor (in CBdouble cb,
01015                                       in CBDescIn desc);
01016         
01021         Monitordouble create_postponed_monitor (in Time start_time,
01022                                                 in CBdouble cb,
01023                                                 in CBDescIn desc);
01024                         
01026         };
01027         
01029         interface Pfloat : TypelessProperty {
01030                 
01032         readonly attribute TimeInterval default_timer_trigger;
01033         
01035         readonly attribute TimeInterval min_timer_trigger;
01036         
01038         readonly attribute float min_delta_trigger;
01039         
01041         readonly attribute float default_value;
01042         
01044         readonly attribute float graph_min;
01045         
01047         readonly attribute float graph_max;
01048         
01050         readonly attribute float min_step;
01051                 
01056         float get_sync (out ACSErr::Completion c        //The Completion structure of the request is returned as out parameter
01057             );
01058                         
01064         void get_async (in CBfloat cb,
01065                         in CBDescIn desc);
01066                         
01072         long get_history (in long n_last_values,        //The number of last monitored values to return
01073                           out floatSeq vs,      //a sequence returning the requested values in ascending temporal order
01074                           out TimeSeq ts        //a sequence returning the timestamps corresponding to the returned values
01075             );
01076                         
01082         Monitorfloat create_monitor (in CBfloat cb,
01083                                       in CBDescIn desc);
01084         
01089         Monitorfloat create_postponed_monitor (in Time start_time,
01090                                                 in CBfloat cb,
01091                                                 in CBDescIn desc);
01092                         
01094         };
01095         
01097         interface Plong : TypelessProperty {
01098                 readonly attribute TimeInterval default_timer_trigger;
01099                 readonly attribute TimeInterval min_timer_trigger;
01100                 readonly attribute long min_delta_trigger;
01101                 readonly attribute long default_value;
01102                 readonly attribute long graph_min;
01103                 readonly attribute long graph_max;
01104                 readonly attribute long min_step;
01105                 
01108                 long get_sync (out ACSErr::Completion c);
01109                         
01112                 void get_async (in CBlong cb,
01113                                 in CBDescIn desc);
01114                         
01116                 long get_history (in long n_last_values,
01117                                   out longSeq vs,
01118                                   out TimeSeq ts);
01119                         
01122                 Monitorlong create_monitor (in CBlong cb,
01123                                             in CBDescIn desc);
01124                         
01126                 Monitorlong create_postponed_monitor (in Time start_time,
01127                                                       in CBlong cb,
01128                                                       in CBDescIn desc);
01129                         
01131         };
01132         
01142         interface Ppattern : TypelessProperty {
01143         readonly attribute TimeInterval default_timer_trigger;
01144         readonly attribute TimeInterval min_timer_trigger;
01145         readonly attribute pattern default_value;
01146         
01148         readonly attribute stringSeq bitDescription;
01149         
01151         readonly attribute ConditionSeq whenSet;
01152         
01154         readonly attribute ConditionSeq whenCleared;
01155                 
01157         pattern get_sync (out ACSErr::Completion c);
01158                         
01160         void get_async (in CBpattern cb,
01161                         in CBDescIn desc);
01162         
01164         long get_history (in long n_last_values,
01165                           out patternSeq vs,
01166                           out TimeSeq ts);
01167                         
01169         Monitorpattern create_monitor ( in CBpattern cb,
01170                                         in CBDescIn desc);
01171         
01173         Monitorpattern create_postponed_monitor (in Time start_time,
01174                                                  in CBpattern cb,
01175                                                  in CBDescIn desc);
01176                         
01178         };
01179         
01185         interface Pstring : TypelessProperty {
01186         readonly attribute TimeInterval default_timer_trigger;
01187         readonly attribute TimeInterval min_timer_trigger;
01188         readonly attribute string default_value;
01189         
01191         string get_sync (out ACSErr::Completion c);
01192                         
01194         void get_async (in CBstring cb,
01195                         in CBDescIn desc);
01196                         
01198         long get_history (in long n_last_values,
01199                           out stringSeq vs,
01200                           out TimeSeq ts);
01201                         
01203         Monitor create_monitor (in CBstring cb,
01204                                 in CBDescIn desc);
01205                         
01207         Monitor create_postponed_monitor (in Time start_time,
01208                                           in CBstring cb,
01209                                           in CBDescIn desc);
01210                         
01212         };
01213         
01215         interface PstringSeq : TypelessProperty {
01216         readonly attribute TimeInterval default_timer_trigger;
01217         readonly attribute TimeInterval min_timer_trigger;
01218         readonly attribute stringSeq default_value;
01219         
01221         stringSeq get_sync (out ACSErr::Completion c);
01222         
01224         void get_async (in CBstringSeq cb,
01225                         in CBDescIn desc);
01226                         
01228         long get_history (in long n_last_values,
01229                           out stringSeqSeq vs,
01230                           out TimeSeq ts);
01231         
01233         MonitorstringSeq create_monitor (in CBstringSeq cb,
01234                                          in CBDescIn desc);
01235                         
01237         MonitorstringSeq create_postponed_monitor (in Time start_time,
01238                                                    in CBstringSeq cb,
01239                                                    in CBDescIn desc);
01240                         
01242         };
01243 
01250         interface PdoubleSeq : TypelessProperty {
01251         readonly attribute TimeInterval default_timer_trigger;
01252         readonly attribute TimeInterval min_timer_trigger;
01253         readonly attribute double min_delta_trigger;
01254         readonly attribute double default_value;
01255         readonly attribute double graph_min;
01256         readonly attribute double graph_max;
01257         readonly attribute double min_step;
01258         
01260         doubleSeq get_sync (out ACSErr::Completion c);
01261         
01263         void get_async (in CBdoubleSeq cb,
01264                         in CBDescIn desc);
01265                         
01267         long get_history (in long n_last_values,
01268                           out doubleSeqSeq vs,
01269                           out TimeSeq ts);
01270                         
01272         Monitordouble create_monitor (in CBdoubleSeq cb,
01273                                       in CBDescIn desc);
01274                         
01276         Monitordouble create_postponed_monitor (in Time start_time,
01277                                                 in CBdoubleSeq cb,
01278                                                 in CBDescIn desc);
01279                         
01281         };
01282         
01283 
01290         interface PfloatSeq : TypelessProperty {
01291         readonly attribute TimeInterval default_timer_trigger;
01292         readonly attribute TimeInterval min_timer_trigger;
01293         readonly attribute float min_delta_trigger;
01294         readonly attribute float default_value;
01295         readonly attribute float graph_min;
01296         readonly attribute float graph_max;
01297         readonly attribute float min_step;
01298         
01300         floatSeq get_sync (out ACSErr::Completion c);
01301         
01303         void get_async (in CBfloatSeq cb,
01304                         in CBDescIn desc);
01305                         
01307         long get_history (in long n_last_values,
01308                           out floatSeqSeq vs,
01309                           out TimeSeq ts);
01310                         
01312         Monitorfloat create_monitor (in CBfloatSeq cb,
01313                                       in CBDescIn desc);
01314                         
01316         Monitorfloat create_postponed_monitor (in Time start_time,
01317                                                 in CBfloatSeq cb,
01318                                                 in CBDescIn desc);
01319                         
01321         };
01322         
01324         interface PlongSeq : TypelessProperty {
01325         readonly attribute TimeInterval default_timer_trigger;
01326         readonly attribute TimeInterval min_timer_trigger;
01327         readonly attribute long min_delta_trigger;
01328         readonly attribute long default_value;
01329         readonly attribute long graph_min;
01330         readonly attribute long graph_max;
01331         readonly attribute long min_step;
01332         
01334         longSeq get_sync (out ACSErr::Completion c);
01335                         
01337         void get_async (in CBlongSeq cb,
01338                         in CBDescIn desc);
01339         
01341         long get_history (in long n_last_values,
01342                           out longSeqSeq vs,
01343                           out TimeSeq ts);
01344                         
01346         Monitorlong create_monitor (in CBlongSeq cb,
01347                                     in CBDescIn desc);
01348                         
01350         Monitorlong create_postponed_monitor (in Time start_time,
01351                                               in CBlongSeq cb,
01352                                               in CBDescIn desc);
01353         
01355         };
01356         
01364         interface ROdouble : Pdouble {
01365 
01367         readonly attribute double alarm_low_on;
01368         
01370         readonly attribute double alarm_low_off;
01371         
01373         readonly attribute double alarm_high_on;
01374         
01376         readonly attribute double alarm_high_off;
01377         
01386         Subscription new_subscription_Alarm (in Alarmdouble cb,
01387                                              in CBDescIn desc);
01388 
01390         };
01391         
01399         interface RWdouble : Pdouble {
01400         
01401         readonly attribute double min_value;
01402         readonly attribute double max_value;
01403                 
01408         ACSErr::Completion set_sync (in double value);
01409                         
01416         void set_async (in double value,
01417                         in CBvoid cb,
01418                         in CBDescIn desc);
01419                         
01424         void set_nonblocking (in double value);
01425                         
01427         void increment (in CBvoid cb,
01428                         in CBDescIn desc);
01429                         
01431         void decrement (in CBvoid cb,
01432                         in CBDescIn desc);
01433                         
01435         };
01436         
01438         interface ROfloat : Pfloat {
01439 
01441         readonly attribute float alarm_low_on;
01442         
01444         readonly attribute float alarm_low_off;
01445         
01447         readonly attribute float alarm_high_on;
01448         
01450         readonly attribute float alarm_high_off;
01451         
01460         Subscription new_subscription_Alarm (in Alarmfloat cb,
01461                                              in CBDescIn desc);
01462 
01464         };
01465         
01473         interface RWfloat : Pfloat {
01474         
01475         readonly attribute float min_value;
01476         readonly attribute float max_value;
01477                 
01482         ACSErr::Completion set_sync (in float value);
01483                         
01490         void set_async (in float value,
01491                         in CBvoid cb,
01492                         in CBDescIn desc);
01493                         
01498         void set_nonblocking (in float value);
01499                         
01501         void increment (in CBvoid cb,
01502                         in CBDescIn desc);
01503                         
01505         void decrement (in CBvoid cb,
01506                         in CBDescIn desc);
01507                         
01509         };
01510         
01512         interface ROpattern : Ppattern {
01513                 
01515         readonly attribute pattern alarm_mask;
01516         
01518         readonly attribute pattern alarm_trigger;
01519         
01521         Subscription new_subscription_Alarm (in Alarmpattern cb,
01522                                              in CBDescIn desc);
01523                         
01525         };
01526 
01528         interface RWpattern : Ppattern {
01530         ACSErr::Completion set_sync (in pattern value);
01531                         
01533         void set_async (in pattern value,
01534                         in CBvoid cb,
01535                         in CBDescIn desc);
01536                         
01538         void set_nonblocking (in pattern value);
01539                         
01541         };
01542         
01544         interface RWstring : Pstring {
01546         ACSErr::Completion set_sync (in string value);
01547                         
01549         void set_async (in string value,
01550                         in CBvoid cb,
01551                         in CBDescIn desc);
01552         
01554         void set_nonblocking (in string value);
01555                         
01557         };
01558         
01560         interface ROstring : Pstring {
01561         
01563         Subscription new_subscription_Alarm (in Alarmstring cb,
01564                                              in CBDescIn desc);
01565         };
01566         
01568         interface ROstringSeq : PstringSeq {
01570         Subscription new_subscription_Alarm (in AlarmstringSeq cb,
01571                                              in CBDescIn desc);
01572         };
01573 
01575         interface ROdoubleSeq : PdoubleSeq {
01576         readonly attribute double alarm_low_on;
01577         readonly attribute double alarm_low_off;
01578         readonly attribute double alarm_high_on;
01579         readonly attribute double alarm_high_off;
01580                 
01582         Subscription new_subscription_Alarm (in Alarmdouble cb,
01583                                              in CBDescIn desc);
01584         
01586         };
01587         
01589         interface RWdoubleSeq : PdoubleSeq {
01591         readonly attribute double min_value;
01592         
01594         readonly attribute double max_value;
01595         
01597         ACSErr::Completion set_sync (in doubleSeq value);
01598                         
01600         void set_async (in doubleSeq value,
01601                         in CBvoid cb,
01602                         in CBDescIn desc);
01603                         
01606         void set_nonblocking (in doubleSeq value);
01607                         
01609         void increment (in CBvoid cb,
01610                         in CBDescIn desc);
01611                         
01613         void decrement (in CBvoid cb,
01614                         in CBDescIn desc);
01615                         
01617         };
01618         
01620         interface ROfloatSeq : PfloatSeq {
01621         readonly attribute float alarm_low_on;
01622         readonly attribute float alarm_low_off;
01623         readonly attribute float alarm_high_on;
01624         readonly attribute float alarm_high_off;
01625                 
01627         Subscription new_subscription_Alarm (in Alarmfloat cb,
01628                                              in CBDescIn desc);
01629         
01631         };
01632         
01634         interface RWfloatSeq : PfloatSeq {
01636         readonly attribute float min_value;
01637         
01639         readonly attribute float max_value;
01640         
01642         ACSErr::Completion set_sync (in floatSeq value);
01643                         
01645         void set_async (in floatSeq value,
01646                         in CBvoid cb,
01647                         in CBDescIn desc);
01648                         
01651         void set_nonblocking (in floatSeq value);
01652                         
01654         void increment (in CBvoid cb,
01655                         in CBDescIn desc);
01656                         
01658         void decrement (in CBvoid cb,
01659                         in CBDescIn desc);
01660                         
01662         };
01663         
01665         interface ROlongSeq : PlongSeq {
01667         readonly attribute long alarm_low_on;
01669         readonly attribute long alarm_low_off;
01671         readonly attribute long alarm_high_on;
01673         readonly attribute long alarm_high_off;
01674         
01676         Subscription new_subscription_Alarm (in Alarmlong cb,
01677                                              in CBDescIn desc);
01678                         
01680         };
01681         
01683         interface RWlongSeq : PlongSeq {
01685         readonly attribute long min_value;
01686         
01688         readonly attribute long max_value;
01689                 
01691         ACSErr::Completion set_sync (in longSeq value);
01692                         
01694         void set_async (in longSeq value,
01695                         in CBvoid cb,
01696                         in CBDescIn desc);
01697                         
01699         void set_nonblocking (in longSeq value);
01700                         
01702         void increment (in CBvoid cb,
01703                         in CBDescIn desc);
01704                         
01706         void decrement (in CBvoid cb,
01707                         in CBDescIn desc);
01708                         
01710         };
01711         
01713         interface ROlong : Plong {
01714                 readonly attribute long alarm_low_on;
01715                 readonly attribute long alarm_low_off;
01716                 readonly attribute long alarm_high_on;
01717                 readonly attribute long alarm_high_off;
01718                 
01721                 Subscription new_subscription_Alarm (in Alarmlong cb,
01722                                                      in CBDescIn desc);
01723                         
01725         };
01726         
01728         interface RWlong : Plong {
01730         ACSErr::Completion set_sync (in long value);
01731                         
01733         void set_async (in long value,
01734                         in CBvoid cb,
01735                         in CBDescIn desc);
01736                         
01738         void set_nonblocking (in long value);
01739                         
01744         void increment (in CBvoid cb,
01745                         in CBDescIn desc);
01746                         
01751         void decrement (in CBvoid cb,
01752                         in CBDescIn desc);
01753                         
01755         readonly attribute long max_value;
01756         readonly attribute long min_value;
01757         };
01758         
01759 /***********************  LONG LONG */
01760 
01761 
01762 
01763 
01764 
01765         interface PlongLong : TypelessProperty {
01766         readonly attribute TimeInterval default_timer_trigger;
01767         readonly attribute TimeInterval min_timer_trigger;
01768         readonly attribute longLong min_delta_trigger;
01769         readonly attribute longLong default_value;
01770         readonly attribute longLong graph_min;
01771         readonly attribute longLong graph_max;
01772         readonly attribute longLong min_step;
01773         
01775         longLong get_sync (out ACSErr::Completion c);
01776         
01778         void get_async (in CBlongLong cb,
01779                         in CBDescIn desc);
01780                         
01782         long get_history (in long n_last_values,
01783                           out longLongSeq vs,
01784                           out TimeSeq ts);
01785                         
01787         MonitorlongLong create_monitor (in CBlongLong cb,
01788                                         in CBDescIn desc);
01789         
01791         MonitorlongLong create_postponed_monitor (in Time start_time,
01792                                                   in CBlongLong cb,
01793                                                   in CBDescIn desc);
01794                         
01796         };
01797 
01798         interface AlarmlongLong : Callback {
01800         oneway void alarm_raised (in longLong value,
01801                                   in ACSErr::Completion c,
01802                                   in CBDescOut desc);
01803                         
01805         oneway void alarm_cleared (in longLong value,
01806                                    in ACSErr::Completion c,
01807                                    in CBDescOut desc);
01808         };
01809 
01810         interface ROlongLong : PlongLong {
01811         readonly attribute longLong alarm_low_on;
01812         readonly attribute longLong alarm_low_off;
01813         readonly attribute longLong alarm_high_on;
01814         readonly attribute longLong alarm_high_off;
01815                 
01817         Subscription new_subscription_Alarm (in AlarmlongLong cb,
01818                                              in CBDescIn desc);
01819                         
01822         };
01823 
01824         interface RWlongLong : PlongLong {
01826         ACSErr::Completion set_sync (in longLong value);
01827                         
01829         void set_async (in longLong value,
01830                         in CBvoid cb,
01831                         in CBDescIn desc);
01832                         
01834         void set_nonblocking (in longLong value);
01835                         
01840         void increment (in CBvoid cb,
01841                         in CBDescIn desc);
01842                         
01845         void decrement (in CBvoid cb,
01846                         in CBDescIn desc);
01847                         
01849         readonly attribute longLong max_value;
01850         readonly attribute longLong min_value;
01851         };
01852 
01853         /****** unsigned long long ***/
01854 
01855 
01856 
01857         interface PuLongLong : TypelessProperty {
01858         readonly attribute TimeInterval default_timer_trigger;
01859         readonly attribute TimeInterval min_timer_trigger;
01860         readonly attribute uLongLong min_delta_trigger;
01861         readonly attribute uLongLong default_value;
01862         readonly attribute uLongLong graph_min;
01863         readonly attribute uLongLong graph_max;
01864         readonly attribute uLongLong min_step;
01865         
01867         uLongLong get_sync (out ACSErr::Completion c);
01868                         
01870         void get_async (in CBuLongLong cb,
01871                         in CBDescIn desc);
01872                         
01874         long get_history (in  long n_last_values,
01875                           out uLongLongSeq vs,
01876                           out TimeSeq ts);
01877                         
01879         MonitoruLongLong create_monitor (in CBuLongLong cb,
01880                                          in CBDescIn desc);
01881                         
01883         MonitoruLongLong create_postponed_monitor (in Time start_time,
01884                                                    in CBuLongLong cb,
01885                                                    in CBDescIn desc);
01886                         
01888         };
01889 
01890         interface AlarmuLongLong : Callback {
01891 
01893         oneway void alarm_raised (in uLongLong value,
01894                                   in ACSErr::Completion c,
01895                                   in CBDescOut desc);
01896                         
01898         oneway void alarm_cleared (in uLongLong value,
01899                                    in ACSErr::Completion c,
01900                                    in CBDescOut desc);
01901                         
01902         };
01903 
01904         interface ROuLongLong : PuLongLong {
01905         readonly attribute uLongLong alarm_low_on;
01906         readonly attribute uLongLong alarm_low_off;
01907         readonly attribute uLongLong alarm_high_on;
01908         readonly attribute uLongLong alarm_high_off;
01909         
01911         Subscription new_subscription_Alarm (in AlarmuLongLong cb,
01912                                              in CBDescIn desc);
01913         
01916         };
01917 
01918         interface RWuLongLong : PuLongLong {
01919 
01921         ACSErr::Completion set_sync (in uLongLong value);
01922                         
01924         void set_async (in uLongLong value,
01925                         in CBvoid cb,
01926                         in CBDescIn desc);
01927                         
01929         void set_nonblocking (in uLongLong value);
01930                         
01935         void increment (in CBvoid cb,
01936                         in CBDescIn desc);
01937                         
01942         void decrement (in CBvoid cb,
01943                         in CBDescIn desc);
01944                         
01946         readonly attribute uLongLong max_value;
01947         readonly attribute uLongLong min_value;
01948         };
01949 };
01950 
01951 #endif /* _BACI_IDL_ */

Generated on Thu Jan 12 2012 23:13:14 for ACS-10.0 IDL interfaces by  doxygen 1.7.0