Used to prepare a save reference hierarchy.
Before accessing the save reference hierarchy for a ReferenceMaker, the ReferenceMaker may need to prepare the save reference hierarchy. This is done by calling SpecifySaveReferences on the ReferenceMaker and all of its save references. An instance of the PreSave class passed to the SaveEnum method will perform this preparation. Plugins will not normally need to perform these actions to prepare the save reference hierarchy for a ReferenceMaker as the system will have already done so at the beginning of the save process. The only time a plugin would need to do this is if it is initiating a call to SaveEnum on the reference maker (i.e., the SaveEnum call is not in a SaveEnum implementation). For example:
/code this code is not within a SaveEnum implemention, so the save ref hierarchy has not already been created initialize: build save ref hierarchy ReferenceSaveManager::PreSave preSaveEnumProc; maker->SaveEnum(preSaveEnumProc, FALSE);
SimpleSaveEnumerator saver; maker->SaveEnum(saver);
finalize: clear save ref hierarchy ReferenceSaveManager::PostSave postSaveEnumProc; maker->SaveEnum(preSaveEnumProc, FALSE); /endcode
As seen in the code example, after completing the SaveEnum calls, you will also need to perform an additional SaveEnum passing a PostSave SaveEnumProc. This proc tears down the save reference hierarchy.
#include <ReferenceSaveManager.h>
Public Member Functions |
|
CoreExport void | proc (ReferenceMaker *rmaker) |
This is the method allows processing the
passed
ReferenceMaker. |
|
CoreExport int | terminate (ReferenceMaker *rmaker) |
implemented by system |
CoreExport void proc | ( | ReferenceMaker * | rmaker | ) | [virtual] |
This is the method allows processing the passed ReferenceMaker.
Any processing needing to be performed on the passed RefenceMaker after enumerating the references held by the ReferenceMaker would be done in this method.
rmaker | - A pointer to the reference maker |
Implements SaveEnumProc.
CoreExport int terminate | ( | ReferenceMaker * | rmaker | ) | [virtual] |