Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

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.17.2.2 2008/12/01 13:43:22 msekoran 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 { 00095 void start_container( 00096 in string container_type, 00097 in string container_name, 00098 in short instance_number, 00099 in ACS::stringSeq type_modifiers, 00100 in string flags) 00101 raises (acsdaemonErrType::FailedToStartContainerEx, ACSErrTypeCommon::BadParameterEx); 00109 void stop_container(in string container_name, 00110 in short instance_number, 00111 in string flags) 00112 raises (acsdaemonErrType::FailedToStopContainerEx, ACSErrTypeCommon::BadParameterEx); 00120 void shutdown() raises (maciErrType::NoPermissionEx); 00121 }; 00122 00123 00127 00131 const string servicesDaemonServiceName = "ACSServicesDaemon"; 00132 00139 const string systemNotificationServiceDefault = "NotifyEventChannelFactory"; 00140 00147 const string systemNotificationServiceLogging = "LoggingNotifyEventChannelFactory"; 00148 00155 const string systemNotificationServiceAlarms = "AlarmNotifyEventChannelFactory"; 00156 00163 const string systemNotificationServiceMonitorarchive = "ArchiveNotifyEventChannelFactory"; 00164 00170 typedef string services_definition_xml; 00171 00172 00177 interface DaemonSequenceCallback : ACS::OffShoot 00178 { 00182 void done(in ACSErr::Completion comp); 00183 00187 void working(in string service, in string host, in short instance_number, in ACSErr::Completion comp); 00188 }; 00189 00190 00199 interface ServiceDefinitionBuilder : ACS::OffShoot 00200 { 00204 readonly attribute short acs_instance_number; 00205 00212 void add_naming_service(in string host) raises (ACSErrTypeCommon::BadParameterEx); 00213 00221 void add_notification_service(in string name, in string host) raises (ACSErrTypeCommon::BadParameterEx); 00222 00231 void add_xml_cdb(in string host, in boolean recovery, in string xml_cdb_dir) raises (ACSErrTypeCommon::BadParameterEx); 00232 00241 void add_manager(in string host, in string domain, in boolean recovery) raises (ACSErrTypeCommon::BadParameterEx); 00242 00249 void add_acs_log(in string host) raises (ACSErrTypeCommon::BadParameterEx); 00250 00258 void add_logging_service(in string host, in string name) raises (ACSErrTypeCommon::BadParameterEx); 00259 00271 void add_interface_repository(in string host, in boolean load, in boolean wait_load) raises (ACSErrTypeCommon::BadParameterEx); 00272 00287 void add_services_definition(in services_definition_xml definition) raises (ACSErrTypeCommon::BadParameterEx); 00288 00298 boolean is_valid(out string error_description); 00299 00311 services_definition_xml get_services_definition(); 00312 00320 void close(); 00321 00322 }; 00323 00324 00328 enum ServiceState { NOT_EXISTING, DEFUNCT, DEGRADED, RUNNING }; 00329 00333 interface ImpBase 00334 { 00339 void set_manager_reference(in string ref); 00340 00348 boolean ping(); 00349 00357 oneway void shutdown(); 00358 }; 00359 00360 00361 00365 interface NamingServiceSpell 00366 { 00375 void start_naming_service(in DaemonCallback callback, in short instance_number) 00376 raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceAlreadyRunningEx); 00377 00386 void stop_naming_service(in DaemonCallback callback, in short instance_number) 00387 raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceNotRunningEx); 00388 }; 00389 00393 interface NamingServiceImp : ImpBase, NamingServiceSpell 00394 { 00400 ServiceState get_service_status(in short instance_number) 00401 raises (ACSErrTypeCommon::BadParameterEx); 00402 }; 00403 00404 00408 interface NotificationServiceSpell 00409 { 00422 void start_notification_service(in string name, in DaemonCallback callback, in short instance_number) 00423 raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceAlreadyRunningEx); 00424 00434 void stop_notification_service(in string name, in DaemonCallback callback, in short instance_number) 00435 raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceNotRunningEx); 00436 00437 }; 00438 00439 00443 interface NotificationServiceImp : ImpBase, NotificationServiceSpell 00444 { 00451 ServiceState get_service_status(in string name, in short instance_number) 00452 raises (ACSErrTypeCommon::BadParameterEx); 00453 }; 00454 00458 interface CDBSpell 00459 { 00460 00475 void start_xml_cdb(in DaemonCallback callback, in short instance_number, in boolean recovery, in string xml_cdb_dir) 00476 raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceAlreadyRunningEx); 00477 00486 void stop_cdb(in DaemonCallback callback, in short instance_number) 00487 raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceNotRunningEx); 00488 00489 }; 00490 00494 interface CDBImp : ImpBase, CDBSpell 00495 { 00501 ServiceState get_service_status(in short instance_number) 00502 raises (ACSErrTypeCommon::BadParameterEx); 00503 }; 00504 00508 interface ManagerSpell 00509 { 00521 void start_manager(in string domain, in DaemonCallback callback, in short instance_number, in boolean recovery) 00522 raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceAlreadyRunningEx); 00523 00532 void stop_manager(in string domain, in DaemonCallback callback, in short instance_number) 00533 raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceNotRunningEx); 00534 00535 }; 00536 00540 interface ManagerImp : ImpBase, ManagerSpell 00541 { 00547 ServiceState get_service_status(in short instance_number) 00548 raises (ACSErrTypeCommon::BadParameterEx); 00549 }; 00550 00551 00555 interface ACSLogSpell 00556 { 00566 void start_acs_log(in DaemonCallback callback, in short instance_number) 00567 raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceAlreadyRunningEx); 00568 00577 void stop_acs_log(in DaemonCallback callback, in short instance_number) 00578 raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceNotRunningEx); 00579 00580 }; 00581 00585 interface ACSLogImp : ImpBase, ACSLogSpell 00586 { 00592 ServiceState get_service_status(in short instance_number) 00593 raises (ACSErrTypeCommon::BadParameterEx); 00594 }; 00595 00596 00600 interface LoggingServiceSpell 00601 { 00611 void start_logging_service(in string name, in DaemonCallback callback, in short instance_number) 00612 raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceAlreadyRunningEx); 00613 00623 void stop_logging_service(in string name, in DaemonCallback callback, in short instance_number) 00624 raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceNotRunningEx); 00625 00626 }; 00627 00631 interface LoggingServiceImp : ImpBase, LoggingServiceSpell 00632 { 00639 ServiceState get_service_status(in string name, in short instance_number) 00640 raises (ACSErrTypeCommon::BadParameterEx); 00641 }; 00642 00646 interface InterfaceRepositorySpell 00647 { 00660 void start_interface_repository(in boolean load, in boolean wait_load, in DaemonCallback callback, in short instance_number) 00661 raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceAlreadyRunningEx); 00662 00671 void stop_interface_repository(in DaemonCallback callback, in short instance_number) 00672 raises (ACSErrTypeCommon::BadParameterEx, acsdaemonErrType::ServiceNotRunningEx); 00673 00674 }; 00675 00679 interface InterfaceRepositoryImp : ImpBase, InterfaceRepositorySpell 00680 { 00686 ServiceState get_service_status(in short instance_number) 00687 raises (ACSErrTypeCommon::BadParameterEx); 00688 }; 00689 00724 interface ServicesDaemon : 00725 NamingServiceSpell, NotificationServiceSpell, CDBSpell, 00726 ManagerSpell, ACSLogSpell, LoggingServiceSpell, InterfaceRepositorySpell 00727 { 00740 ServiceDefinitionBuilder create_service_definition_builder(in short instance_number) 00741 raises (ACSErrTypeCommon::BadParameterEx, ACSErrTypeCommon::NoResourcesEx); 00742 00763 void start_services(in services_definition_xml definition, in boolean reuse_services, in DaemonSequenceCallback callback) 00764 raises (ACSErrTypeCommon::BadParameterEx); 00765 00780 void stop_services(in services_definition_xml definition, in DaemonSequenceCallback callback) 00781 raises (ACSErrTypeCommon::BadParameterEx); 00782 00792 void start_acs( 00793 in DaemonSequenceCallback callback, 00794 in short instance_number, 00795 in string flags) 00796 raises (ACSErrTypeCommon::BadParameterEx); 00797 00807 void stop_acs( 00808 in DaemonSequenceCallback callback, 00809 in short instance_number, 00810 in string flags) 00811 raises (ACSErrTypeCommon::BadParameterEx); 00812 00822 string status_acs(in short instance_number) 00823 raises (acsdaemonErrType::FailedToGetAcsStatusEx); 00824 00832 void shutdown() raises (maciErrType::NoPermissionEx); 00833 00838 void set_manager_reference(in string ref); 00839 00840 }; 00841 00842 }; 00843 00844 #endif

Generated on Thu Apr 30 02:26:26 2009 for ACS IDL interfaces by doxygen 1.3.8