• 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.15 2012/11/20 15:12:33 acaproni 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 #include <baciErrTypeProperty.idl>
00037 
00038 #pragma prefix "alma"
00039 
00040 
00041 module ACS {
00042     //need a forward declaration for this interface
00043     interface CharacteristicComponent;
00044         
00046     exception NoSuchCharacteristic {
00048     string characteristic_name;
00050     string component_name;
00051     };
00052     
00068     interface CharacteristicModel {
00069     
00079     any get_characteristic_by_name (in string name)                     
00080         raises (NoSuchCharacteristic);
00081     
00091     stringSeq find_characteristic (in string reg_exp);
00092     
00099     CosPropertyService::PropertySet get_all_characteristics ();
00100     };
00101     
00107     interface Property : CharacteristicModel, OffShoot {
00108 
00110     readonly attribute string name;
00111     
00113     readonly attribute string characteristic_component_name;
00114     };
00115     
00121     struct PropertyDesc {
00122         
00124         Property property_ref;
00125         
00127         string name;
00128         
00132         CosPropertyService::PropertySet characteristics;
00133     };
00134     
00136     typedef sequence <PropertyDesc> PropertyDescSeq;
00137     
00138         
00140     interface Subscription : OffShoot {
00141     
00146     void suspend ();
00147                         
00153     void resume ();
00154     
00159     void destroy ();
00160     };
00161 
00162     //Monitors////////////////////////////////////////////////////////////////////////////
00163     
00169     interface Monitor : Subscription {
00173     readonly attribute Time start_time;
00174                 
00187     void set_timer_trigger (in TimeInterval timer);
00188                         
00194     void get_timer_trigger (out TimeInterval timer);
00195     };
00196         
00206     interface Monitordouble : ACS::Monitor {
00207     
00221     void set_value_trigger (in double delta, 
00222                             in boolean enable);
00223                         
00232     void get_value_trigger (out double delta,
00233                             out boolean enable);
00234 
00248     void set_value_percent_trigger (in double delta, 
00249                             in boolean enable);
00250                         
00259     void get_value_percent_trigger (out double delta,
00260                             out boolean enable);
00261     };
00262     
00263     interface Monitorfloat : ACS::Monitor {
00264     
00278     void set_value_trigger (in float delta, 
00279                             in boolean enable);
00280                         
00289     void get_value_trigger (out float delta,
00290                             out boolean enable);
00291 
00305     void set_value_percent_trigger (in double delta, 
00306                             in boolean enable);
00307                         
00316     void get_value_percent_trigger (out double delta,
00317                             out boolean enable);
00318     };
00319 
00326     interface Monitorpattern : ACS::Monitor {
00327     
00341     void set_value_trigger (in pattern delta,
00342                             in boolean enable);
00343     
00352     void get_value_trigger (out pattern delta,
00353                             out boolean enable);
00354 
00368     void set_value_percent_trigger (in double delta, 
00369                             in boolean enable);
00370                         
00379     void get_value_percent_trigger (out double delta,
00380                             out boolean enable);
00381     };
00382 
00387     interface Monitorstring : ACS::Monitor {
00388         
00402     void set_value_trigger (in string delta,
00403                             in boolean enable);
00404                         
00413     void get_value_trigger (out string delta,
00414                             out boolean enable);
00415 
00429     void set_value_percent_trigger (in double delta, 
00430                             in boolean enable);
00431                         
00440     void get_value_percent_trigger (out double delta,
00441                             out boolean enable);
00442     };
00443 
00450     interface MonitorstringSeq : ACS::Monitor {
00451     
00465     void set_value_trigger (in stringSeq delta,
00466                             in boolean enable);
00467     
00476     void get_value_trigger (out stringSeq delta,
00477                             out boolean enable);
00478 
00492     void set_value_percent_trigger (in double delta, 
00493                             in boolean enable);
00494                         
00503     void get_value_percent_trigger (out double delta,
00504                             out boolean enable);
00505     };
00506 
00516     interface Monitorlong : ACS::Monitor {
00517     
00531     void set_value_trigger (in long delta,
00532                             in boolean enable);
00533     
00542     void get_value_trigger (out long delta,
00543                             out boolean enable);
00544 
00558     void set_value_percent_trigger (in double delta, 
00559                             in boolean enable);
00560                         
00569     void get_value_percent_trigger (out double delta,
00570                             out boolean enable);
00571     };
00572         
00581     interface MonitoruLong : ACS::Monitor {
00582         
00596     void set_value_trigger (in uLong delta,
00597                             in boolean enable);
00598     
00607     void get_value_trigger (out uLong delta,
00608                             out boolean enable);
00609 
00623     void set_value_percent_trigger (in double delta, 
00624                             in boolean enable);
00625                         
00634     void get_value_percent_trigger (out double delta,
00635                             out boolean enable);
00636     };
00637 
00646     interface MonitorlongLong : ACS::Monitor {
00647     
00661     void set_value_trigger (in longLong delta,
00662                             in boolean enable);
00663     
00672     void get_value_trigger (out longLong delta,
00673                             out boolean enable);
00674 
00688     void set_value_percent_trigger (in double delta, 
00689                             in boolean enable);
00690                         
00699     void get_value_percent_trigger (out double delta,
00700                             out boolean enable);
00701     };
00702 
00711     interface MonitoruLongLong : ACS::Monitor {
00712         
00726     void set_value_trigger (in uLongLong delta,
00727                             in boolean enable);
00728     
00737     void get_value_trigger (out uLongLong delta,
00738                             out boolean enable);
00739 
00753     void set_value_percent_trigger (in double delta, 
00754                             in boolean enable);
00755                         
00764     void get_value_percent_trigger (out double delta,
00765                             out boolean enable);
00766     };
00767 
00776     interface Monitorboolean : ACS::Monitor {
00777         
00791     void set_value_trigger (in boolean delta,
00792                             in boolean enable);
00793     
00802     void get_value_trigger (out boolean delta,
00803                             out boolean enable);
00804 
00818     void set_value_percent_trigger (in double delta, 
00819                             in boolean enable);
00820                         
00829     void get_value_percent_trigger (out double delta,
00830                             out boolean enable);
00831     };
00832 
00833     //Property interfaces///////////////////////////////////////////////////////////////////////////
00834 
00841     interface TypelessProperty : Property {
00842     
00844     readonly attribute string description;
00845     
00847     readonly attribute string format;
00848     
00850     readonly attribute string units;
00851     
00855     readonly attribute pattern resolution;
00856 
00862         oneway void publish_now();
00863 
00864     };
00865         
00871     struct CharacteristicComponentDesc {
00872         
00874         ACS::CharacteristicComponent characteristic_component_ref;
00875         
00877         string name;
00878         
00880         PropertyDescSeq properties;
00881         
00883         CosPropertyService::PropertySet characteristics;
00884     };
00885     
00890     interface CharacteristicComponent : ACSComponent, CharacteristicModel {
00891     
00898     CharacteristicComponentDesc descriptor ();
00899     };
00900         
00901 
00906     interface PropertyActionExecutor : ACSComponent {
00910         struct PropertyAlarm {
00911             string FF;
00912             string FM;
00913             long FC;
00914             // (needed?) ACS::Time sourceTimestamp,
00915             CosPropertyService::Properties alarmProperties;
00916         };
00917         oneway void dispatchPropertyAction(
00918                 in string propertyName, in string propertyValue, in string propertyType, 
00919                 in PropertyAlarm alarm, in CosPropertyService::Properties extra );
00920     };
00921 
00922 
00926         
00944     interface CBpattern : Callback {
00945     
00959     oneway void working (in pattern value,
00960                          in ACSErr::Completion c,
00961                          in CBDescOut desc);
00962     
00975     oneway void done (in pattern value,
00976                       in ACSErr::Completion c,
00977                       in CBDescOut desc);
00978     };
00979 
00980 
00981     //Alarms//////////////////////////////////////////////////////////////////////////////////////////
00982         
00995         interface Alarmpattern : Callback {
00996 
01000         oneway void alarm_raised (in pattern value,
01001                                   in ACSErr::Completion c,
01002                                   in CBDescOut desc);
01003         
01005         oneway void alarm_cleared (in pattern value,
01006                                    in ACSErr::Completion c,
01007                                    in CBDescOut desc);  
01008         };
01009         
01011         interface Alarmdouble : Callback {
01012 
01014         oneway void alarm_raised (in double value,
01015                                   in ACSErr::Completion c,
01016                                   in CBDescOut desc);
01017                         
01019         oneway void alarm_cleared (in double value,
01020                                    in ACSErr::Completion c,
01021                                    in CBDescOut desc);
01022         };
01023         
01025         interface Alarmfloat : Callback {
01026 
01028         oneway void alarm_raised (in float value,
01029                                   in ACSErr::Completion c,
01030                                   in CBDescOut desc);
01031                         
01033         oneway void alarm_cleared (in float value,
01034                                    in ACSErr::Completion c,
01035                                    in CBDescOut desc);
01036         };
01037         
01039         interface Alarmlong : Callback {
01040         
01042         oneway void alarm_raised (in long value,
01043                                   in ACSErr::Completion c,
01044                                   in CBDescOut desc);
01045                         
01047         oneway void alarm_cleared (in long value,
01048                                    in ACSErr::Completion c,
01049                                    in CBDescOut desc);
01050                         
01051         };
01052 
01054         interface AlarmuLong : Callback {
01055 
01057         oneway void alarm_raised (in uLong value,
01058                                   in ACSErr::Completion c,
01059                                   in CBDescOut desc);
01060                         
01062         oneway void alarm_cleared (in uLong value,
01063                                    in ACSErr::Completion c,
01064                                    in CBDescOut desc);
01065                         
01066         };
01067         
01069         interface Alarmstring : Callback {
01070         
01072         oneway void alarm_raised (in string value,
01073                                   in ACSErr::Completion c,
01074                                   in CBDescOut desc);
01075         
01077         oneway void alarm_cleared (in string value,
01078                                    in ACSErr::Completion c,
01079                                    in CBDescOut desc);
01080         };
01081         
01083         interface Alarmboolean : Callback {
01084 
01086         oneway void alarm_raised (in boolean value,
01087                                   in ACSErr::Completion c,
01088                                   in CBDescOut desc);
01089                         
01091         oneway void alarm_cleared (in boolean value,
01092                                    in ACSErr::Completion c,
01093                                    in CBDescOut desc);
01094                         
01095         };
01096         
01098         interface AlarmstringSeq : Callback {
01099 
01101         oneway void alarm_raised (in stringSeq value,
01102                                   in ACSErr::Completion c,
01103                                   in CBDescOut desc);
01104                         
01106         oneway void alarm_cleared (in stringSeq value,
01107                                    in ACSErr::Completion c,
01108                                    in CBDescOut desc);
01109         };
01110 
01128         interface Pdouble : TypelessProperty {
01129                 
01131         readonly attribute TimeInterval default_timer_trigger;
01132         
01134         readonly attribute TimeInterval min_timer_trigger;
01135         
01137         readonly attribute double min_delta_trigger;
01138         
01140         readonly attribute double default_value;
01141         
01143         readonly attribute double graph_min;
01144         
01146         readonly attribute double graph_max;
01147         
01149         readonly attribute double min_step;
01150                 
01155         double get_sync (out ACSErr::Completion c       //The Completion structure of the request is returned as out parameter
01156             );
01157                         
01163         void get_async (in CBdouble cb,
01164                         in CBDescIn desc);
01165                         
01171         long get_history (in long n_last_values,        //The number of last monitored values to return
01172                           out doubleSeq vs,     //a sequence returning the requested values in ascending temporal order
01173                           out TimeSeq ts        //a sequence returning the timestamps corresponding to the returned values
01174             );
01175                         
01181         Monitordouble create_monitor (in CBdouble cb,
01182                                       in CBDescIn desc);
01183         
01188         Monitordouble create_postponed_monitor (in Time start_time,
01189                                                 in CBdouble cb,
01190                                                 in CBDescIn desc);
01191                         
01193         };
01194         
01196         interface Pfloat : TypelessProperty {
01197                 
01199         readonly attribute TimeInterval default_timer_trigger;
01200         
01202         readonly attribute TimeInterval min_timer_trigger;
01203         
01205         readonly attribute float min_delta_trigger;
01206         
01208         readonly attribute float default_value;
01209         
01211         readonly attribute float graph_min;
01212         
01214         readonly attribute float graph_max;
01215         
01217         readonly attribute float min_step;
01218                 
01223         float get_sync (out ACSErr::Completion c        //The Completion structure of the request is returned as out parameter
01224             );
01225                         
01231         void get_async (in CBfloat cb,
01232                         in CBDescIn desc);
01233                         
01239         long get_history (in long n_last_values,        //The number of last monitored values to return
01240                           out floatSeq vs,      //a sequence returning the requested values in ascending temporal order
01241                           out TimeSeq ts        //a sequence returning the timestamps corresponding to the returned values
01242             );
01243                         
01249         Monitorfloat create_monitor (in CBfloat cb,
01250                                       in CBDescIn desc);
01251         
01256         Monitorfloat create_postponed_monitor (in Time start_time,
01257                                                 in CBfloat cb,
01258                                                 in CBDescIn desc);
01259                         
01261         };
01262         
01264         interface Plong : TypelessProperty {
01265                 readonly attribute TimeInterval default_timer_trigger;
01266                 readonly attribute TimeInterval min_timer_trigger;
01267                 readonly attribute long min_delta_trigger;
01268                 readonly attribute long default_value;
01269                 readonly attribute long graph_min;
01270                 readonly attribute long graph_max;
01271                 readonly attribute long min_step;
01272                 
01275                 long get_sync (out ACSErr::Completion c);
01276                         
01279                 void get_async (in CBlong cb,
01280                                 in CBDescIn desc);
01281                         
01283                 long get_history (in long n_last_values,
01284                                   out longSeq vs,
01285                                   out TimeSeq ts);
01286                         
01289                 Monitorlong create_monitor (in CBlong cb,
01290                                             in CBDescIn desc);
01291                         
01293                 Monitorlong create_postponed_monitor (in Time start_time,
01294                                                       in CBlong cb,
01295                                                       in CBDescIn desc);
01296                         
01298         };
01299         
01301         interface PuLong : TypelessProperty {
01302                 readonly attribute TimeInterval default_timer_trigger;
01303                 readonly attribute TimeInterval min_timer_trigger;
01304                 readonly attribute uLong min_delta_trigger;
01305                 readonly attribute uLong default_value;
01306                 readonly attribute uLong graph_min;
01307                 readonly attribute uLong graph_max;
01308                 readonly attribute uLong min_step;
01309                 
01311                 uLong get_sync (out ACSErr::Completion c);
01312                                 
01314                 void get_async (in CBuLong cb,
01315                                 in CBDescIn desc);
01316                                 
01318                 long get_history (in long n_last_values,
01319                                   out uLongSeq vs,
01320                                   out TimeSeq ts);
01321                                 
01323                 MonitoruLong create_monitor (in CBuLong cb,
01324                                              in CBDescIn desc);
01325                                 
01327                 MonitoruLong create_postponed_monitor (in Time start_time,
01328                                                        in CBuLong cb,
01329                                                        in CBDescIn desc);
01330                                 
01332         };
01333 
01343         interface Ppattern : TypelessProperty {
01344         readonly attribute TimeInterval default_timer_trigger;
01345         readonly attribute TimeInterval min_timer_trigger;
01346         readonly attribute pattern default_value;
01347         
01349         readonly attribute stringSeq bitDescription;
01350         
01352         readonly attribute ConditionSeq whenSet;
01353         
01355         readonly attribute ConditionSeq whenCleared;
01356                 
01358         pattern get_sync (out ACSErr::Completion c);
01359                         
01361         void get_async (in CBpattern cb,
01362                         in CBDescIn desc);
01363         
01365         long get_history (in long n_last_values,
01366                           out patternSeq vs,
01367                           out TimeSeq ts);
01368                         
01370         Monitorpattern create_monitor ( in CBpattern cb,
01371                                         in CBDescIn desc);
01372         
01374         Monitorpattern create_postponed_monitor (in Time start_time,
01375                                                  in CBpattern cb,
01376                                                  in CBDescIn desc);
01377                         
01379         };
01380         
01386         interface Pstring : TypelessProperty {
01387         readonly attribute TimeInterval default_timer_trigger;
01388         readonly attribute TimeInterval min_timer_trigger;
01389         readonly attribute string default_value;
01390         
01392         string get_sync (out ACSErr::Completion c);
01393                         
01395         void get_async (in CBstring cb,
01396                         in CBDescIn desc);
01397                         
01399         long get_history (in long n_last_values,
01400                           out stringSeq vs,
01401                           out TimeSeq ts);
01402                         
01404         Monitor create_monitor (in CBstring cb,
01405                                 in CBDescIn desc);
01406                         
01408         Monitor create_postponed_monitor (in Time start_time,
01409                                           in CBstring cb,
01410                                           in CBDescIn desc);
01411                         
01413         };
01414 
01420         interface Pboolean : TypelessProperty {
01421         readonly attribute TimeInterval default_timer_trigger;
01422         readonly attribute TimeInterval min_timer_trigger;
01423         readonly attribute boolean default_value;
01424         
01426         boolean get_sync (out ACSErr::Completion c);
01427                         
01429         void get_async (in CBboolean cb,
01430                         in CBDescIn desc);
01431                         
01433         long get_history (in long n_last_values,
01434                           out booleanSeq vs,
01435                           out TimeSeq ts);
01436                         
01438         Monitor create_monitor (in CBboolean cb,
01439                                 in CBDescIn desc);
01440                         
01442         Monitor create_postponed_monitor (in Time start_time,
01443                                           in CBboolean cb,
01444                                           in CBDescIn desc);
01445                         
01447         };
01448         
01450         interface PstringSeq : TypelessProperty {
01451         readonly attribute TimeInterval default_timer_trigger;
01452         readonly attribute TimeInterval min_timer_trigger;
01453         readonly attribute stringSeq default_value;
01454         
01456         stringSeq get_sync (out ACSErr::Completion c);
01457         
01459         void get_async (in CBstringSeq cb,
01460                         in CBDescIn desc);
01461                         
01463         long get_history (in long n_last_values,
01464                           out stringSeqSeq vs,
01465                           out TimeSeq ts);
01466         
01468         MonitorstringSeq create_monitor (in CBstringSeq cb,
01469                                          in CBDescIn desc);
01470                         
01472         MonitorstringSeq create_postponed_monitor (in Time start_time,
01473                                                    in CBstringSeq cb,
01474                                                    in CBDescIn desc);
01475                         
01477         };
01478 
01480         interface PbooleanSeq : TypelessProperty {
01481         readonly attribute TimeInterval default_timer_trigger;
01482         readonly attribute TimeInterval min_timer_trigger;
01483         readonly attribute boolean default_value;
01484         
01486         booleanSeq get_sync (out ACSErr::Completion c);
01487         
01489         void get_async (in CBbooleanSeq cb,
01490                         in CBDescIn desc);
01491                         
01493         long get_history (in long n_last_values,
01494                           out booleanSeqSeq vs,
01495                           out TimeSeq ts);
01496         
01498         Monitorboolean create_monitor (in CBbooleanSeq cb,
01499                                          in CBDescIn desc);
01500                         
01502         Monitorboolean create_postponed_monitor (in Time start_time,
01503                                                    in CBbooleanSeq cb,
01504                                                    in CBDescIn desc);
01505                         
01507         };
01508 
01515         interface PdoubleSeq : TypelessProperty {
01516         readonly attribute TimeInterval default_timer_trigger;
01517         readonly attribute TimeInterval min_timer_trigger;
01518         readonly attribute double min_delta_trigger;
01519         readonly attribute double default_value;
01520         readonly attribute double graph_min;
01521         readonly attribute double graph_max;
01522         readonly attribute double min_step;
01523         
01525         doubleSeq get_sync (out ACSErr::Completion c);
01526         
01528         void get_async (in CBdoubleSeq cb,
01529                         in CBDescIn desc);
01530                         
01532         long get_history (in long n_last_values,
01533                           out doubleSeqSeq vs,
01534                           out TimeSeq ts);
01535                         
01537         Monitordouble create_monitor (in CBdoubleSeq cb,
01538                                       in CBDescIn desc);
01539                         
01541         Monitordouble create_postponed_monitor (in Time start_time,
01542                                                 in CBdoubleSeq cb,
01543                                                 in CBDescIn desc);
01544                         
01546         };
01547         
01548 
01555         interface PfloatSeq : TypelessProperty {
01556         readonly attribute TimeInterval default_timer_trigger;
01557         readonly attribute TimeInterval min_timer_trigger;
01558         readonly attribute float min_delta_trigger;
01559         readonly attribute float default_value;
01560         readonly attribute float graph_min;
01561         readonly attribute float graph_max;
01562         readonly attribute float min_step;
01563         
01565         floatSeq get_sync (out ACSErr::Completion c);
01566         
01568         void get_async (in CBfloatSeq cb,
01569                         in CBDescIn desc);
01570                         
01572         long get_history (in long n_last_values,
01573                           out floatSeqSeq vs,
01574                           out TimeSeq ts);
01575                         
01577         Monitorfloat create_monitor (in CBfloatSeq cb,
01578                                       in CBDescIn desc);
01579                         
01581         Monitorfloat create_postponed_monitor (in Time start_time,
01582                                                 in CBfloatSeq cb,
01583                                                 in CBDescIn desc);
01584                         
01586         };
01587         
01589         interface PlongSeq : TypelessProperty {
01590         readonly attribute TimeInterval default_timer_trigger;
01591         readonly attribute TimeInterval min_timer_trigger;
01592         readonly attribute long min_delta_trigger;
01593         readonly attribute long default_value;
01594         readonly attribute long graph_min;
01595         readonly attribute long graph_max;
01596         readonly attribute long min_step;
01597         
01599         longSeq get_sync (out ACSErr::Completion c);
01600                         
01602         void get_async (in CBlongSeq cb,
01603                         in CBDescIn desc);
01604         
01606         long get_history (in long n_last_values,
01607                           out longSeqSeq vs,
01608                           out TimeSeq ts);
01609                         
01611         Monitorlong create_monitor (in CBlongSeq cb,
01612                                     in CBDescIn desc);
01613                         
01615         Monitorlong create_postponed_monitor (in Time start_time,
01616                                               in CBlongSeq cb,
01617                                               in CBDescIn desc);
01618         
01620         };
01621         
01623         interface PuLongSeq : TypelessProperty {
01624         readonly attribute TimeInterval default_timer_trigger;
01625         readonly attribute TimeInterval min_timer_trigger;
01626         readonly attribute uLong min_delta_trigger;
01627         readonly attribute uLong default_value;
01628         readonly attribute uLong graph_min;
01629         readonly attribute uLong graph_max;
01630         readonly attribute uLong min_step;
01631         
01633         uLongSeq get_sync (out ACSErr::Completion c);
01634                         
01636         void get_async (in CBuLongSeq cb,
01637                         in CBDescIn desc);
01638         
01640         long get_history (in long n_last_values,
01641                           out uLongSeqSeq vs,
01642                           out TimeSeq ts);
01643                         
01645         MonitoruLong create_monitor (in CBuLongSeq cb,
01646                                     in CBDescIn desc);
01647                         
01649         MonitoruLong create_postponed_monitor (in Time start_time,
01650                                               in CBuLongSeq cb,
01651                                               in CBDescIn desc);
01652         
01654         };
01655 
01663         interface ROdouble : Pdouble {
01664 
01666         readonly attribute double alarm_low_on;
01667         
01669         readonly attribute double alarm_low_off;
01670         
01672         readonly attribute double alarm_high_on;
01673         
01675         readonly attribute double alarm_high_off;
01676         
01685         Subscription new_subscription_Alarm (in Alarmdouble cb,
01686                                              in CBDescIn desc);
01687 
01688         //** Enables the propagation of Property Alarms to the ACS Alarm System **/
01689         void enable_alarm_system();
01690 
01691         //** Disables the propagation of Property Alarms to the ACS Alarm System **/
01692         void disable_alarm_system() raises (baciErrTypeProperty::DisableAlarmsErrorEx);
01693 
01694         //** Returns the current status of the propagation of Property Alarms to the ACS Alarm System **/
01695         boolean alarm_system_enabled();
01696 
01697         };
01698         
01706         interface RWdouble : Pdouble {
01707         
01708         readonly attribute double min_value;
01709         readonly attribute double max_value;
01710                 
01715         ACSErr::Completion set_sync (in double value);
01716                         
01723         void set_async (in double value,
01724                         in CBvoid cb,
01725                         in CBDescIn desc);
01726                         
01731         void set_nonblocking (in double value);
01732                         
01734         void increment (in CBvoid cb,
01735                         in CBDescIn desc);
01736                         
01738         void decrement (in CBvoid cb,
01739                         in CBDescIn desc);
01740                         
01742         };
01743         
01745         interface ROfloat : Pfloat {
01746 
01748         readonly attribute float alarm_low_on;
01749         
01751         readonly attribute float alarm_low_off;
01752         
01754         readonly attribute float alarm_high_on;
01755         
01757         readonly attribute float alarm_high_off;
01758         
01767         Subscription new_subscription_Alarm (in Alarmfloat cb,
01768                                              in CBDescIn desc);
01769 
01770         //** Enables the propagation of Property Alarms to the ACS Alarm System **/
01771         void enable_alarm_system();
01772 
01773         //** Disables the propagation of Property Alarms to the ACS Alarm System **/
01774         void disable_alarm_system() raises (baciErrTypeProperty::DisableAlarmsErrorEx);
01775 
01776         //** Returns the current status of the propagation of Property Alarms to the ACS Alarm System **/
01777         boolean alarm_system_enabled();
01778 
01779         };
01780         
01788         interface RWfloat : Pfloat {
01789         
01790         readonly attribute float min_value;
01791         readonly attribute float max_value;
01792                 
01797         ACSErr::Completion set_sync (in float value);
01798                         
01805         void set_async (in float value,
01806                         in CBvoid cb,
01807                         in CBDescIn desc);
01808                         
01813         void set_nonblocking (in float value);
01814                         
01816         void increment (in CBvoid cb,
01817                         in CBDescIn desc);
01818                         
01820         void decrement (in CBvoid cb,
01821                         in CBDescIn desc);
01822                         
01824         };
01825         
01827         interface ROpattern : Ppattern {
01828                 
01830         readonly attribute pattern alarm_mask;
01831         
01833         readonly attribute pattern alarm_trigger;
01834         
01836         Subscription new_subscription_Alarm (in Alarmpattern cb,
01837                                              in CBDescIn desc);
01838                         
01839         //** Enables the propagation of Property Alarms to the ACS Alarm System **/
01840         void enable_alarm_system();
01841 
01842         //** Disables the propagation of Property Alarms to the ACS Alarm System **/
01843         void disable_alarm_system() raises (baciErrTypeProperty::DisableAlarmsErrorEx);
01844 
01845         //** Returns the current status of the propagation of Property Alarms to the ACS Alarm System **/
01846         boolean alarm_system_enabled();
01847 
01849         };
01850 
01852         interface RWpattern : Ppattern {
01854         ACSErr::Completion set_sync (in pattern value);
01855                         
01857         void set_async (in pattern value,
01858                         in CBvoid cb,
01859                         in CBDescIn desc);
01860                         
01862         void set_nonblocking (in pattern value);
01863                         
01865         };
01866         
01868         interface RWstring : Pstring {
01870         ACSErr::Completion set_sync (in string value);
01871                         
01873         void set_async (in string value,
01874                         in CBvoid cb,
01875                         in CBDescIn desc);
01876         
01878         void set_nonblocking (in string value);
01879                         
01881         };
01882         
01884         interface ROstring : Pstring {
01885         
01887         Subscription new_subscription_Alarm (in Alarmstring cb,
01888                                              in CBDescIn desc);
01889 
01890         //** Enables the propagation of Property Alarms to the ACS Alarm System **/
01891         void enable_alarm_system();
01892 
01893         //** Disables the propagation of Property Alarms to the ACS Alarm System **/
01894         void disable_alarm_system() raises (baciErrTypeProperty::DisableAlarmsErrorEx);
01895 
01896         //** Returns the current status of the propagation of Property Alarms to the ACS Alarm System **/
01897         boolean alarm_system_enabled();
01898 
01899         };
01900         
01902         interface ROstringSeq : PstringSeq {
01904         Subscription new_subscription_Alarm (in AlarmstringSeq cb,
01905                                              in CBDescIn desc);
01906 
01907         //** Enables the propagation of Property Alarms to the ACS Alarm System **/
01908         void enable_alarm_system();
01909 
01910         //** Disables the propagation of Property Alarms to the ACS Alarm System **/
01911         void disable_alarm_system() raises (baciErrTypeProperty::DisableAlarmsErrorEx);
01912 
01913         //** Returns the current status of the propagation of Property Alarms to the ACS Alarm System **/
01914         boolean alarm_system_enabled();
01915         };
01916         
01917         
01919         interface RWboolean : Pboolean {
01921         readonly attribute boolean min_value;
01922         
01924         readonly attribute boolean max_value;
01925         
01927         ACSErr::Completion set_sync (in boolean value);
01928                         
01930         void set_async (in boolean value,
01931                         in CBvoid cb,
01932                         in CBDescIn desc);
01933         
01935         void set_nonblocking (in boolean value);
01936                         
01938         };
01939         
01941         interface ROboolean : Pboolean {
01942         
01944         Subscription new_subscription_Alarm (in Alarmboolean cb,
01945                                              in CBDescIn desc);
01946                                              
01947     //** Enables the propagation of Property Alarms to the ACS Alarm System **/
01948         void enable_alarm_system();
01949 
01950         //** Disables the propagation of Property Alarms to the ACS Alarm System **/
01951         void disable_alarm_system() raises (baciErrTypeProperty::DisableAlarmsErrorEx);
01952 
01953         //** Returns the current status of the propagation of Property Alarms to the ACS Alarm System **/
01954         boolean alarm_system_enabled();
01955                                              
01956         };
01957         
01959         interface RObooleanSeq : PbooleanSeq {
01961         Subscription new_subscription_Alarm (in Alarmboolean cb,
01962                                              in CBDescIn desc);
01963     
01964     //** Enables the propagation of Property Alarms to the ACS Alarm System **/
01965         void enable_alarm_system();
01966 
01967         //** Disables the propagation of Property Alarms to the ACS Alarm System **/
01968         void disable_alarm_system() raises (baciErrTypeProperty::DisableAlarmsErrorEx);
01969 
01970         //** Returns the current status of the propagation of Property Alarms to the ACS Alarm System **/
01971         boolean alarm_system_enabled();                                      
01972         };
01973 
01975         interface RWbooleanSeq : PbooleanSeq {
01977         readonly attribute boolean min_value;
01978         
01980         readonly attribute boolean max_value;
01981         
01983         ACSErr::Completion set_sync (in booleanSeq value);
01984                         
01986         void set_async (in booleanSeq value,
01987                         in CBvoid cb,
01988                         in CBDescIn desc);
01989                         
01992         void set_nonblocking (in booleanSeq value);
01993                         
01995         void increment (in CBvoid cb,
01996                         in CBDescIn desc);
01997                         
01999         void decrement (in CBvoid cb,
02000                         in CBDescIn desc);
02001                         
02003         };
02004 
02005 
02007         interface ROdoubleSeq : PdoubleSeq {
02008         readonly attribute double alarm_low_on;
02009         readonly attribute double alarm_low_off;
02010         readonly attribute double alarm_high_on;
02011         readonly attribute double alarm_high_off;
02012                 
02014         Subscription new_subscription_Alarm (in Alarmdouble cb,
02015                                              in CBDescIn desc);
02016         
02017         //** Enables the propagation of Property Alarms to the ACS Alarm System **/
02018         void enable_alarm_system();
02019 
02020         //** Disables the propagation of Property Alarms to the ACS Alarm System **/
02021         void disable_alarm_system() raises (baciErrTypeProperty::DisableAlarmsErrorEx);
02022 
02023         //** Returns the current status of the propagation of Property Alarms to the ACS Alarm System **/
02024         boolean alarm_system_enabled();
02025 
02027         };
02028         
02030         interface RWdoubleSeq : PdoubleSeq {
02032         readonly attribute double min_value;
02033         
02035         readonly attribute double max_value;
02036         
02038         ACSErr::Completion set_sync (in doubleSeq value);
02039                         
02041         void set_async (in doubleSeq value,
02042                         in CBvoid cb,
02043                         in CBDescIn desc);
02044                         
02047         void set_nonblocking (in doubleSeq value);
02048                         
02050         void increment (in CBvoid cb,
02051                         in CBDescIn desc);
02052                         
02054         void decrement (in CBvoid cb,
02055                         in CBDescIn desc);
02056                         
02058         };
02059         
02061         interface ROfloatSeq : PfloatSeq {
02062         readonly attribute float alarm_low_on;
02063         readonly attribute float alarm_low_off;
02064         readonly attribute float alarm_high_on;
02065         readonly attribute float alarm_high_off;
02066                 
02068         Subscription new_subscription_Alarm (in Alarmfloat cb,
02069                                              in CBDescIn desc);
02070         
02071         //** Enables the propagation of Property Alarms to the ACS Alarm System **/
02072         void enable_alarm_system();
02073 
02074         //** Disables the propagation of Property Alarms to the ACS Alarm System **/
02075         void disable_alarm_system() raises (baciErrTypeProperty::DisableAlarmsErrorEx);
02076 
02077         //** Returns the current status of the propagation of Property Alarms to the ACS Alarm System **/
02078         boolean alarm_system_enabled();
02079 
02081         };
02082         
02084         interface RWfloatSeq : PfloatSeq {
02086         readonly attribute float min_value;
02087         
02089         readonly attribute float max_value;
02090         
02092         ACSErr::Completion set_sync (in floatSeq value);
02093                         
02095         void set_async (in floatSeq value,
02096                         in CBvoid cb,
02097                         in CBDescIn desc);
02098                         
02101         void set_nonblocking (in floatSeq value);
02102                         
02104         void increment (in CBvoid cb,
02105                         in CBDescIn desc);
02106                         
02108         void decrement (in CBvoid cb,
02109                         in CBDescIn desc);
02110                         
02112         };
02113         
02115         interface ROlongSeq : PlongSeq {
02117         readonly attribute long alarm_low_on;
02119         readonly attribute long alarm_low_off;
02121         readonly attribute long alarm_high_on;
02123         readonly attribute long alarm_high_off;
02124         
02126         Subscription new_subscription_Alarm (in Alarmlong cb,
02127                                              in CBDescIn desc);
02128                         
02129         //** Enables the propagation of Property Alarms to the ACS Alarm System **/
02130         void enable_alarm_system();
02131 
02132         //** Disables the propagation of Property Alarms to the ACS Alarm System **/
02133         void disable_alarm_system() raises (baciErrTypeProperty::DisableAlarmsErrorEx);
02134 
02135         //** Returns the current status of the propagation of Property Alarms to the ACS Alarm System **/
02136         boolean alarm_system_enabled();
02137 
02139         };
02140         
02142         interface RWlongSeq : PlongSeq {
02144         readonly attribute long min_value;
02145         
02147         readonly attribute long max_value;
02148                 
02150         ACSErr::Completion set_sync (in longSeq value);
02151                         
02153         void set_async (in longSeq value,
02154                         in CBvoid cb,
02155                         in CBDescIn desc);
02156                         
02158         void set_nonblocking (in longSeq value);
02159                         
02161         void increment (in CBvoid cb,
02162                         in CBDescIn desc);
02163                         
02165         void decrement (in CBvoid cb,
02166                         in CBDescIn desc);
02167                         
02169         };
02170         
02172         interface ROuLongSeq : PuLongSeq {
02174         readonly attribute uLong alarm_low_on;
02176         readonly attribute uLong alarm_low_off;
02178         readonly attribute uLong alarm_high_on;
02180         readonly attribute uLong alarm_high_off;
02181         
02183         Subscription new_subscription_Alarm (in AlarmuLong cb,
02184                                              in CBDescIn desc);
02185                                              
02186         //** Enables the propagation of Property Alarms to the ACS Alarm System **/
02187         void enable_alarm_system();
02188 
02189         //** Disables the propagation of Property Alarms to the ACS Alarm System **/
02190         void disable_alarm_system() raises (baciErrTypeProperty::DisableAlarmsErrorEx);
02191 
02192         //** Returns the current status of the propagation of Property Alarms to the ACS Alarm System **/
02193         boolean alarm_system_enabled();
02194                         
02196         };
02197         
02199         interface RWuLongSeq : PuLongSeq {
02201         readonly attribute uLong min_value;
02202         
02204         readonly attribute uLong max_value;
02205                 
02207         ACSErr::Completion set_sync (in uLongSeq value);
02208                         
02210         void set_async (in uLongSeq value,
02211                         in CBvoid cb,
02212                         in CBDescIn desc);
02213                         
02215         void set_nonblocking (in uLongSeq value);
02216                         
02218         void increment (in CBvoid cb,
02219                         in CBDescIn desc);
02220                         
02222         void decrement (in CBvoid cb,
02223                         in CBDescIn desc);
02224                         
02226         };
02227         
02229         interface ROlong : Plong {
02230                 readonly attribute long alarm_low_on;
02231                 readonly attribute long alarm_low_off;
02232                 readonly attribute long alarm_high_on;
02233                 readonly attribute long alarm_high_off;
02234                 
02237                 Subscription new_subscription_Alarm (in Alarmlong cb,
02238                                                      in CBDescIn desc);
02239                         
02240         //** Enables the propagation of Property Alarms to the ACS Alarm System **/
02241         void enable_alarm_system();
02242 
02243         //** Disables the propagation of Property Alarms to the ACS Alarm System **/
02244         void disable_alarm_system() raises (baciErrTypeProperty::DisableAlarmsErrorEx);
02245 
02246         //** Returns the current status of the propagation of Property Alarms to the ACS Alarm System **/
02247         boolean alarm_system_enabled();
02248 
02250         };
02251         
02253         interface RWlong : Plong {
02255         ACSErr::Completion set_sync (in long value);
02256                         
02258         void set_async (in long value,
02259                         in CBvoid cb,
02260                         in CBDescIn desc);
02261                         
02263         void set_nonblocking (in long value);
02264                         
02269         void increment (in CBvoid cb,
02270                         in CBDescIn desc);
02271                         
02276         void decrement (in CBvoid cb,
02277                         in CBDescIn desc);
02278                         
02280         readonly attribute long max_value;
02281         readonly attribute long min_value;
02282         };
02283         
02285         interface ROuLong : PuLong {
02286         readonly attribute uLong alarm_low_on;
02287         readonly attribute uLong alarm_low_off;
02288         readonly attribute uLong alarm_high_on;
02289         readonly attribute uLong alarm_high_off;
02290         
02292         Subscription new_subscription_Alarm (in AlarmuLong cb,
02293                                              in CBDescIn desc);
02294     
02295     //** Enables the propagation of Property Alarms to the ACS Alarm System **/
02296         void enable_alarm_system();
02297 
02298         //** Disables the propagation of Property Alarms to the ACS Alarm System **/
02299         void disable_alarm_system() raises (baciErrTypeProperty::DisableAlarmsErrorEx);
02300 
02301         //** Returns the current status of the propagation of Property Alarms to the ACS Alarm System **/
02302         boolean alarm_system_enabled();                                      
02303         
02306         };
02307 
02309         interface RWuLong : PuLong {
02310 
02312         ACSErr::Completion set_sync (in uLong value);
02313                         
02315         void set_async (in uLong value,
02316                         in CBvoid cb,
02317                         in CBDescIn desc);
02318                         
02320         void set_nonblocking (in uLong value);
02321                         
02326         void increment (in CBvoid cb,
02327                         in CBDescIn desc);
02328                         
02333         void decrement (in CBvoid cb,
02334                         in CBDescIn desc);
02335                         
02337         readonly attribute uLong max_value;
02338         readonly attribute uLong min_value;
02339         };
02340 
02341 /***********************  LONG LONG */
02342 
02343         interface PlongLong : TypelessProperty {
02344         readonly attribute TimeInterval default_timer_trigger;
02345         readonly attribute TimeInterval min_timer_trigger;
02346         readonly attribute longLong min_delta_trigger;
02347         readonly attribute longLong default_value;
02348         readonly attribute longLong graph_min;
02349         readonly attribute longLong graph_max;
02350         readonly attribute longLong min_step;
02351         
02353         longLong get_sync (out ACSErr::Completion c);
02354         
02356         void get_async (in CBlongLong cb,
02357                         in CBDescIn desc);
02358                         
02360         long get_history (in long n_last_values,
02361                           out longLongSeq vs,
02362                           out TimeSeq ts);
02363                         
02365         MonitorlongLong create_monitor (in CBlongLong cb,
02366                                         in CBDescIn desc);
02367         
02369         MonitorlongLong create_postponed_monitor (in Time start_time,
02370                                                   in CBlongLong cb,
02371                                                   in CBDescIn desc);
02372                         
02374         };
02375 
02376         interface AlarmlongLong : Callback {
02378         oneway void alarm_raised (in longLong value,
02379                                   in ACSErr::Completion c,
02380                                   in CBDescOut desc);
02381                         
02383         oneway void alarm_cleared (in longLong value,
02384                                    in ACSErr::Completion c,
02385                                    in CBDescOut desc);
02386         };
02387 
02388         interface ROlongLong : PlongLong {
02389         readonly attribute longLong alarm_low_on;
02390         readonly attribute longLong alarm_low_off;
02391         readonly attribute longLong alarm_high_on;
02392         readonly attribute longLong alarm_high_off;
02393                 
02395         Subscription new_subscription_Alarm (in AlarmlongLong cb,
02396                                              in CBDescIn desc);
02397                         
02398         //** Enables the propagation of Property Alarms to the ACS Alarm System **/
02399         void enable_alarm_system();
02400 
02401         //** Disables the propagation of Property Alarms to the ACS Alarm System **/
02402         void disable_alarm_system() raises (baciErrTypeProperty::DisableAlarmsErrorEx);
02403 
02404         //** Returns the current status of the propagation of Property Alarms to the ACS Alarm System **/
02405         boolean alarm_system_enabled();
02406 
02409         };
02410 
02411         interface RWlongLong : PlongLong {
02413         ACSErr::Completion set_sync (in longLong value);
02414                         
02416         void set_async (in longLong value,
02417                         in CBvoid cb,
02418                         in CBDescIn desc);
02419                         
02421         void set_nonblocking (in longLong value);
02422                         
02427         void increment (in CBvoid cb,
02428                         in CBDescIn desc);
02429                         
02432         void decrement (in CBvoid cb,
02433                         in CBDescIn desc);
02434                         
02436         readonly attribute longLong max_value;
02437         readonly attribute longLong min_value;
02438         };
02439 
02440         /****** unsigned long long ***/
02441 
02442 
02443 
02444         interface PuLongLong : TypelessProperty {
02445         readonly attribute TimeInterval default_timer_trigger;
02446         readonly attribute TimeInterval min_timer_trigger;
02447         readonly attribute uLongLong min_delta_trigger;
02448         readonly attribute uLongLong default_value;
02449         readonly attribute uLongLong graph_min;
02450         readonly attribute uLongLong graph_max;
02451         readonly attribute uLongLong min_step;
02452         
02454         uLongLong get_sync (out ACSErr::Completion c);
02455                         
02457         void get_async (in CBuLongLong cb,
02458                         in CBDescIn desc);
02459                         
02461         long get_history (in  long n_last_values,
02462                           out uLongLongSeq vs,
02463                           out TimeSeq ts);
02464                         
02466         MonitoruLongLong create_monitor (in CBuLongLong cb,
02467                                          in CBDescIn desc);
02468                         
02470         MonitoruLongLong create_postponed_monitor (in Time start_time,
02471                                                    in CBuLongLong cb,
02472                                                    in CBDescIn desc);
02473                         
02475         };
02476 
02477         interface AlarmuLongLong : Callback {
02478 
02480         oneway void alarm_raised (in uLongLong value,
02481                                   in ACSErr::Completion c,
02482                                   in CBDescOut desc);
02483                         
02485         oneway void alarm_cleared (in uLongLong value,
02486                                    in ACSErr::Completion c,
02487                                    in CBDescOut desc);
02488                         
02489         };
02490 
02491         interface ROuLongLong : PuLongLong {
02492         readonly attribute uLongLong alarm_low_on;
02493         readonly attribute uLongLong alarm_low_off;
02494         readonly attribute uLongLong alarm_high_on;
02495         readonly attribute uLongLong alarm_high_off;
02496         
02498         Subscription new_subscription_Alarm (in AlarmuLongLong cb,
02499                                              in CBDescIn desc);
02500         
02501         //** Enables the propagation of Property Alarms to the ACS Alarm System **/
02502         void enable_alarm_system();
02503 
02504         //** Disables the propagation of Property Alarms to the ACS Alarm System **/
02505         void disable_alarm_system() raises (baciErrTypeProperty::DisableAlarmsErrorEx);
02506 
02507         //** Returns the current status of the propagation of Property Alarms to the ACS Alarm System **/
02508         boolean alarm_system_enabled();
02509 
02512         };
02513 
02514         interface RWuLongLong : PuLongLong {
02515 
02517         ACSErr::Completion set_sync (in uLongLong value);
02518                         
02520         void set_async (in uLongLong value,
02521                         in CBvoid cb,
02522                         in CBDescIn desc);
02523                         
02525         void set_nonblocking (in uLongLong value);
02526                         
02531         void increment (in CBvoid cb,
02532                         in CBDescIn desc);
02533                         
02538         void decrement (in CBvoid cb,
02539                         in CBDescIn desc);
02540                         
02542         readonly attribute uLongLong max_value;
02543         readonly attribute uLongLong min_value;
02544         };
02545 };
02546 
02547 #endif /* _BACI_IDL_ */

Generated on Fri Apr 15 2016 15:13:14 for ACS-2016.4 IDL interfaces by  doxygen 1.7.0