ACE  6.4.2
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
ACE_Object_Manager_Base Class Referenceabstract

Base class for ACE_Object_Manager(s). More...

#include <Object_Manager_Base.h>

Inheritance diagram for ACE_Object_Manager_Base:
Inheritance graph
[legend]
Collaboration diagram for ACE_Object_Manager_Base:
Collaboration graph
[legend]

Public Types

enum  Object_Manager_State {
  OBJ_MAN_UNINITIALIZED = 0, OBJ_MAN_INITIALIZING, OBJ_MAN_INITIALIZED, OBJ_MAN_SHUTTING_DOWN,
  OBJ_MAN_SHUT_DOWN
}
 

Public Member Functions

virtual int init (void)=0
 
virtual int fini (void)=0
 

Protected Member Functions

 ACE_Object_Manager_Base (void)
 Default constructor. More...
 
virtual ~ACE_Object_Manager_Base (void)
 Destructor. More...
 
int starting_up_i (void)
 
int shutting_down_i (void)
 

Protected Attributes

Object_Manager_State object_manager_state_
 State of the Object_Manager;. More...
 
bool dynamically_allocated_
 
ACE_Object_Manager_Basenext_
 Link to next Object_Manager, for chaining. More...
 

Private Member Functions

 ACE_Object_Manager_Base (const ACE_Object_Manager_Base &)
 
ACE_Object_Manager_Baseoperator= (const ACE_Object_Manager_Base &)
 

Detailed Description

Base class for ACE_Object_Manager(s).

Encapsulates the most useful ACE_Object_Manager data structures.

Member Enumeration Documentation

Enumerator
OBJ_MAN_UNINITIALIZED 
OBJ_MAN_INITIALIZING 
OBJ_MAN_INITIALIZED 
OBJ_MAN_SHUTTING_DOWN 
OBJ_MAN_SHUT_DOWN 

Constructor & Destructor Documentation

ACE_Object_Manager_Base::ACE_Object_Manager_Base ( void  )
protected

Default constructor.

ACE_Object_Manager_Base::~ACE_Object_Manager_Base ( void  )
protectedvirtual

Destructor.

ACE_Object_Manager_Base::ACE_Object_Manager_Base ( const ACE_Object_Manager_Base )
private

Member Function Documentation

virtual int ACE_Object_Manager_Base::fini ( void  )
pure virtual

Explicitly destroy. Returns 0 on success, -1 on failure because the number of fini () calls hasn't reached the number of init () calls, or 1 if it had already been called.

Implemented in ACE_Object_Manager, and ACE_OS_Object_Manager.

virtual int ACE_Object_Manager_Base::init ( void  )
pure virtual

Explicitly initialize. Returns 0 on success, -1 on failure due to dynamic allocation failure (in which case errno is set to ENOMEM), or 1 if it had already been called.

Implemented in ACE_Object_Manager, and ACE_OS_Object_Manager.

ACE_Object_Manager_Base& ACE_Object_Manager_Base::operator= ( const ACE_Object_Manager_Base )
private
int ACE_Object_Manager_Base::shutting_down_i ( void  )
protected

Returns 1 after ACE_Object_Manager_Base has been destroyed. This flag can be used to determine if the program is in the midst of destroying static objects. (Note that the program might destroy some static objects before this flag can return 1, if ACE_HAS_NONSTATIC_OBJECT_MANAGER is not defined.)

int ACE_Object_Manager_Base::starting_up_i ( void  )
protected

Returns 1 before ACE_Object_Manager_Base has been constructed. This flag can be used to determine if the program is constructing static objects. If no static object spawns any threads, the program will be single-threaded when this flag returns 1. (Note that the program still might construct some static objects when this flag returns 0, if ACE_HAS_NONSTATIC_OBJECT_MANAGER is not defined.)

Member Data Documentation

bool ACE_Object_Manager_Base::dynamically_allocated_
protected

Flag indicating whether the ACE_Object_Manager was dynamically allocated by ACE. (If is was dynamically allocated by the application, then the application is responsible for destroying it.)

ACE_Object_Manager_Base* ACE_Object_Manager_Base::next_
protected

Link to next Object_Manager, for chaining.

Object_Manager_State ACE_Object_Manager_Base::object_manager_state_
protected

State of the Object_Manager;.


The documentation for this class was generated from the following files: