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

acsnc.idl

Go to the documentation of this file.
00001 #ifndef _ACSNC_IDL_
00002 #define _ACSNC_IDL_
00003 /*******************************************************************************
00004  *    ALMA - Atacama Large Millimiter Array
00005  *    (c) Associated Universities Inc., 2002
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  * who       when      what
00025  * --------  --------  ----------------------------------------------
00026  * david 2003-03-03 contains strings common to all implementation languages
00027  * david 2002-09-26 added more comments
00028  */
00029 #include <CosNotification.idl>
00030 #include <CosNotifyComm.idl>
00031 #include <NotifyExt.idl>
00032 #include <acscommon.idl>
00033 #include <baci.idl>
00034 
00035 #pragma prefix "alma"
00036 
00040 module acsnc
00041 {
00048     struct EventDescription
00049     {
00054         string name;
00055 
00061         ACS::Time timestamp;
00062 
00070         unsigned long long count;
00071     };
00072 
00073 
00078     typedef sequence<string> NCSeq;
00079 
00080 
00082     //The following definitions are used internally by all language mappings.
00084 
00088     const string FILTER_LANGUAGE_NAME = "ETCL";
00089 
00090 
00096     const string SEQUENCE_EVENT_TYPE_PREFIX = "_SequenceOf_";
00097 
00098 
00102     typedef short domainNameValue;
00103 
00107     const domainNameValue ALARMSYSTEM_DOMAIN_VAL = 0;
00108 
00112     const string ALARMSYSTEM_DOMAIN_NAME = "ALARMSYSTEM";
00113 
00115 
00121     interface ACSEventAdmin : ACS::ACSComponent
00122         {
00137         boolean authenticate(in string token);
00138 
00139 
00153         void createChannel(in string channelName,
00154                            in CosNotification::QoSProperties initialQOS,
00155                            in CosNotification::AdminProperties initialAdmin);
00156 
00172         void configChannelProperties(in string channelName,
00173                                      in CosNotification::QoSProperties newQOS,
00174                                      in CosNotification::AdminProperties newAdmin);
00175         
00185         void destroyChannel(in string channelName);
00186 
00203         void getChannelInfo(in string channelName, 
00204                             out unsigned short numSuppliers,
00205                             out unsigned short numConsumers,
00206                             out unsigned long long totalEvents,
00207                             out CosNotification::QoSProperties initialQOS,
00208                             out CosNotification::AdminProperties initialAdmin,
00209                             out NCSeq eventTypes);
00210 
00220         NCSeq getActiveChannels();
00221 
00237         void monitorEvents(in ACS::CBstring cb,
00238                            in ACS::CBDescIn desc);
00239         };
00240     
00246     interface OSPushSupplier : CosNotifyComm::StructuredPushSupplier, ACS::OffShoot {};
00247 
00253     interface OSPushConsumer : CosNotifyComm::StructuredPushConsumer, ACS::OffShoot {};
00254 
00260     interface OSReconnectionCallback : NotifyExt::ReconnectionCallback, ACS::OffShoot {};
00261 };
00262 #endif

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