InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ITextFragmentLinkFacade.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Nitin Kumar
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // ADOBE CONFIDENTIAL
16 //
17 // Copyright 2017 Adobe
18 // All Rights Reserved.
19 //
20 // NOTICE: Adobe permits you to use, modify, and distribute this file in
21 // accordance with the terms of the Adobe license agreement accompanying
22 // it. If you have received this file from a source other than Adobe,
23 // then your use, modification, or distribution of it requires the prior
24 // written permission of Adobe.
25 //
26 // Description:
27 // A high level API for dealing with links, link resources and link objects.
28 //
29 //========================================================================================
30 
31 #ifndef __ITextFragmentLinkFacade__
32 #define __ITextFragmentLinkFacade__
33 
34 // ----- Includes -----
35 #include "IPMUnknown.h"
36 
37 #include "Utils.h"
38 #include "LinksID.h"
39 #include "XMLReference.h"
40 #include "ILinkObject.h"
41 
42 class ILink;
43 class IPMStream;
44 class IPMUnknown;
45 class URI;
46 class ILinkResource;
47 class ISpread;
48 class ITextModel;
49 class RangeData;
50 class IHierarchy;
51 
52 /*
53  AdobePatentID="P7225-US"
54  AdobePatentID="P7609-US"
55  */
56 
70 namespace Facade
71 {
73  {
74  public:
75  enum { kDefaultIID = IID_ITEXTFRAGMENTLINKFACADE };
76 
80  virtual ErrorCode CreateTextFragmentLink(IDataBase* db, const URI& uri, const UID& spreadLayerUID, const WideString* tagName = NULL, const WideString* customCMSData = NULL, const PMRect* viewBounds = NULL, PMString textFragmentCmdSeqName=PMString("")) const = 0;
81 
85  virtual ErrorCode RelinkTextFragmentLink(IDataBase* db, ILinkObject* linkObject, const URI& uri, const WideString* tagName = NULL) const = 0;
86 
90  virtual ErrorCode InsertText(const ITextModel* textModel, const RangeData& rangeData, const WideString& metadataContent, RangeData& newRange) const = 0;
91 
95  virtual ErrorCode DeleteText(ITextModel* textModel, const RangeData& rangeData, RangeData& newRange) const = 0;
96 
100  virtual ErrorCode FetchAssetMetadataContent(const URI& uri, WideString& metadataContent) const = 0;
101 
105  virtual ErrorCode CreateLinkResourceAndFetchMetadataContent(IDataBase* db, const URI& uri, const WideString* tagName, UID& linkResourceUID, WideString& metadataKey, WideString& metadataContent) const = 0;
106 
110  virtual ErrorCode InsertTextAndCreateLink(IDataBase* db, const URI& uri, const ITextModel* textModel, const RangeData& currentRange, XMLReference& newElementReference,
111  UID& linkUID, RangeData& newRange, bool createTag = true, const WideString* tagName = NULL, const WideString* customCMSData = NULL) const = 0;
112 
113 
117  virtual ErrorCode CreateMetadataLinkFromXMLReference(const XMLReference& newElementReference, IDataBase* db, const UID& linkResourceUID, UID& linkUID) const = 0;
118 
122  virtual ErrorCode CreateXMLAttributes(const XMLReference& xmlRef, const WideString* uriWideString, const WideString* customCMSData, bool isTextFragmentLink = true) const = 0;
123 
127  virtual ErrorCode DeleteXMLrefandAssociateLinkobject(const UIDRef& linkObjectUIDRef) const = 0;
128 
132  virtual bool16 IsTextFragmentLinkObject(const UIDRef& linkObjectUIDRef) const = 0;
133 
137  virtual bool16 IsTextFragmentLinkObject(const XMLReference& xmlRef) const = 0;
138 
142  virtual IHierarchy* GetTextFragmentHierarchy(const ILinkObject* linkObject) const = 0;
143 
144  };
145 } // namespace Facade
146 
147 #endif // __ITextFragmentLinkFacade__