#include <Offer_Iterators_T.h>
Inheritance diagram for TAO_Register_Offer_Iterator< MAP_LOCK_TYPE >:
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 ACE_ENV_ARG_DECL_NOT_USED) throw (CORBA::SystemException) |
virtual CORBA::ULong | max_left (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) throw (CORBA::SystemException, CosTrading::UnknownMaxLeft) |
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).
|
Takes service type and trader reference in order to later locate offers using their ids. |
|
Destructor.
|
|
Add an offer the iterator should iterate over.
Implements TAO_Offer_Iterator. |
|
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. |
|
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. |
|
A reference to the trader is needed for access to the map of offers.
|
|
Offer ids of offers to iterate over.
|