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

# TAO_Offer_Modifier Class Reference

This class deletes, modifies, and adds properties to a given offer according to the rules of the modify method on the Register interface. More...

`#include <Trader_Utils.h>`

Collaboration diagram for TAO_Offer_Modifier:

[legend]
List of all members.

## Public Methods
| 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>. More...
| ~TAO_Offer_Modifier (void)
void | delete_properties (const CosTrading::PropertyNameSeq &deletes ACE_ENV_ARG_DECL) 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. More...
void | merge_properties (const CosTrading::PropertySeq &modifies ACE_ENV_ARG_DECL) throw (CosTrading::IllegalPropertyName, CosTrading::DuplicatePropertyName, CosTrading::PropertyTypeMismatch, CosTrading::ReadonlyDynamicProperty, CosTrading::Register::ReadonlyProperty)
| Copy to the destination the union of the source and destination properties. More...
void | affect_change (const CosTrading::PropertySeq &modifies)
| Return a reference to the Offer with the changes affected. More...
## Private Types
typedef ACE_Hash_Map_Manager_Ex< TAO_String_Hash_Key, CosTrading::Property *, ACE_Hash< TAO_String_Hash_Key >, ACE_Equal_To< TAO_String_Hash_Key >, ACE_Null_Mutex > | Property_Table
## Private Methods
| 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. More...
Property_Table | props_
| The map of properties in the offer. More...
TAO_Typecode_Table | prop_types_
| Table of property types. More...
TAO_String_Set | readonly_
| The set of readonly and mandatory property names in the offer's type. More...
TAO_String_Set | mandatory_
| The set of readonly and mandatory property names in the offer's type. More...
CosTrading::Offer * | offer_
| A reference to the offer undergoing change. More...

## Detailed Description

This class deletes, modifies, and adds properties to a given offer according to the rules of the modify method on the Register interface.

## Member Typedef Documentation

typedef ACE_Hash_Map_Manager_Ex<TAO_String_Hash_Key, CosTrading::Property *, ACE_Hash<TAO_String_Hash_Key>, ACE_Equal_To<TAO_String_Hash_Key>, ACE_Null_Mutex> TAO_Offer_Modifier::Property_Table`[private]`

## Constructor & Destructor Documentation

TAO_Offer_Modifier::TAO_Offer_Modifier | ( | const char * | type_name,
|  | 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]`

## Member Function Documentation

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 | ACE_ENV_ARG_DECL | ) | 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 | ACE_ENV_ARG_DECL | ) | 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]`

## Member Data Documentation

TAO_String_Set TAO_Offer_Modifier::mandatory_`[private]`

| The set of readonly and mandatory property names in the offer's type.

CosTrading::Offer* TAO_Offer_Modifier::offer_`[private]`

| A reference to the offer undergoing change.

TAO_Typecode_Table TAO_Offer_Modifier::prop_types_`[private]`

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

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

- Trader_Utils.h
- Trader_Utils.cpp