#include <OS.h>
Inheritance diagram for ACE_Object_Manager_Base:


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 Methods | |
| virtual int | init (void)=0 |
| virtual int | fini (void)=0 |
Protected Methods | |
| 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... | |
| u_int | dynamically_allocated_ |
| ACE_Object_Manager_Base * | next_ |
| Link to next Object_Manager, for chaining. More... | |
Private Methods | |
| ACE_Object_Manager_Base (const ACE_Object_Manager_Base &) | |
| ACE_Object_Manager_Base & | operator= (const ACE_Object_Manager_Base &) |
Encapsulates the most useful ACE_Object_Manager data structures.
Definition at line 6146 of file OS.h.
|
|
Definition at line 6178 of file OS.h.
06179 {
06180 OBJ_MAN_UNINITIALIZED = 0,
06181 OBJ_MAN_INITIALIZING,
06182 OBJ_MAN_INITIALIZED,
06183 OBJ_MAN_SHUTTING_DOWN,
06184 OBJ_MAN_SHUT_DOWN
06185 };
|
|
|
Default constructor.
Definition at line 6516 of file OS.cpp.
06517 : object_manager_state_ (OBJ_MAN_UNINITIALIZED) 06518 , dynamically_allocated_ (0) 06519 , next_ (0) 06520 { 06521 } |
|
|
Destructor.
Definition at line 6523 of file OS.cpp. References dynamically_allocated_.
06524 {
06525 #if defined (ACE_HAS_NONSTATIC_OBJECT_MANAGER)
06526 // Clear the flag so that fini () doesn't delete again.
06527 dynamically_allocated_ = 0;
06528 #endif /* ACE_HAS_NONSTATIC_OBJECT_MANAGER */
06529 }
|
|
|
|
|
|
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. Referenced by ACE_OS_Object_Manager::fini. |
|
|
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. |
|
|
|
|
|
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.) Definition at line 6538 of file OS.cpp. References OBJ_MAN_INITIALIZED, and object_manager_state_. Referenced by ACE_Object_Manager::at_exit_i, ACE_OS_Object_Manager::fini, ACE_Object_Manager::fini, ACE_OS_Object_Manager::shutting_down, and ACE_Object_Manager::shutting_down.
06539 {
06540 return object_manager_state_ > OBJ_MAN_INITIALIZED;
06541 }
|
|
|
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.) Definition at line 6532 of file OS.cpp. References OBJ_MAN_INITIALIZED, and object_manager_state_. Referenced by ACE_OS_Object_Manager::init, ACE_Object_Manager::init, ACE_OS_Object_Manager::starting_up, and ACE_Object_Manager::starting_up.
06533 {
06534 return object_manager_state_ < OBJ_MAN_INITIALIZED;
06535 }
|
|
|
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.) Definition at line 6217 of file OS.h. Referenced by ACE_OS_Object_Manager::instance, ACE_Object_Manager::instance, ACE_Object_Manager::~ACE_Object_Manager, ~ACE_Object_Manager_Base, and ACE_OS_Object_Manager::~ACE_OS_Object_Manager. |
|
|
Link to next Object_Manager, for chaining.
Definition at line 6220 of file OS.h. Referenced by ACE_OS_Object_Manager::fini, and ACE_Object_Manager::init. |
|
|
State of the Object_Manager;.
Definition at line 6209 of file OS.h. Referenced by ACE_OS_Object_Manager::fini, ACE_Object_Manager::fini, ACE_OS_Object_Manager::init, ACE_Object_Manager::init, shutting_down_i, and starting_up_i. |
1.2.14 written by Dimitri van Heesch,
© 1997-2002