Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class 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:

Collaboration graph
[legend]
List of all members.

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 ACE_ENV_ARG_DECL) throw (CosTrading::Register::UnknownPropertyName, CosTrading::Register::MandatoryProperty, CosTrading::IllegalPropertyName, CosTrading::DuplicatePropertyName)
void merge_properties (const CosTrading::PropertySeq &modifies ACE_ENV_ARG_DECL) 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<
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 Member Functions

 TAO_Offer_Modifier (const TAO_Offer_Modifier &)
TAO_Offer_Modifieroperator= (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::Offeroffer_
 A reference to the offer undergoing change.

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,
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:
Generated on Tue Dec 20 23:54:39 2005 for TAO_CosTrader by  doxygen 1.3.9.1