#include <Trader_Utils.h>
Inheritance diagram for TAO_Property_Evaluator:
Public Member Functions | |
TAO_Property_Evaluator (const CosTrading::PropertySeq &properties, CORBA::Boolean supports_dp=1) | |
TAO_Property_Evaluator (CosTrading::Offer &offer, CORBA::Boolean supports_dp=1) | |
virtual | ~TAO_Property_Evaluator (void) |
Clean up dynamic properties. | |
int | is_dynamic_property (int index) |
CORBA::Any * | property_value (int index ACE_ENV_ARG_DECL) throw (CosTradingDynamic::DPEvalFailure) |
CORBA::TypeCode_ptr | property_type (int index) |
Protected Types | |
typedef CosTradingDynamic::DynamicProp | DP_Struct |
typedef CosTradingDynamic::DynamicPropEval | DP_Eval |
Protected Attributes | |
const CosTrading::PropertySeq & | props_ |
int | supports_dp_ |
CORBA::Any ** | dp_cache_ |
Private Member Functions | |
TAO_Property_Evaluator (const TAO_Property_Evaluator &) | |
TAO_Property_Evaluator & | operator= (const TAO_Property_Evaluator &) |
|
|
|
|
|
|
|
Construct an instance of TAO_Property_Evaluator that operates on an <offer> where the support for dynamic properties is dictated by <supports_dynamic_properties>. |
|
Clean up dynamic properties.
|
|
|
|
Returns 1 if the property at index <index> is dynamic. Returns a 0 when the index is out of bounds. |
|
|
|
Returns the type of the property whose index is <index>. If the property is dynamic and the trader supports dynamic properties, then the method returns the <returned_type> field of the CosTradingDynamic::DynamicProp struct associated with the property name. If the index is out of bounds, the method returns a null pointer (that is, 0). |
|
Returns value of the property whose index is <index>. If the property at that index is dynamic and the trader supports dynamic properties, then the property_value method will obtain the value of the dynamic property using the evalDP method on the CosTradingDynamic::DynamicPropEval interface, passing on a CosTradingDynamic::DPEvalFailure exception on failure. If the property index is undefined, the method returns a null pointer. |
|
In order for the client to treat the results of property_value uniformly, we need to collect the dynamically allocated anys retrieved from dynamic properties and free them upon deletion. If we didn't do this, then the property_value method would leak or cause seg faults, since the client wouldn't be able to tell whether or not the return value should be freed. |
|
The offer from which the TAO_Property_Evaluator extracts property information. |
|
|