InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IDataExchHandlerFlavorHelper.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Dave Burnard
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 // Interface definition for Data Exchange handler extensibility
24 //
25 //========================================================================================
26 
27 #ifndef __IDataExchHandlerFlavorHelper__
28 #define __IDataExchHandlerFlavorHelper__
29 
30 #include "DragDropID.h"
31 #include "DragDropConstants.h"
32 #include "PMFlavorTypes.h"
33 
35 class IPMDataObject;
36 
52 {
53  public:
54  enum { kDefaultIID = IID_IDATAEXCHANGEHANDLERFLAVORHELPER };
55 
64  GetHelperType() const = 0;
65 
72  virtual DataExchangeResponse CanConvertExternalFlavor(const IDataExchangeHandler*, ExternalPMFlavor fromWhichFlavor) const = 0;
73 
80  virtual DataExchangeResponse CanProduceExternalFlavor(const IDataExchangeHandler*, ExternalPMFlavor toWhichFlavor) const = 0;
81 
91  virtual void AddPromisesForExternalize(IDataExchangeHandler*, const IPMDataObject* whichItem, OrderedPromiseList& orderedPromiseList) = 0;
92 
100  virtual void AddInternalizeableFlavorsToList(const IDataExchangeHandler*, OrderedFlavorList& flavorList) const = 0;
101 
109  virtual void AddExternalizeableFlavorsToList(const IDataExchangeHandler*, OrderedFlavorList& flavorList) const = 0;
110 
119  virtual ErrorCode Externalize(IDataExchangeHandler*, IPMDataObject* whichItem, ExternalPMFlavor toWhichFlavor, IPMStream* s) = 0;
120 
129  virtual ErrorCode Internalize(IDataExchangeHandler*, IPMDataObject* whichItem, ExternalPMFlavor fromWhichFlavor, IPMStream* s) = 0;
130 
139 
140 };
141 
142 #endif