OSB_CORBA::PersProductWriter_i Class Reference

Inheritance diagram for OSB_CORBA::PersProductWriter_i:

Inheritance graph
[legend]
Collaboration diagram for OSB_CORBA::PersProductWriter_i:

Collaboration graph
[legend]
List of all members.

Detailed Description

Servant for CORBA interface PersProductWriter.

Definition at line 82 of file persproduct_i.h.

Public Member Functions

Status changes:

Static Public Attributes

Private Types

Private Member Functions

Private Attributes

Friends


Member Typedef Documentation

typedef std::list<Locators::Key> OSB_CORBA::PersProductWriter_i::Servants [private]

Short-hand for a list of servants.

Definition at line 390 of file persproduct_i.h.


Constructor & Destructor Documentation

OSB_CORBA::PersProductWriter_i::PersProductWriter_i ( AnCList_i ancList,
ContractWriter_i coServant,
OSB_LIB::PersProduct persProduct 
)

Constructor.

Parameters:
ancList Controlling A&C list servant.
coServant Parent of the servant.
persProduct Pers. product of the servant.

OSB_CORBA::PersProductWriter_i::~PersProductWriter_i (  ) 

Destructor: unregister servants.


Member Function Documentation

CORBA::Boolean OSB_CORBA::PersProductWriter_i::addPersProdNode ( const ProductPartId &  id,
CORBA::Boolean  noWait 
) throw (CORBA::SystemException, OsbCorbaException)

Add a new personalised product node.

This operation is not allowed if parent is deactivated.

Parameters:
id Unqiue product part id.
noWait Set to false if waiting is desired when lock is already acquired by others. If waiting is not desired, set flag to true.
Returns:
True if operation is successful.
Exceptions:
OsbCorbaException if operation fails at the gateway.

OSB_LIB::AnCList& OSB_CORBA::PersProductWriter_i::ancList (  )  [private]

Get library A&C list.

AvailnSubscrPartSeq* OSB_CORBA::PersProductWriter_i::availnSubscrParts ( const OSB_LIB::PersParts persParts  ) 

Convert a PersPart in OSB_LIB to a sequence of AvailnSubscrParts.

ContractAdmin_i& OSB_CORBA::PersProductWriter_i::cadmin (  )  [private]

Get contract admin servant.

CORBA::Boolean OSB_CORBA::PersProductWriter_i::changePartStatus ( StatusRequest &  status,
const ProductPartId &  id,
CORBA::Boolean  noWait,
CfgErrorSeq_out  errors 
) throw (CORBA::SystemException, OsbCorbaException)

Set the preferred status of a pers. product part.

Parameters:
status Preferred status to set, see below.
id Id of the product part to change.
noWait Don't wait for database locks?
errors Gets encountered errors.
Returns:
true in case of success, else false.
When calling the function, status must have the requested status and reason set; if the status date is not set the system date is used.
If successful the request id, the requested date/time and the entry timestamp will be set.

CORBA::Boolean OSB_CORBA::PersProductWriter_i::changeStatus ( StatusRequest &  status,
CORBA::Boolean  noWait,
CfgErrorSeq_out  errors 
) throw (CORBA::SystemException, OsbCorbaException)

Set the preferred status of the pers. product.

Parameters:
status Preferred status to set, see below.
noWait Don't wait for database locks?
errors Gets encountered errors.
Returns:
true in case of success, else false.
When calling the function, status must have the requested status and reason set; if the status date is not set the system date is used.
If successful the request id, the requested date/time and the entry timestamp will be set.

CORBA::Boolean OSB_CORBA::PersProductWriter_i::commitChanges ( CORBA::Boolean  noWait  )  throw (CORBA::SystemException, OsbCorbaException)

Update changes to the contract permanently into database.

DateTime* OSB_CORBA::PersProductWriter_i::createdDate (  )  throw (CORBA::SystemException)

Date at which personalised product is created.

Utf8String* OSB_CORBA::PersProductWriter_i::desc (  )  throw (CORBA::SystemException, OsbCorbaException)

Return description of product used to create persproduct.

Status OSB_CORBA::PersProductWriter_i::effStatus (  )  throw (CORBA::SystemException)

Return effective status of personalised product.

DateTime* OSB_CORBA::PersProductWriter_i::effStatusDate (  )  throw (CORBA::SystemException)

Date at which effective status is in effect.

AvailnSubscrPart* OSB_CORBA::PersProductWriter_i::getAvailnSubscrPart ( const ProductPartId &  id  )  throw (CORBA::SystemException, OsbCorbaException)

Return an available or subscribed product part.

This function allows the retrieval of a AvailnSubscrParts of any hierarchy level based on a product part id.

Parameters:
id Unique product part id.
Returns:
An AvailnSubscrPart.
Exceptions:
OsbCorbaException if AvailnSubscrPart cannot be found.

AvailnSubscrPartSeq* OSB_CORBA::PersProductWriter_i::getAvailnSubscrParts ( const ProductPartId &  id  )  throw (CORBA::SystemException, OsbCorbaException)

Return list of subscribed product parts and available product parts of a AvailnSubscrPart.

This function allows the retrieval of a list of AvailnSubscrParts of any hierarchy level based on a product part id. This is different from the function getNextAvailnSubscrParts which retrieves only the first level of AvailnSubscrParts.

Parameters:
id Unique product part id.
Returns:
List of AvailnSubscrParts.
Exceptions:
OsbCorbaException if AvailnSubscrPart cannot be found.

virtual AvailnSubscrPartSeq* OSB_CORBA::PersProductWriter_i::getNextAvailnSubscrParts (  )  throw (CORBA::SystemException) [virtual]

Return first level of subscribed product parts (both mandatory and personalised) and available product parts that are not personalised.

Returns:
List of AvailnSubscrParts.

PersProdNodeWriter_ptr OSB_CORBA::PersProductWriter_i::getPersProdNode ( const ProductPartId &  id  )  throw (CORBA::SystemException, OsbCorbaException)

Return object reference of a personalised product node.

Parameters:
id Unique id of product node.
Exceptions:
OsbCorbaException if no such personalised product node is found.

PersProdNodeSeq* OSB_CORBA::PersProductWriter_i::getPersProdNodes (  )  throw (CORBA::SystemException, OsbCorbaException)

Return list of personalised product nodes.

PersProdId OSB_CORBA::PersProductWriter_i::id (  )  throw (CORBA::SystemException)

Return unique personalised product id.

const Locators::Key& OSB_CORBA::PersProductWriter_i::key (  )  const [inline]

Get the servant locator key.

Definition at line 105 of file persproduct_i.h.

References key_.

Utf8String* OSB_CORBA::PersProductWriter_i::name (  )  throw (CORBA::SystemException, OsbCorbaException)

Return name of product used to create persproduct.

void OSB_CORBA::PersProductWriter_i::ppiChanged ( const OSB_DB::Session session  )  [private]

A pers. item in persProduct_ has changed.

Calls ContractWriter_i::ppChanged().

void OSB_CORBA::PersProductWriter_i::ppnChanged ( const OSB_DB::Session session  )  [private]

A pers. node in persProduct_ has changed.

Calls ContractWriter_i::ppChanged().

Status OSB_CORBA::PersProductWriter_i::prefStatus (  )  throw (CORBA::SystemException)

Return preferred status of personalised product.

DateTime* OSB_CORBA::PersProductWriter_i::prefStatusDate (  )  throw (CORBA::SystemException)

Date at which preferred status will take effect.

ProductId OSB_CORBA::PersProductWriter_i::prodId (  )  throw (CORBA::SystemException)

Return unique product id.

CORBA::Boolean OSB_CORBA::PersProductWriter_i::removePersProdNode ( const ProductPartId &  id,
CORBA::Boolean  noWait 
) throw (CORBA::SystemException, OsbCorbaException)

Remove a new personalised product node.

This operation is not allowed if parent is dactivated.

Parameters:
id Unqiue product part id.
noWait Set to false if waiting is desired when lock is already acquired by others. If waiting is not desired, set flag to true.
Returns:
True if operation is successful.
Exceptions:
OsbCorbaException if operation at the gateway fails.

virtual StatusValue OSB_CORBA::PersProductWriter_i::requestedStatus ( const DateTime &  ts  )  throw (CORBA::SystemException, OsbCorbaException) [virtual]

Get the requested status for a given time.

Parameters:
ts Date and time to query, if not set system time is used.
Returns:
The anticipated preferred status at time ts,
the related status request may or may not have been applied.
Exceptions:
OsbCorbaException in case of a database error.

void OSB_CORBA::PersProductWriter_i::setUserId ( const AssociateId &  id  )  throw (CORBA::SystemException)

Change the product user of personalized product.

Parameters:
id Unique associate id

StatusHistory* OSB_CORBA::PersProductWriter_i::statusHistory ( const DateTime &  from,
const DateTime &  to,
CORBA::Boolean  noWait 
) throw (CORBA::SystemException, OsbCorbaException)

Get status history for a period of time.

Parameters:
from Start period of list to be retrieved(inclusive).
to End period of list to be retrieved(exclusive).
noWait Wait for database locks: false if yes.
Returns:
list of status changes.
Exceptions:
OsbCorbaException if operation to retrieve status changes fails at the database.

CORBA::Boolean OSB_CORBA::PersProductWriter_i::subscribe ( const ProductPartId &  id,
CORBA::Boolean  noWait 
) throw (CORBA::SystemException, OsbCorbaException)

Subscribe a product part.

This function creates personalised product node and items automatically as specified by the rules of each product item. This is different from addPersProdNode function which do not create any personalised item(configuration).

Parameters:
id Unqiue product part id.
noWait Set to false if waiting is desired when lock is already acquired by others. If waiting is not desired, set flag to true.
Returns:
True if operation is successful.
Exceptions:
OsbCorbaException if operation fails at the gateway.

AssociateId OSB_CORBA::PersProductWriter_i::userId (  )  throw (CORBA::SystemException)

Return unique user id.


Friends And Related Function Documentation

friend class PersProdItemWriter_i [friend]

Provide access to persProduct_ and ppiChanged().

Definition at line 364 of file persproduct_i.h.

friend class PersProdNodeWriter_i [friend]

Provide access to persProduct_ and ppnChanged().

Definition at line 362 of file persproduct_i.h.


Member Data Documentation

AnCList_i& OSB_CORBA::PersProductWriter_i::ancList_ [private]

Reference to AnCList reference.

Definition at line 393 of file persproduct_i.h.

Servants OSB_CORBA::PersProductWriter_i::ansServants_ [private]

AvailnSubscrPart servant id list.

Definition at line 405 of file persproduct_i.h.

ContractWriter_i& OSB_CORBA::PersProductWriter_i::coServant_ [private]

Reference to the controlling contract servant.

Definition at line 395 of file persproduct_i.h.

const std::string OSB_CORBA::PersProductWriter_i::IFC [static]

Definition at line 86 of file persproduct_i.h.

Locators::Key OSB_CORBA::PersProductWriter_i::key_ [private]

Locator key of the servant.

Definition at line 407 of file persproduct_i.h.

Referenced by key().

OSB_LIB::PersProduct* OSB_CORBA::PersProductWriter_i::persProduct_ [private]

Pointer to personalised product.

The actual owner is the contract.

Definition at line 401 of file persproduct_i.h.

Servants OSB_CORBA::PersProductWriter_i::ppnServants_ [private]

PersProdNode servant id list.

Definition at line 403 of file persproduct_i.h.


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