Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

TAO_Service_Offer_Iterator< LOCK_TYPE > Class Template Reference

TAO_Service_Offer_Iterator iterates over the set of exported offers for a given type. Handily, it takes care of all the necessary locking, acquiring them in the constructor, and releasing them in the destructor. More...

#include <Offer_Database.h>

Collaboration diagram for TAO_Service_Offer_Iterator< LOCK_TYPE >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef TAO_Offer_Database<
LOCK_TYPE > 
Offer_Database

Public Member Functions

 TAO_Service_Offer_Iterator (const char *type, TAO_Offer_Database< LOCK_TYPE > &offer_database)
 ~TAO_Service_Offer_Iterator (void)
 Release all the locks acquired.
int has_more_offers (void)
 Returns 1 if there are more offers, 0 otherwise.
CosTrading::OfferId get_id (void)
 Get the id for the current offer.
CosTrading::Offerget_offer (void)
 Returns the next offer in the series.
void next_offer (void)
 Advances the iterator 1.

Private Attributes

TAO_Offer_Database< LOCK_TYPE > & stm_
 Lock the top_level map.
LOCK_TYPE * lock_
 Lock for the internal map.
TAO_Offer_Map::iteratoroffer_iter_
 Iterator over the actual offer map.
const char * type_
 The name of the type. Used for constructing offer ids.

Detailed Description

template<class LOCK_TYPE>
class TAO_Service_Offer_Iterator< LOCK_TYPE >

TAO_Service_Offer_Iterator iterates over the set of exported offers for a given type. Handily, it takes care of all the necessary locking, acquiring them in the constructor, and releasing them in the destructor.


Member Typedef Documentation

template<class LOCK_TYPE>
typedef TAO_Offer_Database<LOCK_TYPE> TAO_Service_Offer_Iterator< LOCK_TYPE >::Offer_Database
 


Constructor & Destructor Documentation

template<class LOCK_TYPE>
TAO_Service_Offer_Iterator< LOCK_TYPE >::TAO_Service_Offer_Iterator const char *  type,
TAO_Offer_Database< LOCK_TYPE > &  offer_database
 

template<class LOCK_TYPE>
TAO_Service_Offer_Iterator< LOCK_TYPE >::~TAO_Service_Offer_Iterator void   ) 
 

Release all the locks acquired.


Member Function Documentation

template<class LOCK_TYPE>
CosTrading::OfferId TAO_Service_Offer_Iterator< LOCK_TYPE >::get_id void   ) 
 

Get the id for the current offer.

template<class LOCK_TYPE>
CosTrading::Offer * TAO_Service_Offer_Iterator< LOCK_TYPE >::get_offer void   ) 
 

Returns the next offer in the series.

template<class LOCK_TYPE>
int TAO_Service_Offer_Iterator< LOCK_TYPE >::has_more_offers void   ) 
 

Returns 1 if there are more offers, 0 otherwise.

template<class LOCK_TYPE>
void TAO_Service_Offer_Iterator< LOCK_TYPE >::next_offer void   ) 
 

Advances the iterator 1.


Member Data Documentation

template<class LOCK_TYPE>
LOCK_TYPE* TAO_Service_Offer_Iterator< LOCK_TYPE >::lock_ [private]
 

Lock for the internal map.

template<class LOCK_TYPE>
TAO_Offer_Map::iterator* TAO_Service_Offer_Iterator< LOCK_TYPE >::offer_iter_ [private]
 

Iterator over the actual offer map.

template<class LOCK_TYPE>
TAO_Offer_Database<LOCK_TYPE>& TAO_Service_Offer_Iterator< LOCK_TYPE >::stm_ [private]
 

Lock the top_level map.

template<class LOCK_TYPE>
const char* TAO_Service_Offer_Iterator< LOCK_TYPE >::type_ [private]
 

The name of the type. Used for constructing offer ids.


The documentation for this class was generated from the following files:
Generated on Thu Feb 10 21:03:43 2005 for TAO_CosTrader by  doxygen 1.3.9.1