00001
#ifndef _ACSDAEMON_IDL_
00002
#define _ACSDAEMON_IDL_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
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