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

Public Types | |
| enum | { kDefaultIID = IID_IPREFLIGHTMANAGER } |
| enum | NewOpenMode { kNewOpenOff, kNewOpenNormal, kNewOpenBook } |
Public Member Functions | |
| virtual void | Startup ()=0 |
| virtual void | Shutdown ()=0 |
| virtual IPreflightProfileManager * | QueryProfileManager (IDocument *iDoc) const =0 |
| virtual IPreflightProfileManager * | QueryProfileManager (IDataBase *db) const =0 |
| virtual IPreflightObjectModel * | QueryObjectModel () const =0 |
| virtual IPreflightProcessManager * | QueryProcessManager () const =0 |
| virtual IPreflightRuleManager * | QueryRuleManager () const =0 |
| virtual PreflightDocumentID | GetDocumentID (const IDocument *iDoc) const =0 |
| virtual PreflightDocumentID | GetDocumentID (const IDataBase *iDB) const =0 |
| virtual IDocument * | QueryDocument (PreflightDocumentID docID, bool forceLoadDocument=kFalse) const =0 |
| virtual IDataBase * | GetDataBase (PreflightDocumentID docID, bool forceLoad=kFalse) const =0 |
| virtual IDFile | GetFile (PreflightDocumentID docID) const =0 |
| virtual void | SetNewOpenMode (NewOpenMode newMode)=0 |
| virtual NewOpenMode | GetNewOpenMode () const =0 |
| virtual void | OnOpenDocument (IDocument *iDoc)=0 |
| virtual void | OnOpenDocumentFromBook (IDocument *iDoc)=0 |
| virtual void | OnNewDocument (IDocument *iDoc)=0 |
| virtual void | OnSaveDocument (IDocument *iDoc)=0 |
| virtual void | OnSaveAsDocument (IDocument *iDoc)=0 |
| virtual void | OnCloseDocument (IDocument *iDoc)=0 |
| virtual void | OnCloseBook (IBook *iBook)=0 |
| virtual void | OnSettingsChange (const IPreflightSettingsChangeInfo *iInfo)=0 |
Public Member Functions inherited from IPMUnknown | |
| virtual IPMUnknown * | QueryInterface (PMIID interfaceID) const =0 |
| virtual void | AddRef () const =0 |
| virtual void | Release () const =0 |
The preflight manager is the "top level" interface for everything related to preflight. It sits on the session, or you can get to it more safely by
InterfacePtr<IPreflightManager> iMgr(Utils<IPreflightUtils>()->QueryPreflightManager());
Mostly it (a) serves up other interesting interfaces, (b) implements a document/DB/file map for relating results to a particular document (even if that document has been closed), and (c) implements various bottlenecks related to document open/close/save/etc to maintain that map.
| pure virtual |
| pure virtual |
Document ID database. There will be cases, in particular for book preflight, where we are going to need to record results for documents that are not open at the moment. So we can't just record a database with the preflight objects; we need some way of remembering which database/document an object was associated with so we can reopen it later (and/or associate it with a re-opened document). Thus this simple database, which just accumulates a list of the documents we visit. As observers note new, opened, and saved documents, this database is updated automatically.Given a document in memory, obtain its corresponding ID.
| iDoc | IN The document you're interested in. |
| pure virtual |
Given a document database in memory, obtain its corresponding ID.
| iDB | IN The database of the document you're interested in. |
| pure virtual |
Given a document ID, obtain a path to it, whether or not the document is currently open.
| docID | IN The ID of the document you need access to. |
| pure virtual |
Set the behavior that should apply for new/open commands.
| pure virtual |
Called when a book is closed. If there's an active preflight on the book then we need to notify all the affected processes.
| iDoc | The document being closed. |
| pure virtual |
Called when a document is opened, as determined by a document list observer. In general you shouldn't need to call this. The manager responds by removing any observers, updating the document database, and deleting anything that might reference the document, such as processes, tasks, and caches. It also notifies all of the object model services in case they have any caches that need to be flushed.
| iDoc | The document being closed. |
| pure virtual |
Called when a document is opened, as determined by a document list observer. In general you shouldn't need to call this. The manager responds by creating a preflight process if applicable; it also updates the document database (see above).
| iDoc | The document just opened. |
| pure virtual |
Called when a document is opened, as determined by a document list observer. In general you shouldn't need to call this. The manager responds by determining what action should be taken, such as automatically creating a preflight process.
| iDoc | The document just opened. |
| pure virtual |
Called when a document is opened via the book panel, as determined by a document list observer. In general you shouldn't need to call this. The manager responds by configuring preflight for the document if the book has an active preflight configured.
| iDoc | The document just opened. |
| pure virtual |
Called when a document is saved-as, as determined by a document list observer. In general you shouldn't need to call this. The manager responds by updating its internal document database (see above).
| iDoc | The document saved. |
| pure virtual |
Called when a document is saved, as determined by a document list observer. In general you shouldn't need to call this. Currently the manager doesn't do anything but it may in the future.
| iDoc | The document saved. |
| pure virtual |
Called when a settings change is broadcast on the global settings-change digest subject. This information is then distributed to the managers that might want to respond.
| iInfo | IN The settings change info. |
| pure virtual |
| pure virtual |
Get the object model (a singleton for now). The preflight object model is responsible for building parallel versions of the document for preflight purposes.
| pure virtual |
Get the process manager (a singleton for now). The process manager maintains the list of active preflight processes (document inspections).
| pure virtual |
Obtain a profile manager for the provided document. The profile manager maintains the list of profiles in the document (or application defaults if iDoc is nil).
| iDoc | IN The document you're interested in, or nil for the application defaults. |
| pure virtual |
Obtain a profile manager for the provided database. The profile manager maintains the list of profiles in the document (or application defaults if db is nil).
| db | IN The database you're interested in, or nil for the application defaults. |
| pure virtual |
Get the rule manager (a singleton for now). The rule manager maintains the rule ID to service mapping along with anything we care to cache about rules.
| pure virtual |
Set the behavior that should apply for new/open commands. This defaults to kNewOpenNormal and shouldn't be changed except temporarily. Currently used by the book-doc open command to override the standard behaviors.
| newMode | IN The new mode. |
| pure virtual |
Called by the global startup/shutdown mechanism; you should never need to call this.
| pure virtual |
Called by the global startup/shutdown mechanism; you should never need to call this.