ACE_PI_Control_Block::ACE_Name_Node Class Reference

This class supports "named memory regions" within ACE_Malloc. More...

#include <PI_Malloc.h>

Collaboration diagram for ACE_PI_Control_Block::ACE_Name_Node:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ACE_Name_Node (const char *name, char *name_ptr, char *pointer, ACE_Name_Node *head)
 Constructor.

 ACE_Name_Node (const ACE_Name_Node &)
 Copy constructor.

 ACE_Name_Node (void)
 Constructor.

 ~ACE_Name_Node (void)
 Constructor.

const char * name (void) const
 Return a pointer to the name of this node.

void name (const char *)
 Assign a name;.

void dump (void) const
 Dump the state of the object.


Static Public Member Functions

void init_ptr (NAME_NODE_PTR *ptr, ACE_Name_Node *init, void *base_addr)
 Initialize a name node pointer.


Public Attributes

CHAR_PTR name_
 Name of the Node.

CHAR_PTR pointer_
 Pointer to the contents.

NAME_NODE_PTR next_
 Pointer to the next node in the doubly-linked list.

NAME_NODE_PTR prev_
 Pointer to the previous node in the doubly-linked list.


Private Member Functions

void operator= (const ACE_Name_Node &)

Detailed Description

This class supports "named memory regions" within ACE_Malloc.

Internally, the named memory regions are stored as a doubly-linked list within the Memory_Pool. This makes it easy to iterate over the items in the list in both FIFO and LIFO order.

Definition at line 103 of file PI_Malloc.h.


Constructor & Destructor Documentation

ACE_PI_Control_Block::ACE_Name_Node::ACE_Name_Node const char *  name,
char *  name_ptr,
char *  pointer,
ACE_Name_Node head
 

Constructor.

Definition at line 103 of file PI_Malloc.cpp.

References ACE_TRACE, prev_, and ACE_OS::strcpy().

00107   : name_ (name_ptr),
00108     pointer_ (pointer),
00109     next_ (next),
00110     prev_ (0)
00111 {
00112   ACE_TRACE ("ACE_PI_Control_Block::ACE_Name_Node::ACE_Name_Node");
00113   char *n = this->name_;
00114   ACE_OS::strcpy (n, name);
00115   if (next != 0)
00116     next->prev_ = this;
00117 }

ACE_PI_Control_Block::ACE_Name_Node::ACE_Name_Node const ACE_Name_Node  ) 
 

Copy constructor.

Definition at line 119 of file PI_Malloc.cpp.

References ACE_ASSERT, and ACE_TRACE.

00120 {
00121   ACE_TRACE ("ACE_PI_Control_Block::ACE_Name_Node::ACE_Name_Node");
00122   ACE_ASSERT (0); // not implemented!
00123 }

ACE_PI_Control_Block::ACE_Name_Node::ACE_Name_Node void   ) 
 

Constructor.

Definition at line 98 of file PI_Malloc.cpp.

References ACE_TRACE.

00099 {
00100   ACE_TRACE ("ACE_PI_Control_Block::ACE_Name_Node::ACE_Name_Node");
00101 }

ACE_PI_Control_Block::ACE_Name_Node::~ACE_Name_Node void   ) 
 

Constructor.


Member Function Documentation

void ACE_PI_Control_Block::ACE_Name_Node::dump void   )  const
 

Dump the state of the object.

Definition at line 145 of file PI_Malloc.cpp.

References ACE_BEGIN_DUMP, ACE_DEBUG, ACE_END_DUMP, ACE_LIB_TEXT, ACE_TRACE, and LM_DEBUG.

Referenced by ACE_PI_Control_Block::dump().

00146 {
00147 #if defined (ACE_HAS_DUMP)
00148   ACE_TRACE ("ACE_PI_Control_Block::ACE_Name_Node::dump");
00149 
00150   ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
00151   ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT("pointer = %x"), (const char *) this->pointer_));
00152   ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT("\nnext_ = %x"), (ACE_Name_Node *) this->next_));
00153   ACE_DEBUG ((LM_DEBUG,
00154               ACE_LIB_TEXT("\nname_ = (%x, %s)"),
00155               (const char *) this->name_,
00156               (const char *) this->name_));
00157   ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT("\n")));
00158   ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
00159 #endif /* ACE_HAS_DUMP */
00160 }

void ACE_PI_Control_Block::ACE_Name_Node::init_ptr NAME_NODE_PTR ptr,
ACE_Name_Node init,
void *  base_addr
[static]
 

Initialize a name node pointer.

void ACE_PI_Control_Block::ACE_Name_Node::name const char *   ) 
 

Assign a name;.

Definition at line 133 of file PI_Malloc.cpp.

References ACE_ASSERT.

00134 {
00135   ACE_ASSERT (0); // not implemented yet.
00136 }

const char * ACE_PI_Control_Block::ACE_Name_Node::name void   )  const
 

Return a pointer to the name of this node.

Definition at line 126 of file PI_Malloc.cpp.

00127 {
00128   const char *c = this->name_;
00129   return c;
00130 }

void ACE_PI_Control_Block::ACE_Name_Node::operator= const ACE_Name_Node  )  [private]
 


Member Data Documentation

CHAR_PTR ACE_PI_Control_Block::ACE_Name_Node::name_
 

Name of the Node.

Definition at line 134 of file PI_Malloc.h.

NAME_NODE_PTR ACE_PI_Control_Block::ACE_Name_Node::next_
 

Pointer to the next node in the doubly-linked list.

Definition at line 140 of file PI_Malloc.h.

Referenced by ACE_PI_Control_Block::dump().

CHAR_PTR ACE_PI_Control_Block::ACE_Name_Node::pointer_
 

Pointer to the contents.

Definition at line 137 of file PI_Malloc.h.

NAME_NODE_PTR ACE_PI_Control_Block::ACE_Name_Node::prev_
 

Pointer to the previous node in the doubly-linked list.

Definition at line 143 of file PI_Malloc.h.

Referenced by ACE_Name_Node().


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:26:22 2006 for ACE by doxygen 1.3.6