InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IINXManager.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Steve Pellegrin
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 // This file simply includes the sources file from the AXE Core Tech XML parser required
24 // to be built on the client side for initilaiztion and termination.
25 //
26 //========================================================================================
27 
28 #ifndef __IINXManager_h__
29 #define __IINXManager_h__
30 
31 // Adobe Patent or Adobe Patent Pending Invention Included Within this File
32 // Adobe patent application tracking B234, entitled Method and apparatus for formatting portion of content, inventors: Craig Rainwater, Steve Pellegrin, Robin Briggs
33 
34 // ----- Interfaces -----
35 
36 #include "IDOMElement.h"
37 
38 // ----- Includes -----
39 #include "PMString.h"
40 
41 // ----- ID.h files -----
42 
43 #include "INXCoreID.h"
44 
45 // ----- Forward -----
46 
47 class IINXImportPolicy;
48 class IINXExportPolicy;
50 class INXOptions;
51 class IPMStream;
52 class IINXErrorHandler;
53 
58 class IINXManager : public IPMUnknown
59 {
60 public:
61  enum { kDefaultIID = IID_IINXMANAGER };
62 
66  typedef IINXErrorHandler * (*CreateINXErrorHandler) ();
67 
68 public:
69  // INX export related function.
82  virtual ErrorCode ExportINX(const IDOMElement::ElementList &roots, IINXExportPolicy *policy,
83  IPMStream *stream, UIFlags uiFlags = kFullUI) = 0;
84 
90  virtual void BeginExportSession() = 0;
91 
95  virtual void EndExportSession() = 0;
96 
97 
98  // INX import related function
106  virtual ErrorCode ValidateINX(IPMStream *stream, IINXImportValidation *validation = nil) = 0;
107 
119  virtual ErrorCode ImportINX(IDOMElement * root, IINXImportPolicy *policy, IPMStream *stream,
120  const PMString *progressBarTitle = nil, UIFlags uiFlags = kFullUI, IDOMElement **object = nil) = 0;
121 
127  virtual void BeginImportSession() = 0;
128 
132  virtual void EndImportSession() = 0;
133 
134 
135  // INX error handling related function
144  virtual void SetINXErrorHandler(CreateINXErrorHandler handlerOwner) = 0;
145 
151  virtual IINXErrorHandler * GetINXErrorHandler(CreateINXErrorHandler * fnPointer = nil) const = 0;
152 
153  //NOTE: Adobe internal use only
154  virtual void ImportHelperAddCacheEntry(const PMString& inKey, const PMString& inValue) = 0;
155  virtual PMString ImportHelperGetCacheEntry(const PMString& inKey) = 0;
156 };
157 
158 #endif // __IINXManager_h__