InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IPreflightRuleUtilities Class Referenceabstract

#include <IPreflightRuleUtilities.h>

Inheritance diagram for IPreflightRuleUtilities:
IPMUnknownCPMUnknown< IPreflightRuleUtilities >PreflightSDKRuleUtilities

Public Types

enum  { kDefaultIID = IID_IPREFLIGHTRULEUTILITIES }
 

Public Member Functions

virtual IPreflightRuleInfoDuplicateRule (IDataBase *iDB) const =0
 
virtual void DeletingRule ()=0
 
virtual bool IsEqual (const IPreflightRuleInfo *iOther) const =0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Detailed Description

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.

Member Function Documentation

virtual void IPreflightRuleUtilities::DeletingRule ()
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.

virtual IPreflightRuleInfo* IPreflightRuleUtilities::DuplicateRule (IDataBaseiDB) const
pure virtual

Make a copy of this rule and its instance data in the specified database. If iDB == nil then create one in memory.

Parameters
iDBThe database in which the copy should be created. If nil, create it in memory.
Returns
A refcounted copy.

Implemented in PreflightSDKRuleUtilities.

virtual bool IPreflightRuleUtilities::IsEqual (const IPreflightRuleInfoiOther) const
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.