TAO_Bindings_Map Class Reference

This abstract base class defines an interface for hash-based data structures used in implementations of NamingContext (i.e., TAO_Transient_Naming_Context and TAO_Persistent_Naming_Context). More...

#include <Hash_Naming_Context.h>

Inheritance diagram for TAO_Bindings_Map:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual ~TAO_Bindings_Map (void)
 Destructor.

virtual size_t current_size (void)=0
virtual int bind (const char *id, const char *kind, CORBA::Object_ptr obj, CosNaming::BindingType type)=0
virtual int rebind (const char *id, const char *kind, CORBA::Object_ptr obj, CosNaming::BindingType type)=0
virtual int unbind (const char *id, const char *kind)=0
virtual int find (const char *id, const char *kind, CORBA::Object_ptr &obj, CosNaming::BindingType &type)=0

Detailed Description

This abstract base class defines an interface for hash-based data structures used in implementations of NamingContext (i.e., TAO_Transient_Naming_Context and TAO_Persistent_Naming_Context).

Define an interface for several hash-based data structures, so that we can write some code that would work with any of them, i.e., TAO_Hash_Naming_Context.

Definition at line 51 of file Hash_Naming_Context.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_Bindings_Map::~TAO_Bindings_Map void   )  [virtual]
 

Destructor.

Definition at line 25 of file Hash_Naming_Context.cpp.

00026 {
00027 }


Member Function Documentation

virtual int TAO_Bindings_Map::bind const char *  id,
const char *  kind,
CORBA::Object_ptr  obj,
CosNaming::BindingType  type
[pure virtual]
 

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 and .

Implemented in TAO_Persistent_Bindings_Map, TAO_Storable_Bindings_Map, and TAO_Transient_Bindings_Map.

Referenced by TAO_Storable_Naming_Context::bind(), TAO_Hash_Naming_Context::bind(), TAO_Storable_Naming_Context::bind_context(), and TAO_Hash_Naming_Context::bind_context().

virtual size_t TAO_Bindings_Map::current_size void   )  [pure virtual]
 

Return current number of entries (name bindings) in the underlying hash map.

Implemented in TAO_Persistent_Bindings_Map, TAO_Storable_Bindings_Map, and TAO_Transient_Bindings_Map.

Referenced by TAO_Storable_Naming_Context::destroy(), TAO_Hash_Naming_Context::destroy(), TAO_Transient_Naming_Context::list(), TAO_Storable_Naming_Context::list(), and TAO_Persistent_Naming_Context::list().

virtual int TAO_Bindings_Map::find const char *  id,
const char *  kind,
CORBA::Object_ptr obj,
CosNaming::BindingType type
[pure virtual]
 

Find the binding containing and 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 , so the caller is responsible for its deallocation.

Implemented in TAO_Persistent_Bindings_Map, TAO_Storable_Bindings_Map, and TAO_Transient_Bindings_Map.

Referenced by TAO_Storable_Naming_Context::resolve(), and TAO_Hash_Naming_Context::resolve().

virtual int TAO_Bindings_Map::rebind const char *  id,
const char *  kind,
CORBA::Object_ptr  obj,
CosNaming::BindingType  type
[pure virtual]
 

Overwrite a binding containing and (or create a new one if one doesn't exist) with the specified parameters. Returns -1 on failure.

Implemented in TAO_Persistent_Bindings_Map, TAO_Storable_Bindings_Map, and TAO_Transient_Bindings_Map.

Referenced by TAO_Storable_Naming_Context::rebind(), TAO_Hash_Naming_Context::rebind(), TAO_Storable_Naming_Context::rebind_context(), and TAO_Hash_Naming_Context::rebind_context().

virtual int TAO_Bindings_Map::unbind const char *  id,
const char *  kind
[pure virtual]
 

Remove a binding containing and from the table. Return 0 on success and -1 on failure.

Implemented in TAO_Persistent_Bindings_Map, TAO_Storable_Bindings_Map, and TAO_Transient_Bindings_Map.

Referenced by TAO_Storable_Naming_Context::unbind(), and TAO_Hash_Naming_Context::unbind().


The documentation for this class was generated from the following files:
Generated on Sun Jan 27 16:16:09 2008 for TAO_CosNaming by doxygen 1.3.6