#include <Offer_Iterators_T.h>
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. | |
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. | |
Private Attributes | |
TAO_Offer_Database < MAP_LOCK_TYPE > & | db_ |
A reference to the trader is needed for access to the map of offers. | |
TAO_String_Queue | offer_ids_ |
Offer ids of offers to iterate over. |
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).
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_Register_Offer_Iterator< MAP_LOCK_TYPE >::TAO_Register_Offer_Iterator | ( | TAO_Offer_Database< MAP_LOCK_TYPE > & | db, | |
const TAO_Property_Filter & | pfilter | |||
) | [inline] |
Takes service type and trader reference in order to later locate offers using their ids.
TAO_Register_Offer_Iterator< MAP_LOCK_TYPE >::~TAO_Register_Offer_Iterator | ( | void | ) | [inline, virtual] |
Destructor.
CORBA::Boolean TAO_Register_Offer_Iterator< MAP_LOCK_TYPE >::next_n | ( | CORBA::ULong | n, | |
CosTrading::OfferSeq_out | offers | |||
) | [inline, 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.
CORBA::ULong TAO_Register_Offer_Iterator< MAP_LOCK_TYPE >::max_left | ( | void | ) | [inline, 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.
void TAO_Register_Offer_Iterator< MAP_LOCK_TYPE >::add_offer | ( | CosTrading::OfferId | id, | |
const CosTrading::Offer * | ||||
) | [inline, virtual] |
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.
TAO_String_Queue TAO_Register_Offer_Iterator< MAP_LOCK_TYPE >::offer_ids_ [private] |
Offer ids of offers to iterate over.