%DeepSee.TimeSync
abstract class %DeepSee.TimeSync
Subclass this class to implement a class that processes all objects of the specified class that have been modified since the last time the %Synchronize() or the %SynchronizeAll() was run.All objects in the extent of the specified class can be processed by invoking the %SynchronizeAll().
The user implements %OnProcessObject(). This method is responsible for concurrency and for processing the object. For example, the class might be used to synchronize a Cache Objects extent with some external archive. The user can also implement %OnProcessStart() that will be called before processing any objects and %OnProcessEnd() method that will be called after processing the objects is finished.
Method Inventory
Methods
This method is called by the %Synchronize() and %SynchronizeAll() methods after processing is completed.
| Parameters | ||
|---|---|---|
| Name | Direction | Description | 
| pClassName | Input | The name of the class that is being processed. | 
| pAll | Input | True (1) if called by %SynchronizeAll(). | 
| Return | %Status value indicating success or failure. If failure is reported then no further processing by the calling method will be performed. | |
This method is called by the %Synchronize() and %SynchronizeAll() methods for each object to be processed. The user is expected to define this method to implement the desired processing.
| Parameters | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Name | Direction | Description | ||||||||
| pClassName | Input | The name of the class to synchronize. This class must be persistent and declare DSTIME as AUTO or MANUAL. | ||||||||
| pID | Input | The ID of the object to process. | ||||||||
| pFileAction | Input | The type of filing event. When synchronizing all objects from a class this value will be 1 (Insert). The pFileAction values are: 
 | ||||||||
| pTimeStamp | Input | The timestamp (segment ID) in which this object (identified by pID) was filed. When synchronizing all objects from a class this value will be 0. | ||||||||
| Return | %Status value indicating success or failure. | |||||||||
This method is called by the %Synchronize() and %SynchronizeAll() methods before processing any objects.
| Parameters | ||
|---|---|---|
| Name | Direction | Description | 
| pClassName | Input | The name of the class that is being processed. | 
| pAll | Input | True (1) if called by %SynchronizeAll(). | 
| Return | %Status value indicating success or failure. If failure is reported then no further processing by the calling method will be performed. | |
This method can be called by the user at any time to reset the DSTIME stamp of the last synchronization for a given class.
| Parameters | ||
|---|---|---|
| Name | Direction | Description | 
| pClassName | Input | The name of the class whose timestamp data is to be reset. | 
| Return | %Status value indicating success or failure. | |
For the specified class invoke %OnProcessObject for all objects that have been updated since the last time this class was processed by either %Synchronize or %SynchronizeAll(). %OnProcessStart() is called before processing any objects. %OnProcessEnd() is called after processing all objects is finished.
| Parameters | ||
|---|---|---|
| Name | Direction | Description | 
| pClassName | Input | The name of the class to synchronize. This class must be persistent and declare DSTIME as AUTO or MANUAL. | 
| pVerbose | Input | If true (a non-zero integer) then status messages will be written to the current device. | 
| pObjectsUpdated | Output | The number of objects processed by this operation. | 
| Return | %Status value indicating success or failure. | |
For the specified class invoke %OnProcessObject for all objects in the extent of the specified class. %OnProcessStart() is called before processing any objects. %OnProcessEnd() is called after processing all objects is finished.
| Parameters | ||
|---|---|---|
| Name | Direction | Description | 
| pClassName | Input | The name of the class to synchronize. This class must be persistent and declare DSTIME as AUTO or MANUAL. | 
| pVerbose | Input | If true (a non-zero integer) then status messages will be written to the current device. | 
| pObjectsUpdated | Output | The number of objects processed by this operation. | 
| Return | %Status value indicating success or failure. | |