InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IDocumentList.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Robin_Briggs
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //
23 // Purpose of Interface:
24 // Create, open, manage, and close documents
25 //
26 //========================================================================================
27 
28 #ifndef __IDOCUMENTLIST__
29 #define __IDOCUMENTLIST__
30 
31 #include "IPMUnknown.h"
32 #include "DocumentID.h"
33 #include "IDocument.h"
34 
38 class IDocumentList : public IPMUnknown
39 {
40 public:
43  enum UIFlags {
44  kAskMissing,
49  };
55  virtual int32 GetDocCount(bool16 bClosePlacedINDDFiles = kFalse) const = 0;
56 
61  virtual IDocument * GetNthDoc(int32 n) = 0;
62 
68  virtual IDocument *FindDoc(const IDFile& whatFile) const = 0;
69 
75  virtual IDocument *FindDocByDataBase(IDataBase* db) const = 0;
76 
81  virtual IDocument *FindDocFromPreviousVersion(const IDFile& whatFile) = 0;
82 
83 
99  virtual IDocument * NewDoc(const ClassID& docClassID, IDataBase::ProtectionLevel protection, void* fileInfo = nil, IDocument::UndoSupport undoSupport = IDocument::kFullUndoSupport) = 0;
100 
121  virtual IDocument * OpenDoc(const IDFile& whatFile, IDataBase::ProtectionLevel protection, bool16 bOpenOriginal = true, UIFlags alertMissingPlugIns = kAskMissing, bool16 bUseLockFile = kTrue, IDocument::UndoSupport undoSupport = IDocument::kFullUndoSupport) = 0;
122 
123  // For Private Use Only
129  virtual IDocument * OpenDocClone(IDataBase*db, const PMString& docName) = 0;
130 
146  virtual IDocument * RecoverDoc(const IDFile* pubFile, const IDFile* miniSaveFile, IDataBase::ProtectionLevel protection, void* fileInfo = nil, bool16 bIsFauxUserFile = kFalse, IDocument::UndoSupport undoSupport = IDocument::kFullUndoSupport) = 0;
147 
155  virtual void CloseDoc(IDocument * doc) = 0;
156 
157  // For Private Use Only
161  virtual void CloseDocClone(IDocument * doc) = 0;
162 
166  virtual void CloseAll() = 0;
167 
168 
172  virtual void PurgeMemory(int32 level) = 0;
173 
178  virtual IDocument * FindDoc(const std::string& assetRef) const =0;
179 
180 };
181 
182 #endif