#include <Constraint_Interpreter.h>
Inheritance diagram for TAO_Preference_Interpreter:
Public Types | |
typedef ACE_Unbounded_Queue< Preference_Info > | Ordered_Offers |
Public Member Functions | |
TAO_Preference_Interpreter (const CosTradingRepos::ServiceTypeRepository::TypeStruct &ts, const char *preference ACE_ENV_ARG_DECL) throw (CosTrading::Lookup::IllegalPreference, CORBA::NO_MEMORY) | |
TAO_Preference_Interpreter (TAO_Constraint_Validator &validator, const char *preference ACE_ENV_ARG_DECL) throw (CosTrading::Lookup::IllegalPreference, CORBA::NO_MEMORY) | |
~TAO_Preference_Interpreter (void) | |
Destructor. | |
void | order_offer (CosTrading::Offer *offer, CosTrading::OfferId offer_id=0) |
void | order_offer (TAO_Constraint_Evaluator &evaluator, CosTrading::Offer *offer, CosTrading::OfferId offer_id=0) |
int | remove_offer (CosTrading::Offer *&offer, CosTrading::OfferId &offer_id) |
int | remove_offer (CosTrading::Offer *&offer) |
size_t | num_offers (void) |
Return the number of offers remaining in the ordering. | |
Private Member Functions | |
TAO_Preference_Interpreter (const TAO_Preference_Interpreter &) | |
Disallow copying. | |
TAO_Preference_Interpreter & | operator= (const TAO_Preference_Interpreter &) |
Private Attributes | |
Ordered_Offers | offers_ |
The ordered list of offers. |
Each time the order_offer method is invoked, the TAO_Preference_Interpreter stores the offer reference in the order dictated by its evaluation of the preference string. After the TAO_Preference_Interpreter client has finished ordering all the offers, it will extract the offers in order using the remove_offer method.
|
|
|
|
|
Parse the preference string, determining first if it's valid. Throw an IllegalPreference exception if the preference doesn't conform to the BNF grammar for preferences. |
|
Destructor.
|
|
Disallow copying.
|
|
Return the number of offers remaining in the ordering.
|
|
|
|
Evaluate the offer, and order it internally based on the results of the evaluation. |
|
|
|
Remove the next offer. The offer returned will be the next in the ordering determined by the preference string. |
|
|
|
The ordered list of offers.
|