OSB_LIB::TrunkItem Class Reference

Inheritance diagram for OSB_LIB::TrunkItem:

Inheritance graph
[legend]
Collaboration diagram for OSB_LIB::TrunkItem:

Collaboration graph
[legend]
List of all members.

Detailed Description

Product item for trunk resources.

ToDo: Description.

Definition at line 361 of file trunkresource.h.

Public Types

Public Member Functions

Static Public Attributes

Private Member Functions

Database operations:
Trunk items do not have specific data. All I/O members just return true, the argument `session' is never used.


Member Typedef Documentation

typedef std::auto_ptr<TrunkItem> OSB_LIB::TrunkItem::AutoPtr

Documentation from base class.

Reimplemented from OSB_LIB::ResourceItem.

Definition at line 367 of file trunkresource.h.


Constructor & Destructor Documentation

OSB_LIB::TrunkItem::TrunkItem ( const Oid oid,
const std::string &  name = "",
const std::string &  des = "" 
)

Constructor with object id, name and description.

Parameters:
oid Product item object id.
name Name of the resource item.
des Description of the resource item.


Member Function Documentation

ProductItem::CfgType OSB_LIB::TrunkItem::canConfigure (  )  const [virtual]

Configuration type.

Returns:
Trunk items can not be configured: ProductItem::cfgNone.

Implements OSB_LIB::ProductItem.

ProductItem::DefPersType OSB_LIB::TrunkItem::canDefPers (  )  const [virtual]

Default personalization type.

Returns:
Default personalization of trunk items is not possible: ProductItem::defPersNone;

Implements OSB_LIB::ProductItem.

CfgPersType OSB_LIB::TrunkItem::canPersonalize (  )  const [virtual]

The personalization type of PersTrunk.

Implements OSB_LIB::ProductItem.

AutoPtr OSB_LIB::TrunkItem::clone (  )  const

Virtual copy construction.

For details see quality manual, implementation patterns.

Reimplemented from OSB_LIB::ResourceItem.

ProductItem* OSB_LIB::TrunkItem::clone_ (  )  const [private, virtual]

Documentation from base class.

Implements OSB_LIB::ResourceItem.

std::auto_ptr<PersProductItem> OSB_LIB::TrunkItem::crePersProductItem (  )  const [virtual]

Create a personalized trunk.

Returns:
An auto pointer that contains a PersTrunk without configuration, i.e., no personalization.

Implements OSB_LIB::ProductItem.

const PersProductItem* OSB_LIB::TrunkItem::defPersItem (  )  const [virtual]

Pointer to the default personalized trunk.

Implements OSB_LIB::ProductItem.

virtual bool OSB_LIB::TrunkItem::delSpecific ( const OSB_DB::Session session  )  [private, virtual]

No trunk item specific data to delete.

Implements OSB_LIB::ProductItem.

virtual bool OSB_LIB::TrunkItem::insSpecific ( const OSB_DB::Session session  )  [private, virtual]

No trunk item specific data to insert.

Implements OSB_LIB::ProductItem.

virtual bool OSB_LIB::TrunkItem::readSpecific ( const OSB_DB::Session session  )  [private, virtual]

No trunk item specific data to read.

Implements OSB_LIB::ProductItem.

virtual Type OSB_LIB::TrunkItem::type (  )  const [virtual]

The type of the product item.

The function returns the type of the product item. It is needed for only one reason: Corba clients must provide a configuration window that depends on the actual type.

No appropriate design can be provided: Unless on-line clients use the real product item type through-out the whole live cycle of an object, there must be a way to determine the actual type of a product item. No matter how clever we make our design, for on-line clients there will always be one step where they need to determine a product item's type in a switch-like statement. For this step I personally perfer to work with an enumeration type (and compiler warnings) rather than relying on dynamic casts (where errors can be detected only during run-time).

Remarks:
Derived classes declare the function private.

Implements OSB_LIB::ProductItemBase.

virtual bool OSB_LIB::TrunkItem::updSpecific ( const OSB_DB::Session session  )  [private, virtual]

No trunk item specific data to update.

Implements OSB_LIB::ProductItem.


Member Data Documentation

const Type OSB_LIB::TrunkItem::type_ [static]

The product item type id: PiType::piTrunkItem.

Definition at line 364 of file trunkresource.h.


The documentation for this class was generated from the following file:
Generated on Sat Sep 2 14:13:35 2006 for OSB Library by  doxygen 1.4.7