InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IContentMgr.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:
24 // Manages all content added to the document. Keeps track of what classes
25 // and tags are in the document, what plug-ins added them, etc.
26 //
27 //========================================================================================
28 
29 #ifndef __IContentMgr__
30 #define __IContentMgr__
31 
32 // ----- Interfaces -----
33 
34 #include "IPMUnknown.h"
35 #include "ITagRegistry.h"
36 #include "PluginMetadata.h"
37 
38 // ----- Includes -----
39 
40 #include "K2Vector.h"
41 
42 
43 class PMString;
44 class FormatID;
45 class IDocument;
46 class IGatherIDStreamData;
47 
51 class IContentMgr : public IPMUnknown
52 {
53  public:
54  enum { kDefaultIID = IID_ICONTENTMGR };
55 
60  struct PluginInfo {
62  PMString fPluginName; // name of the plug-in
64  int32 fDocMajorVersion; // version number of the plug-in
68  bool16 fIsMissing; // kTrue if the plugin is not running.
72  ITagRegistry::TagPriority fPriority; // default, critical, or ignore
73 
74  PluginMetadata fMetadata; // extra plug-in info: company name, url, alert
75  PluginID fPluginID;
76  };
77 
79 
95  virtual ErrorCode GetStatus() const = 0;
96 
105  virtual bool16 AlertMissingPlugins(const IDFile *sourcePub, const PluginIDList& alertOnList, std::string assetRef = "") = 0;
106 
107  virtual void GatherMissingPlugins(PluginIDList* alertOnList) = 0;
108 
114  virtual void CheckForMissingPlugins(const K2Vector<PluginID> *removedPlugins = nil, const K2Vector<PluginID> *ignoredPlugins = nil) = 0;
115 
122  virtual void FixupMissingPlugins(IDocument *doc, const K2Vector<PluginID> &list) = 0;
123 
127  virtual bool16 IgnoreAllMissingPlugins() const = 0;
128 
131  virtual void SetIgnoreAllMissingPlugins() = 0;
132 
134  virtual void MarkAllPluginsUntouched() = 0;
136  virtual void RemoveUntouchedPlugins() = 0;
137 
144  virtual void AddTag(ImplementationID newTag, ClassID context) = 0;
145 
151  virtual void AddClass(ClassID clsID) = 0;
152 
156  virtual int32 GetMissingPluginCount() const = 0;
157 
163  virtual PluginID GetNthMissingPlugin(int32 n, PluginInfo *info) const = 0;
164 
168  virtual void GetMissingPlugins(K2Vector<PluginID> &list) const = 0;
169 
171  virtual int32 GetPluginCount() const = 0;
172 
178  virtual PluginID GetFirstPlugin(PluginInfo *info = nil) const = 0;
179 
186  virtual PluginID GetNextPlugin(PluginID plugin, PluginInfo *info = nil) const = 0;
187 
193  virtual bool16 GetPluginInfo(PluginID plugin, PluginInfo *info) const = 0;
194 
198  virtual bool16 IsMissingCriticalPlugins() const = 0;
199 
203  virtual bool16 IsMissingDefaultPlugins() const = 0;
204 
210  virtual ErrorCode GetPluginForClass(ClassID clsID, PluginID &plugin) const = 0;
211 
217  virtual ErrorCode GetPluginForImplementation(ImplementationID implID, PluginID &plugin) const = 0;
218 
224  virtual void SetCheckUIDsOnNextOpen(bool16 doIt) = 0;
225 
230  virtual bool16 GetCheckUIDsOnNextOpen() const = 0;
231 
236  virtual void VerifyPluginFormatNumber(PluginID plugin, const FormatID &format) = 0;
237 
241  virtual void RemovePlugin(PluginID plugin) = 0;
242 
246  virtual void IgnorePlugin(PluginID plugin) = 0;
247 
250  virtual void ProcessDeferredContent() = 0;
251 
254  virtual void Clear() = 0;
255 
263  virtual const PMString& GetApplicationName() const = 0;
264 
268  virtual void SetApplicationName(const PMString& newName) = 0;
269 
270 #ifdef DEBUG
271 
272  virtual void VerifyContentMgr(IGatherIDStreamData *data) = 0;
273 
275  virtual void DumpMissingPluginData() = 0;
276 
278  virtual void DumpContentMgrData() = 0;
279 #endif
280 };
281 
282 
283 #endif // __IContentMgr__