• 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.9 2010/02/10 13:17:06 gchiozzi 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 Jul 8 2010 19:46:40 for ACS-9.0 IDL interfaces by  doxygen 1.7.0