Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ACE_Name_Space_Map Class Template Reference

This class serves as a Proxy that ensures our process always has the appropriate allocator in place for every operation that accesses or updates the Map Manager. More...

#include <Local_Name_Space_T.h>

Inheritance diagram for ACE_Name_Space_Map:

Inheritance graph
[legend]
Collaboration diagram for ACE_Name_Space_Map:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_Name_Space_Map (ALLOCATOR *alloc)
 Constructor. More...

int bind (const ACE_NS_String &, const ACE_NS_Internal &, ALLOCATOR *alloc)
int unbind (const ACE_NS_String &, ACE_NS_Internal &, ALLOCATOR *alloc)
int rebind (const ACE_NS_String &, const ACE_NS_Internal &, ACE_NS_String &, ACE_NS_Internal &, ALLOCATOR *alloc)
int find (const ACE_NS_String &, ACE_NS_Internal &, ALLOCATOR *alloc)
int close (ALLOCATOR *alloc)

Detailed Description

template<class ALLOCATOR>
class ACE_Name_Space_Map< ALLOCATOR >

This class serves as a Proxy that ensures our process always has the appropriate allocator in place for every operation that accesses or updates the Map Manager.

We need this class because otherwise the ALLOCATOR pointer will be stored in the Map_Manager that resides within shared memory. Naturally, this will cause horrible problems since only the first process to set that pointer will be guaranteed the address of the ALLOCATOR is meaningful!

Definition at line 60 of file Local_Name_Space_T.h.


Constructor & Destructor Documentation

template<class ALLOCATOR>
ACE_Name_Space_Map< ALLOCATOR >::ACE_Name_Space_Map ALLOCATOR *    alloc
 

Constructor.

Definition at line 18 of file Local_Name_Space_T.cpp.

References ACE_TRACE.

00019   : MAP_MANAGER (alloc)
00020 {
00021   ACE_TRACE ("ACE_Name_Space_Map::ACE_Name_Space_Map");
00022 }


Member Function Documentation

template<class ALLOCATOR>
int ACE_Name_Space_Map< ALLOCATOR >::bind const ACE_NS_String  ,
const ACE_NS_Internal  ,
ALLOCATOR *    alloc
 

Definition at line 34 of file Local_Name_Space_T.cpp.

References ACE_TRACE, ACE_Hash_Map_Manager_Ex< ACE_NS_String, ACE_NS_Internal, ACE_Hash< ACE_NS_String >, ACE_Equal_To< ACE_NS_String >, ACE_Null_Mutex >::allocator_, and ACE_Hash_Map_Manager_Ex< ACE_NS_String, ACE_NS_Internal, ACE_Hash< ACE_NS_String >, ACE_Equal_To< ACE_NS_String >, ACE_Null_Mutex >::bind_i.

00037 {
00038   ACE_TRACE ("ACE_Name_Space_Map::bind");
00039 
00040   this->allocator_ = alloc;
00041   return this->bind_i (ext_id, int_id);
00042 }

template<class ALLOCATOR>
int ACE_Name_Space_Map< ALLOCATOR >::close ALLOCATOR *    alloc
 

Definition at line 25 of file Local_Name_Space_T.cpp.

References ACE_TRACE, ACE_Hash_Map_Manager_Ex< ACE_NS_String, ACE_NS_Internal, ACE_Hash< ACE_NS_String >, ACE_Equal_To< ACE_NS_String >, ACE_Null_Mutex >::allocator_, and ACE_Hash_Map_Manager_Ex< ACE_NS_String, ACE_NS_Internal, ACE_Hash< ACE_NS_String >, ACE_Equal_To< ACE_NS_String >, ACE_Null_Mutex >::close_i.

00026 {
00027   ACE_TRACE ("ACE_Name_Space_Map::close");
00028 
00029   this->allocator_ = alloc;
00030   return this->close_i ();
00031 }

template<class ALLOCATOR>
int ACE_Name_Space_Map< ALLOCATOR >::find const ACE_NS_String  ,
ACE_NS_Internal  ,
ALLOCATOR *    alloc
 

Definition at line 69 of file Local_Name_Space_T.cpp.

References ACE_TRACE, ACE_Hash_Map_Manager_Ex< ACE_NS_String, ACE_NS_Internal, ACE_Hash< ACE_NS_String >, ACE_Equal_To< ACE_NS_String >, ACE_Null_Mutex >::allocator_, and ACE_Hash_Map_Manager_Ex< ACE_NS_String, ACE_NS_Internal, ACE_Hash< ACE_NS_String >, ACE_Equal_To< ACE_NS_String >, ACE_Null_Mutex >::find_i.

00072 {
00073   ACE_TRACE ("ACE_Name_Space_Map::find");
00074 
00075   this->allocator_ = alloc;
00076   return this->find_i (ext_id, int_id);
00077 }

template<class ALLOCATOR>
int ACE_Name_Space_Map< ALLOCATOR >::rebind const ACE_NS_String  ,
const ACE_NS_Internal  ,
ACE_NS_String  ,
ACE_NS_Internal  ,
ALLOCATOR *    alloc
 

Definition at line 56 of file Local_Name_Space_T.cpp.

References ACE_TRACE, ACE_Hash_Map_Manager_Ex< ACE_NS_String, ACE_NS_Internal, ACE_Hash< ACE_NS_String >, ACE_Equal_To< ACE_NS_String >, ACE_Null_Mutex >::allocator_, and ACE_Hash_Map_Manager_Ex< ACE_NS_String, ACE_NS_Internal, ACE_Hash< ACE_NS_String >, ACE_Equal_To< ACE_NS_String >, ACE_Null_Mutex >::rebind_i.

00061 {
00062   ACE_TRACE ("ACE_Name_Space_Map::rebind");
00063 
00064   this->allocator_ = alloc;
00065   return this->rebind_i (ext_id, int_id, old_ext_id, old_int_id);
00066 }

template<class ALLOCATOR>
int ACE_Name_Space_Map< ALLOCATOR >::unbind const ACE_NS_String  ,
ACE_NS_Internal  ,
ALLOCATOR *    alloc
 

Definition at line 45 of file Local_Name_Space_T.cpp.

References ACE_TRACE, ACE_Hash_Map_Manager_Ex< ACE_NS_String, ACE_NS_Internal, ACE_Hash< ACE_NS_String >, ACE_Equal_To< ACE_NS_String >, ACE_Null_Mutex >::allocator_, and ACE_Hash_Map_Manager_Ex< ACE_NS_String, ACE_NS_Internal, ACE_Hash< ACE_NS_String >, ACE_Equal_To< ACE_NS_String >, ACE_Null_Mutex >::unbind_i.

00048 {
00049   ACE_TRACE ("ACE_Name_Space_Map::unbind");
00050 
00051   this->allocator_ = alloc;
00052   return this->unbind_i (ext_id, int_id);
00053 }


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 12:50:56 2003 for ACE by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002