Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members

# 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:

[legend]
List of all members.

## Public Methods
virtual | ~TAO_Bindings_Map (void)
| Destructor. More...
virtual size_t | current_size (void)=0
| 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)=0
| 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)=0
| 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)=0
| Remove a binding containing <id> and <kind> from the table. Return 0 on success and -1 on failure. More...
virtual int | find (const char *id, const char *kind, CORBA::Object_ptr &obj, CosNaming::BindingType &type)=0
| Find the binding containing <id> and <kind> in the table, and pass binding's type and object back to the caller by reference. More...

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

## Constructor & Destructor Documentation

TAO_Bindings_Map::~TAO_Bindings_Map | ( | void |  | ) | `[virtual]`

| Destructor.

## 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 <id> and <kind>. Reimplemented in TAO_Persistent_Bindings_Map, TAO_Storable_Bindings_Map, and TAO_Transient_Bindings_Map.

virtual size_t TAO_Bindings_Map::current_size | ( | void |  | ) | `[pure virtual]`

| Return current number of entries (name bindings) in the underlying hash map. Reimplemented in TAO_Persistent_Bindings_Map, TAO_Storable_Bindings_Map, and TAO_Transient_Bindings_Map.

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 <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 in TAO_Persistent_Bindings_Map, TAO_Storable_Bindings_Map, and TAO_Transient_Bindings_Map.

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 <id> and <kind> (or create a new one if one doesn't exist) with the specified parameters. Returns -1 on failure. Reimplemented in TAO_Persistent_Bindings_Map, TAO_Storable_Bindings_Map, and TAO_Transient_Bindings_Map.

virtual int TAO_Bindings_Map::unbind | ( | const char * | id,
|  | const char * | kind
| ) | `[pure virtual]`

| Remove a binding containing <id> and <kind> from the table. Return 0 on success and -1 on failure. Reimplemented in TAO_Persistent_Bindings_Map, TAO_Storable_Bindings_Map, and TAO_Transient_Bindings_Map.

The documentation for this class was generated from the following files:

- Hash_Naming_Context.h
- Hash_Naming_Context.cpp