Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members

# TAO_Preference_Interpreter Class Reference

The TAO_Preference_Interpreter will, given a valid preference string and offers, will order the offers based on the offers' compliance with the preferences. More...

`#include <Constraint_Interpreter.h>`

Inheritance diagram for TAO_Preference_Interpreter:

[legend]
Collaboration diagram for TAO_Preference_Interpreter:

[legend]
List of all members.

## Public Types
typedef ACE_Unbounded_Queue< Preference_Info > | Ordered_Offers
## Public Methods
| 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 Methods
| 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.

## Detailed Description

The TAO_Preference_Interpreter will, given a valid preference string and offers, will order the offers based on the offers' compliance with the preferences.

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.

## Member Typedef Documentation

typedef ACE_Unbounded_Queue<Preference_Info> TAO_Preference_Interpreter::Ordered_Offers

## Constructor & Destructor Documentation

TAO_Preference_Interpreter::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_Preference_Interpreter | ( | TAO_Constraint_Validator & | validator,
|  | const char *preference | ACE_ENV_ARG_DECL
| ) | 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.

## Member Function Documentation

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
| ) |

## Member Data Documentation

Ordered_Offers TAO_Preference_Interpreter::offers_`[private]`

| The ordered list of offers.

The documentation for this class was generated from the following files:

- Constraint_Interpreter.h
- Constraint_Interpreter.cpp