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

Public Types | |
| enum | { kDefaultIID = IID_IPREFLIGHTPROFILERULES } |
Public Member Functions | |
| virtual int32 | GetRuleCount () const =0 |
| virtual IPreflightRuleInfo * | QueryNthRule (int32 n) const =0 |
| virtual IPreflightRuleInfo * | QueryRuleByID (const PreflightRuleID &ruleID) const =0 |
| virtual int32 | Location (const IPreflightRuleInfo *iRule) const =0 |
| virtual int32 | Location (const PreflightRuleID &ruleID) const =0 |
| virtual void | AddRule (IPreflightRuleInfo *iRule)=0 |
| virtual void | RemoveNthRule (uint32 n, bool deleteIt=kTrue)=0 |
| virtual void | RemoveAllRules (bool deleteThem=kTrue)=0 |
| virtual void | CopyFrom (const IPreflightProfileRules *iSrc)=0 |
| virtual bool | IsEqual (const IPreflightProfileRules *iOther) const =0 |
| virtual void | UpdateAllRulesData ()=0 |
Public Member Functions inherited from IPMUnknown | |
| virtual IPMUnknown * | QueryInterface (PMIID interfaceID) const =0 |
| virtual void | AddRef () const =0 |
| virtual void | Release () const =0 |
Maintains a list of rules in a profile. Profiles can be in a database or not, so this interface maintains an array of refcounted IPreflightRuleInfo interfaces if it's an in-memory profile, or a UIDList of rule bosses if it's in a database.
| pure virtual |
Add a new rule; typically called with a rule created via a rule service. The rule must be in the same database as the profile (or no database if the profile is not in a database).
| iRule | The rule you want to add. This interface is refcounted for in-memory profiles; it is NOT refcounted for database profiles, but the UID of the boss is added to the UIDList of this interface. |
| pure virtual |
Copies the rules from another list. This copies each rule and adds it to the list. Prior to this all existing rules are deleted (by RemoveAllRules(kTrue)). Note that this works for all combinations of in-memory and in-database profiles.
| iSrc | The rules you want to copy from. |
| pure virtual |
Get the number of rules in the list.
| pure virtual |
Does a deep compare with another profile to determine equivalence. Equivalence is defined as having all the same rules with all the same parameters, although not necessarily in the same order.
| iOther | IN The rules to compare against. |
| pure virtual |
Get the location of a rule in the list (if it is in the list).
| iRule | The rule you want to find. |
| pure virtual |
Get the location of a rule in the list (if it is in the list).
| ruleID | The ruleID you want to find. |
| pure virtual |
Get one of the rules in the list.
| n | The index of the rule you want. |
| pure virtual |
Get the rule in the list that corresponds to the given rule ID.
| ruleID | The rule ID you're looking for. |
| pure virtual |
Removes all rules from the list.
| deleteThem | True to delete the rules from the database. False to leave them – but this is probably not what you want in most cases unless you've already taken ownership of all of them! |
| pure virtual |
Remove a rule from the list.
| n | The index of the rule you want to remove. |
| deleteIT | True to delete the rule boss from the database (ignored for in-memory profiles). False will remove the rule from the list but NOT delete the boss – that's your responsibility. Useful if you want to move the rule to another profile, say. |
| pure virtual |
Utility for updating all the rules data in case any of the rule implementations have changed and the parameters need to be modified. For each rule in the list it grabs the IPreflightRuleUtilities interface and calls UpdateRuleData().