#include <Dump.h>
Collaboration diagram for ACE_ODB:

Public Types | |
| enum | { MAX_TABLE_SIZE = 100000 } |
Public Member Functions | |
| void | dump_objects (void) |
| void | register_object (const ACE_Dumpable *dumper) |
| Add the tuple <dumper, this_> to the list of registered ACE objects. | |
| void | remove_object (const void *this_) |
Static Public Member Functions | |
| ACE_ODB * | instance (void) |
| Interface to the Singleton instance of the object database. | |
Private Member Functions | |
| ACE_ODB (void) | |
Private Attributes | |
| Tuple | object_table_ [ACE_ODB::MAX_TABLE_SIZE] |
| int | current_size_ |
| Current size of . | |
Static Private Attributes | |
| ACE_ODB * | instance_ = 0 |
| Singleton instance of this class. | |
Definition at line 114 of file Dump.h.
|
|
Definition at line 118 of file Dump.h.
00118 {MAX_TABLE_SIZE = 100000};
|
|
|
Definition at line 50 of file Dump.cpp. References ACE_TRACE.
00052 : current_size_ (0) 00053 { 00054 ACE_TRACE ("ACE_ODB::ACE_ODB"); 00055 } |
|
|
Iterates through the entire set of registered objects and dumps their state. Definition at line 79 of file Dump.cpp. References ACE_TRACE, ACE_ODB::Tuple::dumper_, object_table_, and ACE_ODB::Tuple::this_.
00080 {
00081 ACE_TRACE ("ACE_ODB::dump_objects");
00082 for (int i = 0; i < this->current_size_; i++)
00083 {
00084 if (this->object_table_[i].this_ != 0)
00085 // Dump the state of the object.
00086 this->object_table_[i].dumper_->dump ();
00087 }
00088 }
|
|
|
Interface to the Singleton instance of the object database.
Definition at line 58 of file Dump.cpp. References ACE_GUARD_RETURN, ACE_NEW_RETURN, ACE_TRACE, and instance_.
00059 {
00060 ACE_TRACE ("ACE_ODB::instance");
00061
00062 if (ACE_ODB::instance_ == 0)
00063 {
00064 ACE_MT (ACE_Thread_Mutex *lock =
00065 ACE_Managed_Object<ACE_Thread_Mutex>::get_preallocated_object
00066 (ACE_Object_Manager::ACE_DUMP_LOCK);
00067 ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, *lock, 0));
00068
00069 if (ACE_ODB::instance_ == 0)
00070 ACE_NEW_RETURN (ACE_ODB::instance_,
00071 ACE_ODB,
00072 0);
00073 }
00074
00075 return ACE_ODB::instance_;
00076 }
|
|
|
Add the tuple <dumper, this_> to the list of registered ACE objects.
Definition at line 94 of file Dump.cpp. References ACE_ASSERT, ACE_TRACE, ACE_ODB::Tuple::dumper_, MAX_TABLE_SIZE, object_table_, ACE_Dumpable::this_, and ACE_ODB::Tuple::this_.
00095 {
00096 ACE_TRACE ("ACE_ODB::register_object");
00097 int i;
00098 int slot = 0;
00099
00100 for (i = 0; i < this->current_size_; i++)
00101 {
00102 if (this->object_table_[i].this_ == 0)
00103 slot = i;
00104 else if (this->object_table_[i].this_ == dumper->this_)
00105 {
00106 slot = i;
00107 break;
00108 }
00109 }
00110
00111 if (i == this->current_size_)
00112 {
00113 slot = this->current_size_++;
00114 ACE_ASSERT (this->current_size_ < ACE_ODB::MAX_TABLE_SIZE);
00115 }
00116 this->object_table_[slot].this_ = dumper->this_;
00117 this->object_table_[slot].dumper_ = dumper;
00118 }
|
|
|
Use to locate and remove the associated from the list of registered ACE objects. Definition at line 121 of file Dump.cpp. References ACE_TRACE, ACE_ODB::Tuple::dumper_, object_table_, and ACE_ODB::Tuple::this_.
00122 {
00123 ACE_TRACE ("ACE_ODB::remove_object");
00124 int i;
00125
00126 for (i = 0; i < this->current_size_; i++)
00127 {
00128 if (this->object_table_[i].this_ == this_ptr)
00129 break;
00130 }
00131
00132 if (i < this->current_size_)
00133 {
00134 this->object_table_[i].this_ = 0;
00135 this->object_table_[i].dumper_ = 0;
00136 }
00137 }
|
|
|
Current size of .
|
|
|
Singleton instance of this class.
Definition at line 139 of file Dump.cpp. Referenced by instance(). |
|
|
The current implementation is very simple-minded and will be changed to be dynamic. Definition at line 160 of file Dump.h. Referenced by dump_objects(), register_object(), and remove_object(). |
1.3.6