InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IExportProvider.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Yeming
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 __IExportProvider__
25 #define __IExportProvider__
26 
27 #include "IPMUnknown.h"
28 #include "PMString.h"
29 #include "PMFlavorTypes.h"
30 #include "RequestContext.h"
31 #include "DocFrameworkID.h"
32 
33 class TaskInfo;
34 class IDocument;
36 
44 {
45  public:
46  enum { kDefaultIID = IID_IEXPORTPROVIDER };
47 
49 
50 
63  virtual void ExportToFile(const IDFile& sysFile, IDocument* doc, IPMUnknown* targetboss, const PMString& formatName, UIFlags uiFlags = kFullUI) = 0;
64 
76  virtual void ExportToStream(IPMStream* stream, IDocument* doc, IPMUnknown* targetboss, const PMString& formatName, UIFlags uiFlags = kFullUI) = 0;
77 
82  virtual bool16 CanExportToFile() const = 0;
83 
93  virtual bool16 CanExportThisFormat(IDocument* doc, IPMUnknown* targetboss, const PMString& formatName) = 0;
94 
123  virtual TaskInfo AsynchronousExportToFile(const IDFile& sysFile, IDocument* doc, IPMUnknown* targetboss, const PMString& formatName, UIFlags uiFlags = kFullUI) = 0;
124 
129  virtual bool16 CanExportToFileAsynchronously() const = 0;
130 
132 
134 
135 
140  virtual bool16 CanExportForExternalize() const = 0;
141 
146  virtual PMFlavor GetInternalFlavor() const = 0;
147 
152  virtual int32 CountExternalFlavors() const = 0;
153 
159  virtual ExternalPMFlavor GetExternalFlavor(int32 n) const = 0;
160 
168  virtual bool16 CanExportThisFlavor(const ExternalPMFlavor& flavor, PMString& outFormatName) const = 0;
169 
177  virtual ErrorCode ExportForExternalize(IDataExchangeHandler *handler, const ExternalPMFlavor toWhichFlavor, IPMStream* stream) = 0;
178 
180 
182 
183 
188  virtual int32 CountFormats() = 0;
189 
195  virtual PMString GetNthFormatName(int32 n) = 0;
196 
202  virtual PMString GetExtensionForFormatName(const PMString& formatName) = 0;
203 
210  virtual ScriptID GetScriptIDForFormatName(const PMString& formatName, const ScriptInfo::RequestContext& context) = 0 ;
212 };
213 
214 #endif