#include <Storable_Naming_Context.h>
Inheritance diagram for TAO_Storable_Bindings_Map:
Public Types | |
typedef ACE_Hash_Map_Manager< TAO_Persistent_ExtId, TAO_Persistent_IntId, ACE_Null_Mutex > | HASH_MAP |
Underlying data structure - typedef for ease of use. More... | |
Public Methods | |
TAO_Storable_Bindings_Map (size_t hash_table_size) | |
Constructor. More... | |
TAO_Storable_Bindings_Map (size_t hash_table_size, CORBA::ORB_ptr orb, const char *poa_id, PortableServer::POA_ptr poa) | |
Constructor. More... | |
virtual | ~TAO_Storable_Bindings_Map (void) |
Destructor. More... | |
HASH_MAP & | map (void) |
Get a reference to the underlying hash map. More... | |
size_t | total_size (void) |
Return the size of the underlying hash table. More... | |
virtual size_t | current_size (void) |
Return current number of entries (name bindings) in the underlying hash map. More... | |
virtual int | bind (const char *id, const char *kind, CORBA::Object_ptr obj, CosNaming::BindingType type) |
Add a binding with the specified parameters to the table. More... | |
virtual int | rebind (const char *id, const char *kind, CORBA::Object_ptr obj, CosNaming::BindingType type) |
Overwrite a binding containing <id> and <kind> (or create a new one if one doesn't exist) with the specified parameters. More... | |
virtual int | unbind (const char *id, const char *kind) |
Remove a binding containing <id> and <kind> from the table. More... | |
virtual int | find (const char *id, const char *kind, CORBA::Object_ptr &obj, CosNaming::BindingType &type) |
Find the binding containing <id> and <kind> in the table, and pass binding's type and object back to the caller by reference. More... | |
virtual void | Write (TAO_Writer_Base &wrtr) |
virtual const char * | name () |
Private Methods | |
int | shared_bind (const char *id, const char *kind, CORBA::Object_ptr obj, CosNaming::BindingType type, int rebind) |
Helper: factors common code from <bind> and <rebind>. More... | |
Private Attributes | |
HASH_MAP | map_ |
Hash map used for storage. More... | |
CORBA::ORB_ptr | orb_ |
ACE_CString | name_ |
PortableServer::POA_var | poa_ |
A thin wrapper on top of ACE_Hash_Map_Manager. Supports TAO_Bindings_Map interface. Used by TAO_Transient_Naming_Context.
|
Underlying data structure - typedef for ease of use.
|
|
Constructor.
|
|
Constructor.
|
|
Destructor.
|
|
Add a binding with the specified parameters to the table. Return 0 on success and -1 on failure, 1 if there already is a binding with <id> and <kind>. Reimplemented from TAO_Bindings_Map. |
|
Return current number of entries (name bindings) in the underlying hash map.
Reimplemented from TAO_Bindings_Map. |
|
Find the binding containing <id> and <kind> in the table, and pass binding's type and object back to the caller by reference. Return 0 on success and -1 on failure. Note: a 'duplicated' object reference is assigned to <obj>, so the caller is responsible for its deallocation. Reimplemented from TAO_Bindings_Map. |
|
Get a reference to the underlying hash map.
|
|
|
|
Overwrite a binding containing <id> and <kind> (or create a new one if one doesn't exist) with the specified parameters. Return 0 or 1 on success. Return -1 or -2 on failure. (-2 is returned if the new and old bindings differ in type). Reimplemented from TAO_Bindings_Map. |
|
Helper: factors common code from <bind> and <rebind>.
|
|
Return the size of the underlying hash table.
|
|
Remove a binding containing <id> and <kind> from the table. Return 0 on success and -1 on failure. Reimplemented from TAO_Bindings_Map. |
|
Reimplemented from TAO_Storable_Base. |
|
Hash map used for storage.
|
|
|
|
|
|
|