InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IBookManager.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Yeming Liu
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 
24 #ifndef __IBOOKMANAGER__
25 #define __IBOOKMANAGER__
26 
27 #include "IPMUnknown.h"
28 
29 #include "K2Vector.h"
30 
31 #include "BookID.h"
32 
33 class IBook;
34 class IDocument;
35 
46 class IBookManager : public IPMUnknown
47 {
48  public:
49  enum { kDefaultIID = IID_IBOOKMANAGER };
50 
53  typedef enum
54  { kAskMissing,
57  } UIFlags;
58 
67  virtual IBook* CreateBook(
68  const IDFile& whatBook,
69  IDataBase::ProtectionLevel protection,
70  void* platformFileInfo = nil) = 0;
71 
82  virtual IBook* OpenBook(
83  const IDFile& whatFile,
84  IDataBase::ProtectionLevel protection,
85  bool16* bAlreadyOpen,
86  bool16 bOpenExclusive = kFalse,
87  UIFlags alertMissingPlugIns = kAskMissing) = 0;
88 
98  virtual IBook* RecoverBook(
99  const IDFile* pubFile,
100  const IDFile* miniSaveFile,
101  IDataBase::ProtectionLevel protection,
102  void* fileInfo = nil) = 0;
103 
107  virtual void CloseBook(IBook* iBook) = 0;
108 
112  virtual void CloseAll() = 0;
113 
118  virtual IBook* GetNthBook(int32 n) = 0;
119 
124  virtual int32 GetBookIndex(IBook* iBook) = 0;
125 
130  virtual int32 GetBookCount() = 0;
131 
136  virtual IBook* GetCurrentActiveBook() = 0;
137 
141  virtual void SetCurrentActiveBook(IBook* iBook) = 0;
142 
148  virtual IBook* FindOpenBookByName(const IDFile& whatBook) = 0;
149 
157  virtual bool16 IsDocumentWithinOpenBooks(IDocument* doc, PMString& bookName) = 0;
158 };
159 
160 #endif //__IBOOKMANAGER__