TAO_CosTrader 3.1.4
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all 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:
Inheritance graph
[legend]
Collaboration diagram for TAO_Preference_Interpreter:
Collaboration graph
[legend]

Classes

struct  Preference_Info
 

Public Types

typedef ACE_Unbounded_Queue< Preference_InfoOrdered_Offers
 

Public Member Functions

 TAO_Preference_Interpreter (const CosTradingRepos::ServiceTypeRepository::TypeStruct &ts, const char *preference)
 
 TAO_Preference_Interpreter (TAO_Constraint_Validator &validator, const char *preference)
 
 ~TAO_Preference_Interpreter ()
 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 ()
 Return the number of offers remaining in the ordering.
 

Private Member Functions

 TAO_Preference_Interpreter (const TAO_Preference_Interpreter &)=delete
 
TAO_Preference_Interpreteroperator= (const TAO_Preference_Interpreter &)=delete
 
 TAO_Preference_Interpreter (TAO_Preference_Interpreter &&)=delete
 
TAO_Preference_Interpreteroperator= (TAO_Preference_Interpreter &&)=delete
 

Private Attributes

Ordered_Offers offers_
 The ordered list of offers.
 

Additional Inherited Members

- Protected Member Functions inherited from TAO_Interpreter
 TAO_Interpreter ()
 Constructor.
 
 ~TAO_Interpreter ()
 Destructor.
 
int build_tree (const char *preferences)
 
- Static Protected Member Functions inherited from TAO_Interpreter
static int is_empty_string (const char *str)
 
- Protected Attributes inherited from TAO_Interpreter
TAO_Constraintroot_
 

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

◆ Ordered_Offers

Constructor & Destructor Documentation

◆ TAO_Preference_Interpreter() [1/4]

TAO_Preference_Interpreter::TAO_Preference_Interpreter ( const CosTradingRepos::ServiceTypeRepository::TypeStruct & ts,
const char * preference )

◆ TAO_Preference_Interpreter() [2/4]

TAO_Preference_Interpreter::TAO_Preference_Interpreter ( TAO_Constraint_Validator & validator,
const char * preference )

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::~TAO_Preference_Interpreter ( )

Destructor.

◆ TAO_Preference_Interpreter() [3/4]

TAO_Preference_Interpreter::TAO_Preference_Interpreter ( const TAO_Preference_Interpreter & )
privatedelete

◆ TAO_Preference_Interpreter() [4/4]

TAO_Preference_Interpreter::TAO_Preference_Interpreter ( TAO_Preference_Interpreter && )
privatedelete

Member Function Documentation

◆ num_offers()

size_t TAO_Preference_Interpreter::num_offers ( )

Return the number of offers remaining in the ordering.

◆ operator=() [1/2]

TAO_Preference_Interpreter & TAO_Preference_Interpreter::operator= ( const TAO_Preference_Interpreter & )
privatedelete

◆ operator=() [2/2]

TAO_Preference_Interpreter & TAO_Preference_Interpreter::operator= ( TAO_Preference_Interpreter && )
privatedelete

◆ order_offer() [1/2]

void TAO_Preference_Interpreter::order_offer ( CosTrading::Offer * offer,
CosTrading::OfferId offer_id = 0 )

◆ order_offer() [2/2]

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.

◆ remove_offer() [1/2]

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.

◆ remove_offer() [2/2]

int TAO_Preference_Interpreter::remove_offer ( CosTrading::Offer *& offer,
CosTrading::OfferId & offer_id )

Member Data Documentation

◆ offers_

Ordered_Offers TAO_Preference_Interpreter::offers_
private

The ordered list of offers.


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