InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IDataExchangeController.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 our data exchange controllers
24 //
25 //========================================================================================
26 
27 #ifndef __IDataExchangeController__
28 #define __IDataExchangeController__
29 
30 #include "IPMUnknown.h"
31 #include "IPMDataObject.h"
32 #include "IDataExchangeHandler.h"
33 
34 #include "DragDropID.h"
35 
36 class DataObjectIterator;
37 
48 {
49  public:
50  enum { kDefaultIID = IID_IDATAEXCHANGECONTROLLER };
51 
52  public:
55  virtual void RegisterAllHandlers() = 0;
56 
57  // ----- Handler queries
63  virtual IDataExchangeHandler* QueryHandler(const PMFlavor& flavor) const = 0;
64 
71  virtual IDataExchangeHandler* QueryHandler(const ExternalPMFlavor& fromFlavor, const PMFlavor& toFlavor) const = 0;
72 
82  virtual IDataExchangeHandler* QueryHandlerForInternalize(DataExchangeResponse& response, const PMFlavor& internalizeToThisFlavor = kNoFlavor) const = 0;
83 
88  virtual IDataExchangeHandler* QueryActiveHandler() const = 0;
89 
95  virtual void SetActiveHandler(IDataExchangeHandler* activeHandler) = 0;
96 
104  virtual ErrorCode FulfillPromise(IPMDataObject* whichItem, const ExternalPMFlavor& whichFlavor) const = 0;
105 
112  virtual bool16 NeedsToInternalize() const = 0;
113 
122  virtual IDataBase* GetScrapDataBase() const = 0;
123 
128  virtual ErrorCode Initialize() = 0;
129 
135  virtual bool16 IsValid() const = 0;
136 
140  virtual void Cleanup() = 0;
141 
146  virtual void GetInternalizeableFlavors(OrderedFlavorList &flavorList) const = 0;
147 
152  virtual bool16 IsClipboardExternal()const = 0;
153 };
154 
155 #endif