InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ICusDtLnkFacade.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Adobe Developer Technologies
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 __ICusDtLnkFacade_H_DEFINED__
25 #define __ICusDtLnkFacade_H_DEFINED__
26 
27 // Interface includes:
28 #include "IPMUnknown.h"
29 #include "URI.h"
30 #include <map>
31 // Project includes:
32 #include "CusDtLnkID.h"
33 
34 // Forward declarations:
35 class IDocument;
36 class IDataLink;
37 
47 {
48 
49 public:
50 
54  enum { kDefaultIID = IID_ICUSDTLNKFACADE };
55 
56 
70  virtual ErrorCode SetKeyValuePair(const IWorkspace *ws, const PMString& key, const PMString& val, const PMIID& iid)=0;
71 
72 
81  virtual PMString GetValueFromKey(const IWorkspace *ws, const PMString& key, const PMIID& iid) const=0;
82 
83 
93  virtual bool16 IsOurCustomDataLink(const ClassID& classID) const =0;
94 
102  virtual bool16 IsOurCustomDataLink(const UIDRef& linkUIDRef) const =0;
103 
104 
109  virtual ErrorCode AddAdornment(const UIDList& itemList)=0;
110 
111 
112 
117  virtual ErrorCode RemoveAdornment(const UIDList& itemList)=0;
118 
119 
120 
128  virtual ErrorCode AddAssetDataBase(const IWorkspace *ws, const PMString& dbName,
129  const PMString& fullPath)=0;
130 
131 
136  virtual PMString GetNthAssetDataBase(const IWorkspace *ws, int32 index) const =0;
137 
138 
145  virtual int32 GetAssetDataBaseCount(const IWorkspace *ws) const=0;
146 
147 
154  virtual PMString GetAssetDataBasePath(const IWorkspace *ws, const PMString& dbName) const=0;
155 
156 
165  virtual PMString TruncatePath(const PMString& fullPath,
166  bool16 useAnySeparator = kTrue,
167  const PlatformChar& useThisOne = kTextChar_Solidus) const = 0;
168 
169 
178  virtual UIDRef ImportImageAndLoadPlaceGun(const UIDRef& docUIDRef,
179  const PMString& path,
180  const PMString& uniqueKey)=0;
181 
182 
189  virtual UIDRef ImportImageAndLoadPlaceGun(const UIDRef& docUIDRef,
190  const URI& uri)=0;
191 
192 
196  virtual PMString GetCurrentlyChosenUniqueAssetKey(const IWorkspace *ws) const = 0;
197 
198 
203  virtual ErrorCode SetCurrentlyChosenUniqueAssetKey(const IWorkspace *ws, const PMString& newKey) = 0;
204 
205 
218  virtual ErrorCode InitializeDataLink(const IWorkspace *ws,
219  IDataLink *dl,
220  const IDFile &file, const PMString &formatName,
221  const PMString& uniqueAssetKey) = 0;
222 
230  virtual bool UniqueKeyToURI(const PMString& uk, URI& uri) const = 0;
231 
238  virtual bool URIToIDFile(const URI& uri, IDFile& file) const = 0;
239 
240 
246  virtual PMString GetFirstPartOfPath(const PMString& p) const =0;
247 
248 
256  virtual IDFile GetLocalFileFromAssetIdentifier(const IWorkspace *ws, const PMString& uniqueAssetKey) const = 0;
257 
258 
266  virtual PMString GetAssetDataBaseRecordFieldValue(const IDFile& databaseFile,
267  const PMString& recordID,
268  const PMString& fieldName) const =0;
269 
274  virtual uint64 GetAssetSizeFromAssetIdentifier(const IWorkspace *ws, const PMString& uniqueAssetKey) const = 0;
275 
282  virtual uint64 GetAssetTimestampFromAssetIdentifier(const IWorkspace *ws, const PMString& uniqueAssetKey) const = 0;
283 
288  virtual PMString GetAssetDescriptionFromAssetIdentifier(const IWorkspace *ws, const PMString& uniqueAssetKey) const = 0;
289  virtual uint64 GetAssetTimestampFromURI(const URI& uri) const = 0;
290 
291 
296  virtual PMString GetFieldValueFromAssetIdentifier(const IWorkspace *ws, const PMString& uniqueAssetKey,
297  const PMString& fieldName) const = 0;
298 
303  virtual PMString GetAssetDescriptionFromURI(const URI& uri) const = 0;
304 
311  virtual void StoreUniqueKey(IDataLink* dataLink, const PMString& uniqueAssetKey)=0;
312 
322  virtual PMString RetrieveUniqueKey(IDataLink* dataLink) const=0;
323 
329  PMString GetRecordFieldValueFromURI(const URI& uri, PMString& whichField) const;
330 
336  virtual bool16 NeedsOurAdornment(const UIDRef& pageItemUIDRef) const=0;
337 
343  virtual bool16 HasOurAdornment(const UIDRef& pageItemUIDRef) const =0;
344 };
345 
346 #endif // __ICusDtLnkFacade_H_DEFINED__
347