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

# TAO_Trader< TRADER_LOCK_TYPE, MAP_LOCK_TYPE > Class Template Reference

This class packages together all the various pieces that provide functionality specified in COS Trading specification. More...

`#include <Trader_T.h>`

Inheritance diagram for TAO_Trader< TRADER_LOCK_TYPE, MAP_LOCK_TYPE >:

[legend]
Collaboration diagram for TAO_Trader< TRADER_LOCK_TYPE, MAP_LOCK_TYPE >:

[legend]
List of all members.

## Public Types
typedef TAO_Offer_Database< MAP_LOCK_TYPE > | Offer_Database
| Offer Database Trait.
## Public Methods
| TAO_Trader (Trader_Components components=LOOKUP)
virtual | ~TAO_Trader (void)
| Destructor.
Offer_Database & | offer_database (void)
| Accessor for the structure with all the service offers.
ACE_Lock & | lock (void)
| Returns the trader.
## Protected Types
typedef TAO_Trader< TRADER_LOCK_TYPE, MAP_LOCK_TYPE > | TRADER_SELF
enum | { LOOKUP_IF, REGISTER_IF, ADMIN_IF, PROXY_IF, LINK_IF }
## Protected Attributes
Offer_Database | offer_database_
ACE_Lock_Adapter< TRADER_LOCK_TYPE > | lock_
| Lock that guards the state of the trader (its configuration).
PortableServer::ServantBase * | ifs_ [5]
## Private Methods
void | operator= (const TAO_Trader< TRADER_LOCK_TYPE, MAP_LOCK_TYPE > &)

## Detailed Description

### template<class TRADER_LOCK_TYPE, class MAP_LOCK_TYPE>
class TAO_Trader< TRADER_LOCK_TYPE, MAP_LOCK_TYPE >

This class packages together all the various pieces that provide functionality specified in COS Trading specification.

TAO_Trader contains all the components that together represent a single trader. Based on its constructor arguments, TAO_Trader creates instances of appropriate interface implementations as well as instances of objects common to more than one interface (offers, attributes, etc.). TAO_Trader also enforces the proper order on all initializations. TAO_Trader acts like a "glue" class that creates appropriate components, holds everything together, and enforces order. TAO_Trader is parameterized by two types of locks: one for its service service offers, one for its state (configuration).

## Member Typedef Documentation

template<class TRADER_LOCK_TYPE, class MAP_LOCK_TYPE>
typedef TAO_Offer_Database<MAP_LOCK_TYPE> TAO_Trader< TRADER_LOCK_TYPE, MAP_LOCK_TYPE >::Offer_Database

| Offer Database Trait.

template<class TRADER_LOCK_TYPE, class MAP_LOCK_TYPE>
typedef TAO_Trader<TRADER_LOCK_TYPE, MAP_LOCK_TYPE> TAO_Trader< TRADER_LOCK_TYPE, MAP_LOCK_TYPE >::TRADER_SELF`[protected]`

## Member Enumeration Documentation

template<class TRADER_LOCK_TYPE, class MAP_LOCK_TYPE>
anonymous enum`[protected]`

  | Enumeration values:
  LOOKUP_IF |
  REGISTER_IF |
  ADMIN_IF |
  PROXY_IF |
  LINK_IF |

## Constructor & Destructor Documentation

template<class TRADER_LOCK_TYPE, class MAP_LOCK_TYPE>
TAO_Trader< TRADER_LOCK_TYPE, MAP_LOCK_TYPE >::TAO_Trader | ( | Trader_Components | components = LOOKUP | ) |

| Constructor which based on its arguments will create a particular type of trader (e.g. Query trader, Simple trader, etc.) The argument is a bitwise OR of desired Trader_Components as listed in enumerated type above.

template<class TRADER_LOCK_TYPE, class MAP_LOCK_TYPE>
TAO_Trader< TRADER_LOCK_TYPE, MAP_LOCK_TYPE >::~TAO_Trader | ( | void |  | ) | `[virtual]`

| Destructor.

## Member Function Documentation

template<class TRADER_LOCK_TYPE, class MAP_LOCK_TYPE>
ACE_Lock & TAO_Trader< TRADER_LOCK_TYPE, MAP_LOCK_TYPE >::lock | ( | void |  | ) | `[virtual]`

| Returns the trader. Implements TAO_Lockable.

template<class TRADER_LOCK_TYPE, class MAP_LOCK_TYPE>
TAO_Offer_Database< MAP_LOCK_TYPE > & TAO_Trader< TRADER_LOCK_TYPE, MAP_LOCK_TYPE >::offer_database | ( | void |  | ) |

| Accessor for the structure with all the service offers.

template<class TRADER_LOCK_TYPE, class MAP_LOCK_TYPE>
void TAO_Trader< TRADER_LOCK_TYPE, MAP_LOCK_TYPE >::operator= | ( | const TAO_Trader< TRADER_LOCK_TYPE, MAP_LOCK_TYPE > & |  | ) | `[private]`

## Member Data Documentation

template<class TRADER_LOCK_TYPE, class MAP_LOCK_TYPE>
PortableServer::ServantBase* TAO_Trader< TRADER_LOCK_TYPE, MAP_LOCK_TYPE >::ifs_[5]`[protected]`

template<class TRADER_LOCK_TYPE, class MAP_LOCK_TYPE>
ACE_Lock_Adapter<TRADER_LOCK_TYPE> TAO_Trader< TRADER_LOCK_TYPE, MAP_LOCK_TYPE >::lock_`[protected]`

| Lock that guards the state of the trader (its configuration).

template<class TRADER_LOCK_TYPE, class MAP_LOCK_TYPE>
Offer_Database TAO_Trader< TRADER_LOCK_TYPE, MAP_LOCK_TYPE >::offer_database_`[protected]`

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

- Trader_T.h
- Trader_T.cpp