TAO_Bindings_Iterator< ITERATOR, TABLE_ENTRY > Class Template Reference
This class implements the <bindingiterator> interface that is part of the <cosnaming> idl module. This class works with Hash_Map-based implementations of CosNaming::NamingContext.
More...
#include <Bindings_Iterator_T.h>
Collaboration diagram for TAO_Bindings_Iterator< ITERATOR, TABLE_ENTRY >:
[legend]List of all members.
Detailed Description
template<class ITERATOR, class TABLE_ENTRY>
class TAO_Bindings_Iterator< ITERATOR, TABLE_ENTRY >
This class implements the <bindingiterator> interface that is part of the <cosnaming> idl module. This class works with Hash_Map-based implementations of CosNaming::NamingContext.
This class is templatized by the types of the underlying hash table iterator and hash table entry, so that it can be used for both TAO_Transient_Naming_Context and TAO_Persistent_Naming_Context (and any other classes with underlying data structures supporting ACE_Hash_Map_Manager/Iterator - like interfaces).
Instances of <tao_bindings_iterator>s affect reference counts of corresponding Naming Contexts. Reference count on a Naming Context is incremented by one for a lifetime of each instance of <tao_bindings_iterator> created for that context, i.e., a Naming Context cannot be cleaned up (but, of course, it can be invalidated) before all of its iterators have been cleaned up. When <destroy> method is invoked on a Naming Context, all of its iterators are destroyed in a "lazy evaluation" fashion, i.e., whenever a next operation is invoked on an iterator, and it can detect that the corresponding Naming Context has been invalidated, the iterator is destroyed.
Constructor & Destructor Documentation
|
Constructor expects a pointer to a dynamically allocated hash map iterator (destructor deallocates hash map iterator). |
Member Function Documentation
|
Returns the Default POA of this Servant object.
|
|
This operation destroys the iterator.
|
|
This operation passes back at most <how_many> unseen bindings. True is returned if bindings were passed back, and false is returned if no bindings were passed back. |
|
This operation passes back the next unseen binding. True is returned if a binding is passed back, and false is returned otherwise. |
|
Helper function used by TAO_*_Naming_Context and TAO_BindingIterator: populate a binding with info contained in <hash_entry>. Return 1 if everything went smoothly, 0 if an allocation failed. |
Member Data Documentation
|
Pointer to the Naming Context we are iterating over. We need this pointer to make sure the context is still valid before each iteration, and to decrement its reference count once we are <destroyed>. |
|
Flag indicating whether this iterator is still valid. (The iterator becomes invalid when <destroy> method has been invoked on it, or when <destroy> method has been invoked on the corresponding Naming Context.) This flag is necessary because immediate destruction of this servant might not be possible due to pending requests in the POA. |
|
A pointer to the hash map iterator.
|
|
Lock passed on from Naming Context to serialize access to the internal data structure. |
template<class ITERATOR, class TABLE_ENTRY> |
PortableServer::POA_var TAO_Bindings_Iterator< ITERATOR, TABLE_ENTRY >::poa_ [private] |
|
The documentation for this class was generated from the following files:
Generated on Sat Aug 6 03:42:59 2005 for TAO_CosNaming by
1.3.9.1