TAO_CosTrader  2.4.1
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all 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]

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)
 
void merge_properties (const CosTrading::PropertySeq &modifies)
 
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< CORBA::String_var, CosTrading::Property *, ACE_Hash< CORBA::String_var >, ACE_Equal_To< CORBA::String_var >, ACE_Null_MutexProperty_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. 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_
 
TAO_String_Set mandatory_
 
CosTrading::Offeroffer_
 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

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)

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)

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