maci::ContainerImpl

NAME
SYNOPSIS
Detailed Description
Member Typedef Documentation
Constructor & Destructor Documentation
Member Function Documentation
Member Data Documentation
Author

NAME

maci::ContainerImpl −

SYNOPSIS

#include <maciContainerImpl.h>

Classes

struct ContainerComponentInfo

Structure to hold components information.

Public Member Functions

maci::Container_ptr getContainerCORBAProxy ()

char * getProcessName ()

ContainerImpl ()

Constructor.

virtual ~ContainerImpl ()

Destructor.

maci::Manager_ptr getManager ()

bool init (int argc, char *argv[])

bool connect ()

bool run ()

bool done ()

int getStatus ()

Get status of container (main() return value).

void setStatus (int status)

Set status of container (main() return value).

void etherealizeComponent (const char *id, PortableServer::Servant servant)

Called by the servant manager - used to etherealize component when references to it dropped to 0.

int getShutdownAction ()

void setShutdownAction (int action)

maci::Handle getHandle ()

PortableServer::POA_var getContainerPOA ()

PortableServer::POAManager_var getPOAManager ()

ContainerServices * getContainerServices ()

CORBA::ORB_var getContainerORB ()

virtual ::maci::Handle get_handle ()

virtual maci::ComponentInfo * activate_component (maci::Handle h, maci::ExecutionId execution_id, const char *name, const char *exe, const char *type)

virtual void activate_component_async (maci::Handle, maci::ExecutionId, const char *, const char *, const char *, maci::CBComponentInfo *, const ACS::CBDescIn &)

virtual void deactivate_component (maci::Handle h)

virtual CORBA::Object_ptr restart_component (maci::Handle h)

virtual void shutdown (CORBA::ULong action)

virtual maci::ComponentInfoSeq * get_component_info (const maci::HandleSeq &h)

virtual char * name ()

virtual void disconnect ()

virtual maci::AuthenticationData * authenticate (maci::ExecutionId execution_id, const char *question)

virtual void message (CORBA::Short type, const char *message)

virtual void taggedmessage (CORBA::Short type, CORBA::Short tag, const char *message)

virtual void components_available (const maci::ComponentInfoSeq &components)

virtual void components_unavailable (const maci::stringSeq &component_names)

virtual void set_component_shutdown_order (const maci::HandleSeq &h)

virtual CORBA::Object_ptr get_object (const char *name, const char *domain, bool activate)

template<class T > T * get_object (const char *name, const char *domain, bool activate)

template<class T > T * getComponent (const char *name, const char *domain, bool activate)

template<class T > T * getService (const char *name, const char *domain, bool activate)

void releaseComponent (const char *name)

virtual CORBA::Boolean ping ()

virtual Logging::LoggingConfigurable::LogLevels get_default_logLevels ()

virtual void set_default_logLevels (const Logging::LoggingConfigurable::LogLevels &)

virtual Logging::stringSeq * get_logger_names ()

virtual Logging::LoggingConfigurable::LogLevels get_logLevels (const char *)

virtual void set_logLevels (const char *, const Logging::LoggingConfigurable::LogLevels &)

virtual void refresh_logging_config ()

void loadLoggerConfiguration (const std::string &loggerName)

CORBA::Object_ptr activateCORBAObject (PortableServer::Servant srvnt, const char *name)

Activates CORBA obejct.

bool deactivateCORBAObject (PortableServer::Servant servant)

Deactivates servant.

bool deactivateCORBAObject (CORBA::Object_ptr servant)

Deactivates servant.

Static Public Member Functions

static ContainerImpl * getContainer ()

static LoggingProxy * getLoggerProxy ()

static void initThread (const char *threadName=0)

Thread initialization method. Has to be called by each thread to initialize it.

static void doneThread ()

Thread finalization method. Has to be called by each thread to finalize it.

static void configureLogger (const std::string &loggerName)

Protected Member Functions

Logging::Logger::LoggerSmartPtr getLogger ()

Private Types

typedef ACE_Hash_Map_Manager< maci::Handle, ContainerComponentInfo, ACE_Recursive_Thread_Mutex > COMPONENT_HASH_MAP

typedef ACE_Hash_Map_Iterator< maci::Handle, ContainerComponentInfo, ACE_Recursive_Thread_Mutex > COMPONENT_HASH_MAP_ITER

typedef ACE_Hash_Map_Entry< maci::Handle, ContainerComponentInfo > COMPONENT_HASH_MAP_ENTRY

typedef ACE_Unbounded_Set< maci::Handle > COMPONENT_LIST

Private Member Functions

int parseArgs (int argc, char *argv[])

void showUsage (int argc, char *argv[])

Show usage.

ContainerServices * instantiateContainerServices (maci::Handle h, ACE_CString &name, ACE_CString &type, PortableServer::POA_ptr poa)

bool initializeCORBA (int &argc, char *argv[])

Initializes componentA.

bool doneCORBA ()

Finalizes CORBA.

int loadDLL (const char *bame)

Helper method to loadDLL.

maci::Manager_ptr resolveManager (int nSecTimeout)

Resolve manager.

void logout ()

const acsalarm::AlarmSourceThread * getAlarmSourceThread ()

Private Attributes

const char * m_pid_file_name

File to output the process id.

const char * m_manager_ref

Manager cmd-ln reference.

const char * m_container_name

LogThrottleAlarmImpl * m_logThrottleAlarm_p

MACIServantManager * m_servant_mgr

servant manager

cdb::Table * m_database

Database access.

maci::Container_var m_container_ref

CORBA::ORB_var orb

PortableServer::POAManager_var poaManager

PortableServer::POA_var poaRoot

PortableServer::POA_var poaContainer

PortableServer::POA_var poaPersistent

PortableServer::POA_var poaTransient

maci::Manager_var m_manager

Reference to the manager.

maci::Handle m_handle

Handle of the container (given from Mamager at logon).

int m_status

bool m_shutdown

Is manager shutting down?

COMPONENT_HASH_MAP m_activeComponents

Data about all active components.

COMPONENT_LIST m_activeComponentList

Component list (preserves order of activation).

maci::HandleSeq m_componentShutdownOrder

Component shutdown order (given from the manager).

ACE_CString m_dbPrefix

ACE_CString m_dbRootPrefix

int m_argc

int m_fullargc

char ** m_argv

int m_shutdownAction

Shutdown action.

bool m_hasIFR

Is InterfaceRepository present?

bool m_recovery

Recovery switch.

ACE_SYNCH_MUTEX m_shutdownMutex

The mutual exclusion mechanism which is required to use the <condition_>.

ACE_SYNCH_CONDITION m_shutdownDone

Condition used to wait until Container shutdown is finished.

bool m_shutdownDoneSignaled

Signaling state (to avoid waiting for already signaled signal).

int m_serverThreads

Number of server threads to handle CORBA ORB requests.

bool m_dynamicContainer

Dynamic container (i.e. without CDB configuration).

ContainerServices * m_containerServices

ContainerServices.

maci::ContainerThreadHook m_containerThreadHook

threads’ standard start-up hook

Logging::Logger::LoggerSmartPtr m_logger

Logger for this container;.

Logging::LoggingConfigurable::LogLevels m_defaultLogLevels

std::map< std::string, Logging::LoggingConfigurable::LogLevels > m_logLevels

maci::ExecutionId m_executionId

ACS::Time m_startTime

unsigned long cacheSize

unsigned long minCachePriority

unsigned long maxCachePriority

unsigned int flushPeriodSeconds

int maxLogsPerSecond

MethodRequestThreadPool * m_methodRequestThreadPool

std::auto_ptr< acsalarm::AlarmSourceThread > m_alarmSourceThread_ap

Static Private Attributes

static ContainerImpl * m_container

static LibraryManager * m_dllmgr

library manager

static LoggingProxy * m_loggerProxy

logger

static int m_logLevelRefresh

static int m_logLevelConfigure

static CORBA::ULong m_invocationTimeout

Invocation timeout in milliseconds (0 - disabled).

Detailed Description

Container is an agent of MACI that is installed on every computer of the control system. There can be more than one Container living on the same computer, but there can be only one Container per process. It has the following responsibilities:

1.

Constructs Controlled Objects (components) when the Manager instructs it to (see activate_component and deactivate_component).

2.

Provides the components that it hosts with basic MACI services, such as:

access to the Manager

access to the Local Database

access to other components (indirectly through the Manager)

access to the ORB and POA

3.

Handles intricacies of working with the ORB and the POA, such as connecting the newly created components to the POA.

4.

Maintains code-base of components that can be instantiated on the computer (see get_executables, get_executable_info and put_executable_code.

5.

Is responsive to a shutdown directive from the Manager, which can shutdown only the Container’s process, or reboot the computer (see shutdown).

The Container could be easily extended to assist the Manager in fault detection: the Container could respond to periodic pings issued by the Manager, and if the responses stop, the Manager could assume a failure of the Container’s computer.
Author:

Matej Sekoranja, Jozef Stefan Institute, Slovenia

Version:

Member Typedef Documentation

typedef ACE_Hash_Map_Manager<maci::Handle, ContainerComponentInfo, ACE_Recursive_Thread_Mutex> maci::ContainerImpl::COMPONENT_HASH_MAP [private]

typedef ACE_Hash_Map_Entry<maci::Handle, ContainerComponentInfo> maci::ContainerImpl::COMPONENT_HASH_MAP_ENTRY [private]

typedef ACE_Hash_Map_Iterator<maci::Handle, ContainerComponentInfo, ACE_Recursive_Thread_Mutex> maci::ContainerImpl::COMPONENT_HASH_MAP_ITER [private]

typedef ACE_Unbounded_Set<maci::Handle> maci::ContainerImpl::COMPONENT_LIST [private]

Constructor & Destructor Documentation

maci::ContainerImpl::ContainerImpl ()

Constructor.

virtual maci::ContainerImpl::~ContainerImpl () [virtual]

Destructor.

Member Function Documentation

virtual maci::ComponentInfo* maci::ContainerImpl::activate_component (maci::Handle h, maci::ExecutionId execution_id, const char * name, const char * exe, const char * type) [virtual] Activate a component whose type (class) and name (instance) are given.

In the process of activation, component’s code-base is loaded into memory if it is not there already. The code-base resides in an executable file (usually a dynamic-link library or a shared library -- DLL).
On platforms that do not automatically load dependent executables (e.g., VxWorks), the Container identifies the dependancies by querying the executable and loads them automatically.
Once the code is loaded, it is asked to construct a servant of a given type.
The servant is then initialized with the Configuration Database (CDB) and Persistance Database (PDB) data. The servant is attached to the component, and a reference to it is returned.
Parameters:

h Handle of the component that is being activated. This handle is used by the component when it will present itself to the Manager. The component is expected to remember this handle for its entire life-time.
name
Name of the component to instantiate.
exe
Path to the executable file (a DLL or a shared library) in which the component’s code resides. The path is relative to the root directory in which all executable code is stored. The path must not contain dots, and uses slashes (not backslashes) to separate components of the path. The path must not include the extension, or any prefixes, so that it is platform independent.
type
The type of the component to instantiate. The interpretation of this field depends on the executable. Type should uniquely identify the code-base which the component will be executing. Note: Type name is NOT CORBA repository id.

Exceptions:

maciErrType::CannotActivateComponentEx

Returns:

Returns the reference to the object that has just been activated. If the component could not the activated, a nil reference is returned.

virtual void maci::ContainerImpl::activate_component_async (maci::Handle, maci::ExecutionId, const char *, const char *, const char *, maci::CBComponentInfo *, const ACS::CBDescIn &) [virtual]

CORBA::Object_ptr maci::ContainerImpl::activateCORBAObject (PortableServer::Servant srvnt, const char * name)

Activates CORBA obejct.

virtual maci::AuthenticationData* maci::ContainerImpl::authenticate (maci::ExecutionId execution_id, const char * question) [virtual] Authentication method. Method authenticate is the challenge issued to the client after it tries to login. The login will be successful if the client’s authenticate() produces the expected result. Only in this case will the Manager’s login method return a valid handle, which the client will later use as the id parameter with all calls to the Manager.

Parameters:

The question posed by the Manager.

Returns:

Answer to the question. The first character of the answer identifies the type of the client: A An container (implements the Container interface)

virtual void maci::ContainerImpl::components_available (const maci::ComponentInfoSeq & components) [virtual] Notify client about the change (availability) of the components currently in use by this client. For administrative clients, notification is issued for the change of availability of any component in the domain.

Parameters:

components A sequence of ComponentInfo structures identifying the affected components. Regular clients receive the name, the type, the handle and the reference of the newly activated component. Administrative clients also receive the handle of the Container where the component was activated.

virtual void maci::ContainerImpl::components_unavailable (const maci::stringSeq & component_names) [virtual] Notify client that some of the components currently in use by client have become unavailable.

Parameters:

component_names CURLs of the unavailable components

static void maci::ContainerImpl::configureLogger (const std::string & loggerName) [static]

bool maci::ContainerImpl::connect ()

virtual void maci::ContainerImpl::deactivate_component (maci::Handle h) [virtual] Deactivate a component whose handle is given.

Deactivation is the inverse process of activation: component is detached from the POA, and thus made unavailable through CORBA, and its resources are freed. If it’s code-base is no longer used, it is unloaded from memory.
Parameters:

h A handle identifying a component to be released.

bool maci::ContainerImpl::deactivateCORBAObject (PortableServer::Servant servant)

Deactivates servant.

bool maci::ContainerImpl::deactivateCORBAObject (CORBA::Object_ptr servant)

Deactivates servant.

virtual void maci::ContainerImpl::disconnect () [virtual] Disconnect notification. The disconnect method is called by the Manager to notify the client that it will be unavailable and that the client should log off.

bool maci::ContainerImpl::done ()

bool maci::ContainerImpl::doneCORBA () [private]

Finalizes CORBA.

static void maci::ContainerImpl::doneThread () [static]

Thread finalization method. Has to be called by each thread to finalize it.

void maci::ContainerImpl::etherealizeComponent (const char * id, PortableServer::Servant servant)

Called by the servant manager - used to etherealize component when references to it dropped to 0.

virtual maci::ComponentInfoSeq* maci::ContainerImpl::get_component_info (const maci::HandleSeq & h) [virtual] Returns information about a subset of components that are currently hosted by the Container.

Note: If the list of handles is empty, information about all components hosted by the container is returned!
Parameters:

Handles of the components whose information should be retrieved.

Returns:

Information about the selected components.

virtual Logging::LoggingConfigurable::LogLevels maci::ContainerImpl::get_default_logLevels () [virtual] Logging configurable methods

virtual ::maci::Handle maci::ContainerImpl::get_handle () Return a handle that was given to the Container at login into the Manager. If the container is not logged in (or never was) the method must return 0.

Returns:

the Container’s handle.

virtual Logging::stringSeq* maci::ContainerImpl::get_logger_names () [virtual]

virtual Logging::LoggingConfigurable::LogLevels maci::ContainerImpl::get_logLevels (const char *) [virtual]

virtual CORBA::Object_ptr maci::ContainerImpl::get_object (const char * name, const char * domain, bool activate) [virtual] Get a component, activating it if necessary. The client must have adequate access rights to access the component. This is untrue of components: NameService, Log, LogFactory, NotifyEventChannelFactory, ArchivingChannel@ARCHIVING.channels, LoggingChannel@LOGGING.channels, InterfaceRepository, CDB.

Parameters:

name name of the component (e.g. MOUTN1)
domain
domain name, 0 for default domain
activate
true to activate component, false to leave it in the current state

Returns:

reference to the component. If the component could not be activated, a CORBA::Object::_nil() reference is returned.

Deprecated

getContainerService()->getComponent() should be used instead

template<class T > T* maci::ContainerImpl::get_object (const char * name, const char * domain, bool activate) [inline] get_object template method

Parameters:

name name of the component
doman
domain name (could be 0)
activate
true to activate component, false to leave it in the current state

Returns:

reference to the component it just redirect call to getComponent, so getComponent should be used instead

Deprecated

getContainerService()->getComponent<T>() should be used instead

const acsalarm::AlarmSourceThread* maci::ContainerImpl::getAlarmSourceThread () [inline, private]

template<class T > T * maci::ContainerImpl::getComponent (const char * name, const char * domain, bool activate) getComponent template method

Parameters:

name name of the component
doman
domain name (could be 0)
activate
true to activate component, false to leave it in the current state

Returns:

reference to the component

Deprecated

getContainerService()->getComponent<T>() should be used instead

Todo

getComponent should throw an exception in case of error

First creates the CURL and query the Manager for the component
Todo

throw ex;

Todo

throw ex;

Todo

throw ex;

Todo

throw ex;

References ACS_SHORT_LOG, m_handle, and m_manager.

static ContainerImpl* maci::ContainerImpl::getContainer () [inline, static] Get container instance Discouraged direct usage of this reference, use CORBA proxy instead: ContainerImpl::getContainer()->getContainerCORBAProxy()

Returns:

container instance

maci::Container_ptr maci::ContainerImpl::getContainerCORBAProxy () [inline] Get container CORBA proxy instance

Returns:

container CORBA proxy instance

CORBA::ORB_var maci::ContainerImpl::getContainerORB () [inline] Get container ORB

Returns:

The Container ORB

PortableServer::POA_var maci::ContainerImpl::getContainerPOA () [inline] Get container POA

Returns:

The Container POA

ContainerServices* maci::ContainerImpl::getContainerServices () [inline] Get container services

Returns:

the container services

maci::Handle maci::ContainerImpl::getHandle () [inline] Get container handle

Returns:

The container handle

Logging::Logger::LoggerSmartPtr maci::ContainerImpl::getLogger () [inline, protected] Returns an ACS Logger created for this container.

Returns:

an ACS Logger

static LoggingProxy* maci::ContainerImpl::getLoggerProxy () [inline, static] Get logging proxy instance

Returns:

logging proxy instance

maci::Manager_ptr maci::ContainerImpl::getManager () Get manager instance

Returns:

manager instance. Returns the reference to this domain’s Manager. If the container is not logged in or if the manager could not be found, NULL is returned.

NOTE: The returned pointer is NOT duplicated. This means that you should not assign it to a _var object! The object pointed to is freed during Container’s destruction. If you still need the pointer after that, duplicate it.
EXAMPLE:
Attempt an operation on the Manager.
try { getContainer()->getManager()->release_component(’mycomponent’); } catch(const CORBA::SystemException&) { }

PortableServer::POAManager_var maci::ContainerImpl::getPOAManager () [inline] Get POA Manager

Returns:

The POA Manager

char* maci::ContainerImpl::getProcessName () [inline] Get container’s proces name

Returns:

container’s proces name

template<class T > T * maci::ContainerImpl::getService (const char * name, const char * domain, bool activate) getService template method

Parameters:

name name of the service
doman
domain name (could be 0)
activate
true to activate service, false to leave it in the current state

Returns:

reference to the service

Exceptions:

maciErrType::CannotGetServiceExImpl Could be this method decalred as deprecated since getContainerServices()->getComponent can be used instead ?

Implementation for getService template method
References ACS_SHORT_LOG, ACS_TRACE, m_handle, and m_manager.

int maci::ContainerImpl::getShutdownAction () [inline] Get shutdown action.

Returns:

0 - reload the container, 1 - reboot the computer, 2 - exit the container

int maci::ContainerImpl::getStatus () [inline]

Get status of container (main() return value).

bool maci::ContainerImpl::init (int argc, char * argv[])

bool maci::ContainerImpl::initializeCORBA (int & argc, char * argv[]) [private]

Initializes componentA.

static void maci::ContainerImpl::initThread (const char * threadName = 0) [static]

Thread initialization method. Has to be called by each thread to initialize it.

ContainerServices* maci::ContainerImpl::instantiateContainerServices (maci::Handle h, ACE_CString & name, ACE_CString & type, PortableServer::POA_ptr poa) [private] Build a new ContainerServices object (this object implements the abstract class acsContainerServices)

Parameters:

h The handle of the component
name
The name of the component
poa
The POA

Returns:

The ContainerServices object (the default is the object defined in maciContainerServices.h)

int maci::ContainerImpl::loadDLL (const char * bame) [private]

Helper method to loadDLL.

void maci::ContainerImpl::loadLoggerConfiguration (const std::string & loggerName)

void maci::ContainerImpl::logout () [private]

virtual void maci::ContainerImpl::message (CORBA::Short type, const char * message) [virtual] The Manager and administrators use this method for sending textual messages to the client.

Parameters:

type Can be either MSG_ERROR or MSG_INFORMATION.
message
Contents of the message. The contents are human readable.

virtual char* maci::ContainerImpl::name () [virtual] Container name

Returns:

name of the container. The caller has to take care for the releaseing of the memory! The memory is allocated with CORBA::string_dup.

int maci::ContainerImpl::parseArgs (int argc, char * argv[]) [private] Parses command-line argument

Parameters:

argc
argv

virtual CORBA::Boolean maci::ContainerImpl::ping () [virtual] Manager pings its clients (both GUI clients, as well as Containers) repeatedly to verify that they still exist. The return value can be either true, indicating that everything is OK with the client, of false, indicating that client is malfunctioning. If CORBA::TRANSIENT exception is thrown, the Manager should retry the ping several times, and only then shall the client be assumed to be malfunctioning. If another exception is thrown, the client may be immediately assumed to be malfunctioning. Once the client is found to be malfunctioning, the Manager makes an implicit logout of the client.

Returns:

true, indicating that everything is OK with the client, of false, indicating that client is malfunctioning.

virtual void maci::ContainerImpl::refresh_logging_config () [virtual]

void maci::ContainerImpl::releaseComponent (const char * name) Releases the specified component.

Parameters:

The name of the component instance to be released

Returns:

void

maci::Manager_ptr maci::ContainerImpl::resolveManager (int nSecTimeout) [private]

Resolve manager.

virtual CORBA::Object_ptr maci::ContainerImpl::restart_component (maci::Handle h) [virtual] Restarts an component.

Parameters:

h a handle identifying component to be restarted.

Returns:

a new reference of the restarted component.

bool maci::ContainerImpl::run ()

virtual void maci::ContainerImpl::set_component_shutdown_order (const maci::HandleSeq & h) [virtual] Notify container about component shutdown order.

Parameters:

h ordered list of components’ handles.

virtual void maci::ContainerImpl::set_default_logLevels (const Logging::LoggingConfigurable::LogLevels &) [virtual]

virtual void maci::ContainerImpl::set_logLevels (const char *, const Logging::LoggingConfigurable::LogLevels &) [virtual]

void maci::ContainerImpl::setShutdownAction (int action) [inline] Set shutdown action.

Parameters:

0 - reload the container, 1 - reboot the computer, 2 - exit the container

void maci::ContainerImpl::setStatus (int status) [inline]

Set status of container (main() return value).

void maci::ContainerImpl::showUsage (int argc, char * argv[]) [private]

Show usage.

virtual void maci::ContainerImpl::shutdown (CORBA::ULong action) [virtual] Shutdown the Container.

Parameters:

Action to take after shutting down. Bits 8 thru 15 of this parameter denote the action, which can be one of:

0 -- reload the container

1 -- reboot the computer

2 -- exit the container

The bits 0 thru 7 (values 0 to 255) are the return value that the Container will pass to the operating system.

virtual void maci::ContainerImpl::taggedmessage (CORBA::Short type, CORBA::Short tag, const char * message) [virtual] The Manager and administrators use this method for sending tagged textual messages to the client.

Parameters:

type Can be either MSG_ERROR or MSG_INFORMATION.
tag
Additional information tage
message
Contents of the message. The contents are human readable.

Member Data Documentation

unsigned long maci::ContainerImpl::cacheSize [private]

unsigned int maci::ContainerImpl::flushPeriodSeconds [private]

COMPONENT_LIST maci::ContainerImpl::m_activeComponentList [private]

Component list (preserves order of activation).

COMPONENT_HASH_MAP maci::ContainerImpl::m_activeComponents [private]

Data about all active components.

std::auto_ptr<acsalarm::AlarmSourceThread> maci::ContainerImpl::m_alarmSourceThread_ap [private]

int maci::ContainerImpl::m_argc [private]

char** maci::ContainerImpl::m_argv [private]

maci::HandleSeq maci::ContainerImpl::m_componentShutdownOrder [private]

Component shutdown order (given from the manager).

ContainerImpl* maci::ContainerImpl::m_container [static, private]

const char* maci::ContainerImpl::m_container_name [private]

maci::Container_var maci::ContainerImpl::m_container_ref [private]

ContainerServices* maci::ContainerImpl::m_containerServices [private]

ContainerServices.

maci::ContainerThreadHook maci::ContainerImpl::m_containerThreadHook [private]

threads’ standard start-up hook

cdb::Table* maci::ContainerImpl::m_database [private]

Database access.

ACE_CString maci::ContainerImpl::m_dbPrefix [private]

ACE_CString maci::ContainerImpl::m_dbRootPrefix [private]

Logging::LoggingConfigurable::LogLevels maci::ContainerImpl::m_defaultLogLevels [private]

LibraryManager* maci::ContainerImpl::m_dllmgr [static, private]

library manager

bool maci::ContainerImpl::m_dynamicContainer [private]

Dynamic container (i.e. without CDB configuration).

maci::ExecutionId maci::ContainerImpl::m_executionId [private]

int maci::ContainerImpl::m_fullargc [private]

maci::Handle maci::ContainerImpl::m_handle [private]

Handle of the container (given from Mamager at logon).
Referenced by getComponent(), and getService().

bool maci::ContainerImpl::m_hasIFR [private]

Is InterfaceRepository present?

CORBA::ULong maci::ContainerImpl::m_invocationTimeout [static, private]

Invocation timeout in milliseconds (0 - disabled).

Logging::Logger::LoggerSmartPtr maci::ContainerImpl::m_logger [private]

Logger for this container;.

LoggingProxy* maci::ContainerImpl::m_loggerProxy [static, private]

logger

int maci::ContainerImpl::m_logLevelConfigure [static, private]

int maci::ContainerImpl::m_logLevelRefresh [static, private]

std::map<std::string, Logging::LoggingConfigurable::LogLevels> maci::ContainerImpl::m_logLevels [private]

LogThrottleAlarmImpl* maci::ContainerImpl::m_logThrottleAlarm_p [private]

maci::Manager_var maci::ContainerImpl::m_manager [private]

Reference to the manager.
Referenced by getComponent(), and getService().

const char* maci::ContainerImpl::m_manager_ref [private]

Manager cmd-ln reference.

MethodRequestThreadPool* maci::ContainerImpl::m_methodRequestThreadPool [private]

const char* maci::ContainerImpl::m_pid_file_name [private]

File to output the process id.

bool maci::ContainerImpl::m_recovery [private]

Recovery switch.

MACIServantManager* maci::ContainerImpl::m_servant_mgr [private]

servant manager

int maci::ContainerImpl::m_serverThreads [private]

Number of server threads to handle CORBA ORB requests.

bool maci::ContainerImpl::m_shutdown [private]

Is manager shutting down?

int maci::ContainerImpl::m_shutdownAction [private]

Shutdown action.

ACE_SYNCH_CONDITION maci::ContainerImpl::m_shutdownDone [private]

Condition used to wait until Container shutdown is finished.

bool maci::ContainerImpl::m_shutdownDoneSignaled [private]

Signaling state (to avoid waiting for already signaled signal).

ACE_SYNCH_MUTEX maci::ContainerImpl::m_shutdownMutex [private]

The mutual exclusion mechanism which is required to use the <condition_>.

ACS::Time maci::ContainerImpl::m_startTime [private]

int maci::ContainerImpl::m_status [private] Status of the container, later used as the return value from the main() function.

unsigned long maci::ContainerImpl::maxCachePriority [private]

int maci::ContainerImpl::maxLogsPerSecond [private]

unsigned long maci::ContainerImpl::minCachePriority [private]

CORBA::ORB_var maci::ContainerImpl::orb [private]

PortableServer::POA_var maci::ContainerImpl::poaContainer [private]

PortableServer::POAManager_var maci::ContainerImpl::poaManager [private]

PortableServer::POA_var maci::ContainerImpl::poaPersistent [private]

PortableServer::POA_var maci::ContainerImpl::poaRoot [private]

PortableServer::POA_var maci::ContainerImpl::poaTransient [private]

Author

Generated automatically by Doxygen for ACS-2015.2 C++ API from the source code.