#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.
1.4.7-1