![]() | InDesign SDK 20.5 |
#include <IPreflightRuleUtilities.h>

Public Types | |
| enum | { kDefaultIID = IID_IPREFLIGHTRULEUTILITIES } |
Public Member Functions | |
| virtual IPreflightRuleInfo * | DuplicateRule (IDataBase *iDB) const =0 |
| virtual void | DeletingRule ()=0 |
| virtual bool | IsEqual (const IPreflightRuleInfo *iOther) const =0 |
Public Member Functions inherited from IPMUnknown | |
| virtual IPMUnknown * | QueryInterface (PMIID interfaceID) const =0 |
| virtual void | AddRef () const =0 |
| virtual void | Release () const =0 |
This interface sits ON THE RULE (it's not a singleton utilties boss) because the services it provides are unique to the rule. For example, duplicating a rule may require additional intelligence based on the party who wrote the rule.
The methods on this interface are meant for functions that you usually have no need to override, but we want to be sure that if you do need to, you can. Most rules will use the stock implementation (kPreflightRuleUtilitiesImpl).
Methods that are virtually always overridden are found on IPreflightRuleVisitor.
| pure virtual |
This is called when the rule is being deleted. If your rule needs to delete child objects, it should do so in order to avoid UID leaks. This only applies to rules in databases, not in-memory copies.
Implemented in PreflightSDKRuleUtilities.
| pure virtual |
Make a copy of this rule and its instance data in the specified database. If iDB == nil then create one in memory.
| iDB | The database in which the copy should be created. If nil, create it in memory. |
Implemented in PreflightSDKRuleUtilities.
| pure virtual |
Compare this rule to another. This is a deep compare of data. It should return true if the rules have the same data, even if the data isn't necessarily in the same order.
Implemented in PreflightSDKRuleUtilities.