TAO_CosTrader  2.2.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | List of all members
TAO_Register_Offer_Iterator< MAP_LOCK_TYPE > Class Template Reference

An implementation of CosTrading::OfferIterator IDL interface appropriate when trader has Register functionality. More...

#include <Offer_Iterators_T.h>

Inheritance diagram for TAO_Register_Offer_Iterator< MAP_LOCK_TYPE >:
Inheritance graph
Collaboration diagram for TAO_Register_Offer_Iterator< MAP_LOCK_TYPE >:
Collaboration graph

Public Member Functions

 TAO_Register_Offer_Iterator (TAO_Offer_Database< MAP_LOCK_TYPE > &db, const TAO_Property_Filter &pfilter)
 
virtual ~TAO_Register_Offer_Iterator (void)
 Destructor. More...
 
virtual CORBA::Boolean next_n (CORBA::ULong n, CosTrading::OfferSeq_out offers)
 
virtual CORBA::ULong max_left (void)
 
void add_offer (CosTrading::OfferId id, const CosTrading::Offer *)
 Add an offer the iterator should iterate over. More...
 
- Public Member Functions inherited from TAO_Offer_Iterator
 TAO_Offer_Iterator (const TAO_Property_Filter &property_filter)
 
virtual ~TAO_Offer_Iterator (void)
 
virtual void destroy (void)
 

Private Attributes

TAO_Offer_Database
< MAP_LOCK_TYPE > & 
db_
 A reference to the trader is needed for access to the map of offers. More...
 
TAO_String_Queue offer_ids_
 Offer ids of offers to iterate over. More...
 

Additional Inherited Members

- Protected Member Functions inherited from TAO_Offer_Iterator
TAO_Offer_Iteratoroperator= (const TAO_Offer_Iterator &)
 
- Protected Attributes inherited from TAO_Offer_Iterator
TAO_Property_Filter pfilter_
 

Detailed Description

template<class MAP_LOCK_TYPE>
class TAO_Register_Offer_Iterator< MAP_LOCK_TYPE >

An implementation of CosTrading::OfferIterator IDL interface appropriate when trader has Register functionality.

Stores ids of offers to be iterated over. Before returning an offer, checks if the offer is still there (since it may have been removed by the Register).

Constructor & Destructor Documentation

template<class MAP_LOCK_TYPE >
TAO_Register_Offer_Iterator< MAP_LOCK_TYPE >::TAO_Register_Offer_Iterator ( TAO_Offer_Database< MAP_LOCK_TYPE > &  db,
const TAO_Property_Filter pfilter 
)

Takes service type and trader reference in order to later locate offers using their ids.

template<class MAP_LOCK_TYPE >
TAO_Register_Offer_Iterator< MAP_LOCK_TYPE >::~TAO_Register_Offer_Iterator ( void  )
virtual

Destructor.

Member Function Documentation

template<class MAP_LOCK_TYPE >
void TAO_Register_Offer_Iterator< MAP_LOCK_TYPE >::add_offer ( CosTrading::OfferId  id,
const CosTrading::Offer  
)
virtual

Add an offer the iterator should iterate over.

Implements TAO_Offer_Iterator.

template<class MAP_LOCK_TYPE >
CORBA::ULong TAO_Register_Offer_Iterator< MAP_LOCK_TYPE >::max_left ( void  )
virtual

Throws CosTrading::UnknownMaxLeft since with the presence of "Register" functionality, the iterator cannot guarantee that the trader will have all the offers it has now when the time to return them comes.

Implements TAO_Offer_Iterator.

template<class MAP_LOCK_TYPE >
CORBA::Boolean TAO_Register_Offer_Iterator< MAP_LOCK_TYPE >::next_n ( CORBA::ULong  n,
CosTrading::OfferSeq_out  offers 
)
virtual

Deposit at maximum n offers into the return sequence and return 1, or return 0 if the iterator is done and no offers are returned.

Implements TAO_Offer_Iterator.

Member Data Documentation

template<class MAP_LOCK_TYPE >
TAO_Offer_Database<MAP_LOCK_TYPE>& TAO_Register_Offer_Iterator< MAP_LOCK_TYPE >::db_
private

A reference to the trader is needed for access to the map of offers.

template<class MAP_LOCK_TYPE >
TAO_String_Queue TAO_Register_Offer_Iterator< MAP_LOCK_TYPE >::offer_ids_
private

Offer ids of offers to iterate over.


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