IRISLIB database
All Classes Namespaces Functions Variables Pages
GUID Class Reference

Static Public Member Functions

_.Library.Status AssignGUID (_.Library.String class, _.Library.Integer nOutput)
 This method will assign a GUID to all objects that don't already have one.
 
_.Library.Integer Filter (_.Library.String guid, _.Library.RegisteredObject FilterObject, _.Library.Integer trn)
 This method should be implemented by the user. More...
 

Static Private Member Functions

_.Library.String FindGUID (_.Library.String pClassName, _.Library.Binary pID)
 FindGUID() attempts to locate the GUID of object for which we do not know the most specific type class. More...
 

Detailed Description

For information on this class, see Using Object Synchronization.

This class implements utility methods for GUIDs.

Member Function Documentation

◆ FindGUID()

_.Library.String FindGUID ( _.Library.String  pClassName,
_.Library.Binary  pID 
)
staticprivate

FindGUID() attempts to locate the GUID of object for which we do not know the most specific type class.

This can happen when resolving the ID for an object that has been deleted, as sometimes occurs when dealing with objects retrieved from the system journal for the purpose of synchronizing with another system.

This method assumes that the normal GUID resolution has failed and that if another object of a different MSTC exists within the same root extent then it is the same object (same GUID). For example, class A is persistent and it has two sub classes - B and C. An instance of B is created and assigned a GUID. At some future time, that instance of B is deleted and recreated as an instance of C using the same ID value. The premise of FindGUID is that the object having an OID of (id,"B") is the same object as that with an OID of (id,"C").

◆ Filter()

_.Library.Integer Filter ( _.Library.String  guid,
_.Library.RegisteredObject  FilterObject,
_.Library.Integer  trn 
)
static

This method should be implemented by the user.

This method is invoked by SYNC.SyncSet.AddJournaledObject when the Filter is not null.

Non zero return value means that the object should be excluded