nn::nex::AddToStoreOperation Class

Syntax

class AddToStoreOperation : public nn::nex::DOOperation

Description

This DOOperation method executes when a duplicated object has been discovered or published.

Each station has a region called the Duplicated Object store that stores a list of the local active duplication masters (that have been locally published) and duplicas (that have been locally discovered). Duplicated objects are added to and removed from this Duplicated Object store as they are created and deleted during application runtime. Only those objects in the Duplicated Object store are considered to be active objects and updated on the local station.

If a duplication master exists on the local station it is considered to be active. In short, after a duplicated object is created, it is active from the time it is published by the call to DuplicatedObject::Publish until the time its main reference is deleted by the call to DuplicatedObject::DeleteMainRef. For a duplication master, events are generated in the sequence described below up to the point when the duplication master is stored in the Duplicated Object store.

・The application calls DuplicatedObject::Create.
SafetyExecutive is called to inquire whether it is all right to create the object.
If there is a problem, execution aborts. If there is no problem, the process continues.
・The object constructor is called.
・A DOHandle and a master ID are assigned to the duplicated object.
The master ID is the duplicated object ID (DOID) of the Station that holds the duplication master. From this point, DuplicatedObject::IsADuplica, DuplicatedObject::IsADuplicationMaster, and DuplicatedObject::GetMasterID functions return the correct values.
・The application calls the DuplicatedObject::Publish function.
・The system calls DataSet::OperationBegin on all datasets.
・The system calls DuplicatedObject::OperationBegin.
・The system calls DuplicatedObject::InitDO.
・This duplicated object is added to the duplication master store (the region of the Duplicated Object store where the duplication masters are stored).
・The system calls DataSet::OperationEnd.
・The system calls DuplicatedObject::OperationEnd.

The duplication master is active as long as it exists in the system. For a duplica, events are generated in the sequence described below up to the point when the duplica is stored in the Duplicated Object store.

・The system calls the duplicated object constructor.
・A DOHandle and a master ID (described above) are assigned to the duplicated object.
From this point on the DuplicatedObject::IsADuplica and DuplicatedObject::IsADuplicationMaster functions can be used.
・The system calls the DataSet::OperationBegin function.
・The system calls the DuplicatedObject::OperationBegin function.
・The datasets of this duplicated object are initialized.
・The system calls DuplicatedObject::InitDO.
・This duplicated object is added to the duplica store (the region of the Duplicated Object store where duplicas are stored).
・The system calls the DuplicatedObject::OperationEnd function.

This AddToStoreOperation class ends prematurely if it is executed while the station is leaving the session (while the state of Station::GetState is either Leaving or LeavingOnFault).

Enumerated Types

Type Enumerated type representing the types of operations called by the system. (Inherits Operation.)

Member Functions

AddToDuplicationMasterSelection Returns whether this operation will result in an addition to the duplication master store.
AddToDuplicaSelection Returns a value indicating whether this operation results in an addition to the duplica store.
GetAssociatedDOHandle Gets the duplicated object handle associated with this operation. (Inherits DOOperation.)
GetOrigin Gets a duplicated object handle to a station that has called a function that generates an operation object as a result of the call. (Inherits DOOperation.)
GetAssociatedDO Gets a pointer to the duplicated object associated with an operation. (Inherits DOOperation.)
PV GetType Returns the type of this operation object.
GetUserData Gets user-defined values. (Inherits Operation.)
SetUserData Sets user-defined values. (Inherits Operation.)
PV GetClassNameString Gets the class name of this operation object.
S DynamicCast Uses runtime information for dynamic casting. (Inherits Operation.)
S SetTraceFilter Sets the callback function that specifies when to run traces on operation objects. (Inherits Operation.)

Class Hierarchy

nn::nex::RootObject
  nn::nex::Operation
    nn::nex::DOOperation
      nn::nex::AddToStoreOperation

See Also

DuplicatedObject

Revision History

2011/01/27
Initial version.

CONFIDENTIAL