#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) throw (CosTrading::Lookup::IllegalPreference, CORBA::NO_MEMORY) | |
TAO_Preference_Interpreter (TAO_Constraint_Validator &validator, const char *preference) 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. | |
Classes | |
struct | Preference_Info |
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.
TAO_Preference_Interpreter::TAO_Preference_Interpreter | ( | const CosTradingRepos::ServiceTypeRepository::TypeStruct & | ts, | |
const char * | preference | |||
) | throw (CosTrading::Lookup::IllegalPreference, CORBA::NO_MEMORY) |
TAO_Preference_Interpreter::TAO_Preference_Interpreter | ( | TAO_Constraint_Validator & | validator, | |
const char * | preference | |||
) | throw (CosTrading::Lookup::IllegalPreference, CORBA::NO_MEMORY) |
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.
TAO_Preference_Interpreter::~TAO_Preference_Interpreter | ( | void | ) |
Destructor.
TAO_Preference_Interpreter::TAO_Preference_Interpreter | ( | const TAO_Preference_Interpreter & | ) | [private] |
Disallow copying.
size_t TAO_Preference_Interpreter::num_offers | ( | void | ) |
Return the number of offers remaining in the ordering.
TAO_Preference_Interpreter& TAO_Preference_Interpreter::operator= | ( | const TAO_Preference_Interpreter & | ) | [private] |
void TAO_Preference_Interpreter::order_offer | ( | TAO_Constraint_Evaluator & | evaluator, | |
CosTrading::Offer * | offer, | |||
CosTrading::OfferId | offer_id = 0 | |||
) |
Evaluate the offer, and order it internally based on the results of the evaluation.
void TAO_Preference_Interpreter::order_offer | ( | CosTrading::Offer * | offer, | |
CosTrading::OfferId | offer_id = 0 | |||
) |
int TAO_Preference_Interpreter::remove_offer | ( | CosTrading::Offer *& | offer | ) |
Remove the next offer. The offer returned will be the next in the ordering determined by the preference string.
int TAO_Preference_Interpreter::remove_offer | ( | CosTrading::Offer *& | offer, | |
CosTrading::OfferId & | offer_id | |||
) |
The ordered list of offers.