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

acsdaemon.idl

Go to the documentation of this file.
00001 #ifndef _ACSDAEMON_IDL_
00002 #define _ACSDAEMON_IDL_
00003 
00004 /*******************************************************************************
00005 *    ALMA - Atacama Large Millimiter Array
00006 *
00007 *    (c) European Southern Observatory, 2002
00008 *    Copyright by ESO (in the framework of the ALMA collaboration)
00009 *    and Cosylab 2002, All rights reserved
00010 *
00011 *    This library is free software; you can redistribute it and/or
00012 *    modify it under the terms of the GNU Lesser General Public
00013 *    License as published by the Free Software Foundation; either
00014 *    version 2.1 of the License, or (at your option) any later version.
00015 *
00016 *    This library is distributed in the hope that it will be useful,
00017 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
00018 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00019 *    Lesser General Public License for more details.
00020 *
00021 *    You should have received a copy of the GNU Lesser General Public
00022 *    License along with this library; if not, write to the Free Software
00023 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
00024 *
00025 * "@(#) $Id: acsdaemon.idl,v 1.25 2012/11/22 08:20:21 hsommer Exp $"
00026 *
00027 * who       when      what
00028 * --------  --------  ----------------------------------------------
00029 * msekoran 2006-06-21 created
00030 *
00031 * This file comes from module ACS/LGPL/CommonSoftware/acsdaemonidl
00032 */
00033 
00034 #include <acscommon.idl>
00035 #include <acscomponent.idl>
00036 #include <ACSErrTypeCommon.idl>
00037 #include <maciErrType.idl>
00038 #include <acsdaemonErrType.idl>
00039 
00040 #pragma prefix "alma"
00041 
00046 module acsdaemon 
00047 {
00051 
00059         interface DaemonCallback : ACS::OffShoot
00060         {
00064                 void done(in ACSErr::Completion comp);
00065 
00069                 void working(in ACSErr::Completion comp);
00070         };
00071 
00072 
00076         const string containerDaemonServiceName = "ACSContainerDaemon";
00077 
00078 
00084         interface ContainerDaemon
00085         {
00096         void start_container(
00097                         in string container_type, 
00098                         in string container_name, 
00099                         in short instance_number,
00100                         in ACS::stringSeq type_modifiers,
00101                         in string flags)
00102                                 raises (acsdaemonErrType::FailedToStartContainerEx, ACSErrTypeCommon::BadParameterEx);
00103                                 
00107         void start_container_sync(
00108                         in string container_type, 
00109                         in string container_name, 
00110                         in short instance_number,
00111                         in ACS::stringSeq type_modifiers,
00112                         in string flags)
00113                                 raises (acsdaemonErrType::FailedToStartContainerEx, ACSErrTypeCommon::BadParameterEx);
00114                                 
00123         void stop_container(in string container_name, 
00124                         in short instance_number, 
00125                         in string flags) 
00126                                 raises (acsdaemonErrType::FailedToStopContainerEx, ACSErrTypeCommon::BadParameterEx);
00127 
00131         void stop_container_sync(in string container_name, 
00132                         in short instance_number, 
00133                         in string flags) 
00134                                 raises (acsdaemonErrType::FailedToStopContainerEx, ACSErrTypeCommon::BadParameterEx);
00135                                 
00136                                 
00137                                 
00145         void shutdown() raises (maciErrType::NoPermissionEx);
00146         };
00147 
00148 
00152 
00156         const string servicesDaemonServiceName = "ACSServicesDaemon";
00157 
00164         const string systemNotificationServiceDefault = "NotifyEventChannelFactory";
00165 
00172         const string systemNotificationServiceLogging = "LoggingNotifyEventChannelFactory";
00173 
00180         const string systemNotificationServiceAlarms = "AlarmNotifyEventChannelFactory";
00181 
00188         const string systemNotificationServiceMonitorarchive = "ArchiveNotifyEventChannelFactory";
00189         
00195         typedef string services_definition_xml;
00196         
00197 
00202         interface DaemonSequenceCallback : ACS::OffShoot
00203         {
00207                 void done(in ACSErr::Completion comp);
00208 
00212                 void working(in string service, in string host, in short instance_number, in ACSErr::Completion comp);
00213         };
00214 
00215 
00224         interface ServiceDefinitionBuilder : ACS::OffShoot
00225         {
00229                 readonly attribute short acs_instance_number;
00230                 
00237                 void add_naming_service(in string host) raises (ACSErrTypeCommon::BadParameterEx);
00238 
00246                 void add_notification_service(in string name, in string host) raises (ACSErrTypeCommon::BadParameterEx);
00247 
00255                 void add_xml_cdb(in string host, in boolean recovery, in string xml_cdb_dir) raises (ACSErrTypeCommon::BadParameterEx);
00256 
00264                 void add_rdb_cdb(in string host, in boolean recovery, in string config_name) raises (ACSErrTypeCommon::BadParameterEx);
00265 
00274                 void add_manager(in string host, in string domain, in boolean recovery) raises (ACSErrTypeCommon::BadParameterEx);
00275 
00282                 void add_acs_log(in string host) raises (ACSErrTypeCommon::BadParameterEx);
00283 
00291                 void add_logging_service(in string host, in string name) raises (ACSErrTypeCommon::BadParameterEx);
00292 
00304                 void add_interface_repository(in string host, in boolean load, in boolean wait_load) raises (ACSErrTypeCommon::BadParameterEx);
00305 
00320                 void add_services_definition(in services_definition_xml definition) raises (ACSErrTypeCommon::BadParameterEx);
00321                 
00331                 boolean is_valid(out string error_description);
00332 
00344                 services_definition_xml get_services_definition();
00345                 
00352                 void add_alarm_service(in string host) raises (ACSErrTypeCommon::BadParameterEx);
00353 
00361                 void close();
00362                 
00363         };
00364 
00365         
00369         enum ServiceState { NOT_EXISTING, DEFUNCT, DEGRADED, RUNNING };
00370         
00371         struct ServiceInfo {
00372                 string service_type; 
00373                 string service_name; 
00374                 string service_reference; 
00375         };
00376         
00377         typedef sequence<ServiceInfo> ServiceInfoSeq;
00378 
00382         interface ImpBase
00383         {
00387                 void set_configuration_reference(in short instance_number, in ServiceInfoSeq services_info);
00388                 
00396                 boolean ping();
00397 
00405                 oneway void shutdown();
00406         };
00407 
00408 
00409 
00413         interface NamingServiceSpell
00414         {
00423                 void start_naming_service(in DaemonCallback callback, in short instance_number) 
00424                         raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceAlreadyRunningEx);
00425 
00434                 void stop_naming_service(in DaemonCallback callback, in short instance_number) 
00435                                 raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceNotRunningEx);
00436         };
00437 
00441         interface NamingServiceImp : ImpBase, NamingServiceSpell
00442         {
00448                 ServiceState get_service_status(in short instance_number) 
00449                         raises (ACSErrTypeCommon::BadParameterEx);
00450         };
00451 
00452 
00456         interface NotificationServiceSpell
00457         {
00470                 void start_notification_service(in string name, in DaemonCallback callback, in short instance_number) 
00471                         raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceAlreadyRunningEx);
00472 
00482                 void stop_notification_service(in string name, in DaemonCallback callback, in short instance_number) 
00483                         raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceNotRunningEx);
00484 
00485         };
00486 
00487 
00491         interface NotificationServiceImp : ImpBase, NotificationServiceSpell
00492         {
00499                 ServiceState get_service_status(in string name, in short instance_number) 
00500                         raises (ACSErrTypeCommon::BadParameterEx);
00501         };
00502 
00506         interface CDBSpell
00507         {
00508 
00519                 void start_xml_cdb(in DaemonCallback callback, in short instance_number, in boolean recovery, in string xml_cdb_dir) 
00520                         raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceAlreadyRunningEx);
00521 
00532                 void start_rdb_cdb(in DaemonCallback callback, in short instance_number, in boolean recovery, in string config_name) 
00533                         raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceAlreadyRunningEx);
00534 
00543                 void stop_cdb(in DaemonCallback callback, in short instance_number) 
00544                         raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceNotRunningEx);
00545 
00546         };
00547 
00551         interface CDBImp : ImpBase, CDBSpell
00552         {
00558                 ServiceState get_service_status(in short instance_number) 
00559                         raises (ACSErrTypeCommon::BadParameterEx);
00560         };
00561 
00565         interface ManagerSpell
00566         {
00578                 void start_manager(in string domain, in DaemonCallback callback, in short instance_number, in boolean recovery)
00579                         raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceAlreadyRunningEx);
00580 
00589                 void stop_manager(in string domain, in DaemonCallback callback, in short instance_number) 
00590                         raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceNotRunningEx);
00591 
00592         };
00593 
00597         interface ManagerImp : ImpBase, ManagerSpell
00598         {
00604                 ServiceState get_service_status(in short instance_number) 
00605                         raises (ACSErrTypeCommon::BadParameterEx);
00606         };
00607 
00608 
00612         interface ACSLogSpell
00613         {
00623                 void start_acs_log(in DaemonCallback callback, in short instance_number) 
00624                         raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceAlreadyRunningEx);
00625 
00634                 void stop_acs_log(in DaemonCallback callback, in short instance_number) 
00635                         raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceNotRunningEx);
00636 
00637         };
00638 
00642         interface ACSLogImp : ImpBase, ACSLogSpell
00643         {
00649                 ServiceState get_service_status(in short instance_number) 
00650                         raises (ACSErrTypeCommon::BadParameterEx);
00651         };
00652 
00653 
00657         interface LoggingServiceSpell
00658         {
00668                 void start_logging_service(in string name, in DaemonCallback callback, in short instance_number) 
00669                         raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceAlreadyRunningEx);
00670 
00680                 void stop_logging_service(in string name, in DaemonCallback callback, in short instance_number) 
00681                         raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceNotRunningEx);
00682 
00683         };
00684 
00688         interface LoggingServiceImp : ImpBase, LoggingServiceSpell
00689         {
00696                 ServiceState get_service_status(in string name, in short instance_number) 
00697                         raises (ACSErrTypeCommon::BadParameterEx);
00698         };
00699 
00703         interface InterfaceRepositorySpell
00704         {
00717                 void start_interface_repository(in boolean load, in boolean wait_load, in DaemonCallback callback, in short instance_number) 
00718                         raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceAlreadyRunningEx);
00719 
00728                 void stop_interface_repository(in DaemonCallback callback, in short instance_number) 
00729                         raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceNotRunningEx);
00730 
00731         };
00732 
00736         interface InterfaceRepositoryImp : ImpBase, InterfaceRepositorySpell
00737         {
00743                 ServiceState get_service_status(in short instance_number) 
00744                         raises (ACSErrTypeCommon::BadParameterEx);
00745         };
00746 
00750         interface AlarmServiceSpell
00751         {
00760                 void start_alarm_service(in DaemonCallback callback, in short instance_number) 
00761                         raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceAlreadyRunningEx);
00762 
00771                 void stop_alarm_service(in DaemonCallback callback, in short instance_number) 
00772                                 raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceNotRunningEx);
00773         };
00774 
00778         interface AlarmServiceImp : ImpBase, AlarmServiceSpell
00779         {
00785                 ServiceState get_service_status(in short instance_number) 
00786                         raises (ACSErrTypeCommon::BadParameterEx);
00787         };
00788 
00823         interface ServicesDaemon :
00824                 NamingServiceSpell, NotificationServiceSpell, CDBSpell,
00825                 ManagerSpell, ACSLogSpell, LoggingServiceSpell, InterfaceRepositorySpell, AlarmServiceSpell
00826         {
00839                 ServiceDefinitionBuilder create_service_definition_builder(in short instance_number)
00840                         raises (ACSErrTypeCommon::BadParameterEx, ACSErrTypeCommon::NoResourcesEx);
00841                         
00862                 void start_services(in services_definition_xml definition, in boolean reuse_services, in DaemonSequenceCallback callback) 
00863                         raises (ACSErrTypeCommon::BadParameterEx);
00864 
00879                 void stop_services(in services_definition_xml definition, in DaemonSequenceCallback callback) 
00880                         raises (ACSErrTypeCommon::BadParameterEx);
00881 
00891                 void start_acs( 
00892                                 in DaemonSequenceCallback callback,
00893                                 in short instance_number, 
00894                                 in string flags)
00895                         raises (ACSErrTypeCommon::BadParameterEx);
00896 
00906                 void stop_acs(
00907                                 in DaemonSequenceCallback callback,
00908                                 in short instance_number, 
00909                                 in string flags)
00910                         raises (ACSErrTypeCommon::BadParameterEx);
00911 
00921                 string status_acs(in short instance_number)
00922                         raises (acsdaemonErrType::FailedToGetAcsStatusEx);
00923 
00931                 void shutdown() raises (maciErrType::NoPermissionEx);
00932 
00936                 void set_configuration_reference(in short instance_number, in ServiceInfoSeq services_info);
00937         };
00938 
00939 };
00940 
00941 #endif

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