#include <maciContainerImpl.h>
Classes | |
struct | ContainerComponentInfo |
Structure to hold components information. More... | |
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::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 maci::LoggingConfigurable::LogLevels | get_default_logLevels () |
virtual void | set_default_logLevels (const maci::LoggingConfigurable::LogLevels &) |
virtual maci::stringSeq * | get_logger_names () |
virtual maci::LoggingConfigurable::LogLevels | get_logLevels (const char *) |
virtual void | set_logLevels (const char *, const maci::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 () |
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 |
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;. | |
maci::LoggingConfigurable::LogLevels | m_defaultLogLevels |
std::map< std::string, maci::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 |
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). |
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:
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.
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] |
maci::ContainerImpl::ContainerImpl | ( | ) |
Constructor.
virtual maci::ContainerImpl::~ContainerImpl | ( | ) | [virtual] |
Destructor.
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.
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. |
maciErrType::CannotActivateComponentEx |
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.
The | question posed by the Manager. |
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.
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.
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.
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!
Handles | of the components whose information should be retrieved. |
virtual maci::LoggingConfigurable::LogLevels maci::ContainerImpl::get_default_logLevels | ( | ) | [virtual] |
Logging configurable methods
virtual maci::stringSeq* maci::ContainerImpl::get_logger_names | ( | ) | [virtual] |
virtual maci::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, LoggingChannel, InterfaceRepository, CDB and PDB.
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 |
T* maci::ContainerImpl::get_object | ( | const char * | name, | |
const char * | domain, | |||
bool | activate | |||
) | [inline] |
get_object template method
name | name of the component | |
doman | domain name (could be 0) | |
activate | true to activate component, false to leave it in the current state |
T * maci::ContainerImpl::getComponent | ( | const char * | name, | |
const char * | domain, | |||
bool | activate | |||
) |
getComponent template method
name | name of the component | |
doman | domain name (could be 0) | |
activate | true to activate component, false to leave it in the current state |
First creates the CURL and query the Manager for the component
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()
maci::Container_ptr maci::ContainerImpl::getContainerCORBAProxy | ( | ) | [inline] |
Get container CORBA proxy instance
CORBA::ORB_var maci::ContainerImpl::getContainerORB | ( | ) | [inline] |
Get container ORB
PortableServer::POA_var maci::ContainerImpl::getContainerPOA | ( | ) | [inline] |
Get container POA
ContainerServices* maci::ContainerImpl::getContainerServices | ( | ) | [inline] |
Get container services
maci::Handle maci::ContainerImpl::getHandle | ( | ) | [inline] |
Get container handle
Logging::Logger::LoggerSmartPtr maci::ContainerImpl::getLogger | ( | ) | [inline, protected] |
static LoggingProxy* maci::ContainerImpl::getLoggerProxy | ( | ) | [inline, static] |
Get logging proxy instance
maci::Manager_ptr maci::ContainerImpl::getManager | ( | ) |
Get manager instance
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
char* maci::ContainerImpl::getProcessName | ( | ) | [inline] |
Get container's proces name
T * maci::ContainerImpl::getService | ( | const char * | name, | |
const char * | domain, | |||
bool | activate | |||
) |
getService template method
name | name of the service | |
doman | domain name (could be 0) | |
activate | true to activate service, false to leave it in the current state |
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.
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)
h | The handle of the component | |
name | The name of the component | |
poa | The POA |
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.
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
int maci::ContainerImpl::parseArgs | ( | int | argc, | |
char * | argv[] | |||
) | [private] |
Parses command-line argument
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.
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.
The | name of the component instance to be released |
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.
h | a handle identifying component to be restarted. |
bool maci::ContainerImpl::run | ( | ) |
virtual void maci::ContainerImpl::set_component_shutdown_order | ( | const maci::HandleSeq & | h | ) | [virtual] |
Notify container about component shutdown order.
h | ordered list of components' handles. |
virtual void maci::ContainerImpl::set_default_logLevels | ( | const maci::LoggingConfigurable::LogLevels & | ) | [virtual] |
virtual void maci::ContainerImpl::set_logLevels | ( | const char * | , | |
const maci::LoggingConfigurable::LogLevels & | ||||
) | [virtual] |
void maci::ContainerImpl::setShutdownAction | ( | int | action | ) | [inline] |
Set shutdown action.
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.
Action | to take after shutting down. Bits 8 thru 15 of this parameter denote the action, which can be one of:
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.
type | Can be either MSG_ERROR or MSG_INFORMATION. | |
tag | Additional information tage | |
message | Contents of the message. The contents are human readable. |
unsigned long maci::ContainerImpl::cacheSize [private] |
unsigned int maci::ContainerImpl::flushPeriodSeconds [private] |
Component list (preserves order of activation).
Data about all active components.
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] |
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] |
maci::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).
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, maci::LoggingConfigurable::LogLevels> maci::ContainerImpl::m_logLevels [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.
const char* maci::ContainerImpl::m_pid_file_name [private] |
File to output the process id.
bool maci::ContainerImpl::m_recovery [private] |
Recovery switch.
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] |