#include <Trader_Utils.h>
Collaboration diagram for TAO_Offer_Modifier:
Public Member Functions | |
TAO_Offer_Modifier (const char *type, const CosTradingRepos::ServiceTypeRepository::TypeStruct &type_struct, CosTrading::Offer *offer) | |
~TAO_Offer_Modifier (void) | |
void | delete_properties (const CosTrading::PropertyNameSeq &deletes) throw (CosTrading::Register::UnknownPropertyName, CosTrading::Register::MandatoryProperty, CosTrading::IllegalPropertyName, CosTrading::DuplicatePropertyName) |
void | merge_properties (const CosTrading::PropertySeq &modifies) throw (CosTrading::IllegalPropertyName, CosTrading::DuplicatePropertyName, CosTrading::PropertyTypeMismatch, CosTrading::ReadonlyDynamicProperty, CosTrading::Register::ReadonlyProperty) |
void | affect_change (const CosTrading::PropertySeq &modifies) |
Return a reference to the Offer with the changes affected. | |
Private Types | |
typedef ACE_Hash_Map_Manager_Ex< CORBA::String_var, CosTrading::Property *, ACE_Hash< CORBA::String_var >, ACE_Equal_To< CORBA::String_var >, ACE_Null_Mutex > | Property_Table |
Private Member Functions | |
TAO_Offer_Modifier (const TAO_Offer_Modifier &) | |
TAO_Offer_Modifier & | operator= (const TAO_Offer_Modifier &) |
Private Attributes | |
const char * | type_ |
The type of the offer. | |
Property_Table | props_ |
The map of properties in the offer. | |
TAO_Typecode_Table | prop_types_ |
Table of property types. | |
TAO_String_Set | readonly_ |
TAO_String_Set | mandatory_ |
CosTrading::Offer * | offer_ |
A reference to the offer undergoing change. |
typedef ACE_Hash_Map_Manager_Ex<CORBA::String_var, CosTrading::Property *, ACE_Hash<CORBA::String_var>, ACE_Equal_To<CORBA::String_var>, ACE_Null_Mutex> TAO_Offer_Modifier::Property_Table [private] |
TAO_Offer_Modifier::TAO_Offer_Modifier | ( | const char * | type, | |
const CosTradingRepos::ServiceTypeRepository::TypeStruct & | type_struct, | |||
CosTrading::Offer * | offer | |||
) |
Modify an <offer> of type <type>, whose properties are described by <type_struct>
TAO_Offer_Modifier::~TAO_Offer_Modifier | ( | void | ) |
TAO_Offer_Modifier::TAO_Offer_Modifier | ( | const TAO_Offer_Modifier & | ) | [private] |
void TAO_Offer_Modifier::affect_change | ( | const CosTrading::PropertySeq & | modifies | ) |
Return a reference to the Offer with the changes affected.
void TAO_Offer_Modifier::delete_properties | ( | const CosTrading::PropertyNameSeq & | deletes | ) | throw (CosTrading::Register::UnknownPropertyName, CosTrading::Register::MandatoryProperty, CosTrading::IllegalPropertyName, CosTrading::DuplicatePropertyName) |
Delete the properties whose names were given to the constructor. Ensure we don't delete mandatory properties.
void TAO_Offer_Modifier::merge_properties | ( | const CosTrading::PropertySeq & | modifies | ) | throw (CosTrading::IllegalPropertyName, CosTrading::DuplicatePropertyName, CosTrading::PropertyTypeMismatch, CosTrading::ReadonlyDynamicProperty, CosTrading::Register::ReadonlyProperty) |
Copy to the destination the union of the source and destination properties. In the case of duplicate properties, update the destination with the source's value. This class claims the memory in the modifies sequence.
TAO_Offer_Modifier& TAO_Offer_Modifier::operator= | ( | const TAO_Offer_Modifier & | ) | [private] |
TAO_String_Set TAO_Offer_Modifier::mandatory_ [private] |
CosTrading::Offer* TAO_Offer_Modifier::offer_ [private] |
A reference to the offer undergoing change.
Table of property types.
Property_Table TAO_Offer_Modifier::props_ [private] |
The map of properties in the offer.
TAO_String_Set TAO_Offer_Modifier::readonly_ [private] |
The set of readonly and mandatory property names in the offer's type.
const char* TAO_Offer_Modifier::type_ [private] |
The type of the offer.