InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
CDataExchangeHandlerFor.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 
24 #ifndef __CDataExchangeHandlerFor__
25 #define __CDataExchangeHandlerFor__
26 
27 #include "CPMUnknown.h"
28 
29 #include "IDataExchangeHandler.h"
30 
31 //========================================================================================
32 // class CDataExchangeHandlerFor
33 // Usage is something like this:
34 //
35 // #include "CDataExchangeHandlerFor.h"
36 //
37 // class MyDataExchangeHandler : public CDataExchangeHandlerFor {
38 // MyDataExchangeHandler(IPMUnknown* boss) : CDataExchangeHandlerFor(boss) {fPMFlavor = kMyPMFlavor;}
39 // virtual ~MyDataExchangeHandler() {}
40 // };
41 //
42 //========================================================================================
43 
48 class CDataExchangeHandlerFor : public CPMUnknown<IDataExchangeHandler>
49 {
50 public:
52 
54  virtual ~CDataExchangeHandlerFor();
55 
57  virtual void CreateScrapStorage();
59  virtual PMFlavor GetFlavor() const = 0;
60 
64  virtual DataExchangeResponse CanInternalizeData(IPMDataObject* whichItem) const;
65 
69  virtual bool16 CanConvertExternalFlavor(ExternalPMFlavor fromWhichFlavor) const;
70 
74  virtual void AddInternalizeableFlavorsToList(OrderedFlavorList& flavorList) const;
75 
79  virtual void AddExternalizeableFlavorsToList(OrderedFlavorList& flavorList) const;
80 
84  virtual void Clear();
85 
89  virtual bool16 IsEmpty() const;
90 
91  // ----- Conversion to platform drag manager
92  public:
96  virtual ErrorCode ExternalizePromises(IPMDataObject* whichItem);
97 
101  virtual ErrorCode Externalize(IPMDataObject* whichItem, ExternalPMFlavor toWhichFlavor, IPMStream* s);
102 
106  virtual ErrorCode Internalize(IPMDataObject* whichItem);
107 
111  virtual ErrorCode Internalize(IPMDataObject* whichItem, ExternalPMFlavor fromWhichFlavor, IPMStream* s);
112 };
113 
114 #endif //__CDataExchangeHandlerFor__