![]() | InDesign SDK 20.5 |
#include <ILink.h>

Public Types | |
| enum | { kDefaultIID = IID_ILINK } |
| enum | LinkType { kImport = 0, kExport, kBidirectional, kChild } |
| enum | ResourceModificationState { kResourceModified = 0, kResourceUnmodified } |
| enum | ObjectModificationState { kObjectModified = 0, kObjectUnmodified } |
| enum | ImportPolicy { kNoAutoImport = 0, kImportOnModify } |
| enum | ExportPolicy { kNoAutoExport = 0, kExportOnModify, kExportOnClose, kExportOnSave } |
Public Member Functions | |
| virtual LinkType | GetLinkType () const =0 |
| virtual LinkClientID | GetClientID () const =0 |
| virtual UID | GetResource () const =0 |
| virtual void | SetResource (UID resourceUID)=0 |
| virtual ResourceModificationState | GetResourceModificationState () const =0 |
| virtual void | SetResourceModificationState (ResourceModificationState modState)=0 |
| virtual UID | GetObject () const =0 |
| virtual void | SetObject (UID objectUID)=0 |
| virtual ObjectModificationState | GetObjectModificationState () const =0 |
| virtual void | SetObjectModificationState (ObjectModificationState modState)=0 |
| virtual bool16 | GetShowInUI () const =0 |
| virtual void | SetShowInUI (bool16 bShowInUI)=0 |
| virtual bool16 | GetCanEmbed () const =0 |
| virtual void | SetCanEmbed (bool16 bCanEmbed)=0 |
| virtual bool16 | GetCanUnembed () const =0 |
| virtual void | SetCanUnembed (bool16 bCanUnembed)=0 |
| virtual bool16 | GetCanPackage () const =0 |
| virtual void | SetCanPackage (bool16 bCanPackage)=0 |
| virtual ImportPolicy | GetImportPolicy () const =0 |
| virtual void | SetImportPolicy (ImportPolicy policy)=0 |
| virtual WideString | GetImportStamp () const =0 |
| virtual IDTime | GetImportModTime () const =0 |
| virtual IDTime | GetLastImportTime () const =0 |
| virtual ExportPolicy | GetExportPolicy () const =0 |
| virtual void | SetExportPolicy (ExportPolicy policy)=0 |
| virtual IDTime | GetLastExportTime () const =0 |
| virtual void | AddChildren (const UIDList &children)=0 |
| virtual void | DeleteChildren (const UIDList &children)=0 |
| virtual uint32 | GetChildren (UIDList &children) const =0 |
| virtual uint32 | GetNumChildren () const =0 |
| virtual UID | GetParent () const =0 |
| virtual ErrorCode | Update (bool bForceUpdate, UIFlags uiFlags, UID &linkUID)=0 |
| virtual ErrorCode | CopyAttributes (const UIDRef &linkRef)=0 |
Public Member Functions inherited from IPMUnknown | |
| virtual IPMUnknown * | QueryInterface (PMIID interfaceID) const =0 |
| virtual void | AddRef () const =0 |
| virtual void | Release () const =0 |
Friends | |
| class | LinkManager |
| class | ScrapLinkManager |
| class | LinkScriptProvider |
Interface used to establish a relationship between an ILinkObject and an ILinkResource. \ Three types of object and resource relationships are supported: import, export and bi-directional (import/export). \ An import link updates the object when the resource changes. \ An export link updates the resource when the object changes. \ A bi-directional link updates the object when the resource changes, and updates the resource when the object changes. If both the resource and object change, it is the responsibility of the link object to determine how to handle the confict. For example, a naive approach may be to always update the resource from the object if both the resource and object have changed. \ \ There are also special links only used to track when a resource's modification state changes. These links do not link to an object, only to a resource. Two types of resource only links are supported: child and unplaced. When a child or unplaced link is updated it only refreshes the resource stamp and resource modification date/time stored by the link.
| enum ILink::ExportPolicy |
Identifiers that denote the policy used to specify when to automatically update the link resource via an export when the object is modified.
| enum ILink::ImportPolicy |
| enum ILink::LinkType |
Identifiers that denote the type of the link.
Identifiers that denote the modification state of the linked resource. The identifiers are used to get and set the modification state of a linked resource.
| Enumerator | |
|---|---|
| kResourceModified | Resource has been modified since the last update. |
| kResourceUnmodified | Resource has not been modified since the last update. |
| pure virtual |
Adds child links to the link's hierarchy.
| children | [IN] UIDs of the child links to add to the link's hierarchy. |
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Copies the attributes of the link referenced by the given UIDRef to this link.
| linkRef | [IN] UIDRef of the link to copy. \ The UIDRef may reference a link in a different database. |
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Deletes child links from the link's hierarchy.
| children | [IN] UIDs of the child links to deleted from the link's hierarchy. |
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Returns whether the link allows the resource to be embedded.
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Returns whether the link allows the resource to be packaged.
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Returns whether the link allows the resource to be unembedded.
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Gets direct descendant child links from the link's hierarchy.
| children | [OUT] UIDs of the child links in the link's hierarchy. |
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Returns the link's link client identifier.
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Returns the policy specifying when to update the link resource via an export when the object is marked modified. \ The export policy is always kNoAutoExport for an import link.
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Returns the resource's modification date/time when it was last imported.
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Returns the policy specifying when to update the link object via an import when the resource is marked modified. \ The import policy is always kNoAutoImport for an export link.
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Returns the resource's stamp when it was last imported.
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Returns the date and time that the object was last exported to the resource.
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Returns the date and time the resource was the last imported into the object.
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
| pure virtual |
Returns the number of direct descendant child links in the link's hierarchy.
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Returns the UID of the link object associated with the link.
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Returns the linked object's modification state. \ The object modification state is always kObjectUnmodified for import links.
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Gets links that are direct parents the link.
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Returns the UID of the resource associated with the link.
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Returns the linked resource's modification state. The resource modification state is always kResourceUnmodified for export links.
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Returns whether the link should be displayed in the Links UI.
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Sets whether the link allows the resource to be embedded.
| bCanEmbed | [IN] Boolean denoting whether the link's resource can be embedded. |
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Sets whether the link allows the resource to be packaged.
| bCanPackage | [IN] Boolean denoting whether the link's resource can be packaged. |
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Sets whether the link allows the resource to be unembedded.
| bCanUnembed | [IN] Boolean denoting whether the link's resource can be unembedded. |
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Sets the policy specifying when to update the link resource via an export when the object is marked modified. \ The update export policy is ignored for import links.
| policy | [IN] Link's update export policy. |
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Sets the policy specifying when to update the link object via an import when the resource is marked modified. \ The update import policy is ignored for export links.
| policy | [IN] Link's update import policy. |
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Sets the UID of the link object associated with the link.
| objectUID | [IN] UID of the linked object. |
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Sets the linked object's modification state. \ The object modification state is ignored for import links.
| modState | [IN] Modification state of the linked object. |
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Sets the UID of the link resource associated with the link.
| resourceUID | [IN] UID of the linked resource. |
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Sets the linked resource's modification state. The resource modification state is ignored for export links.
| modState | [IN] Modification state of the linked resource. |
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Sets whether the link should be displayed in the Links UI.
| bShowInUI | [IN] Boolean denoting whether the link should be displayed in the Links UI. |
Implemented in CusDtLnkImportLinkConverter.
| pure virtual |
Updates the link resource or object, as determined by the link's type.
| bForceUpdate | [IN] Denotes whether to force an update, or to only update if needed. \ True to force an update, false to only update if needed. |
| uiFlags | [IN] Denotes whether to allow UI during the update operation. |
| linkUID | [OUT] UID of the link as a result of the update, which may or may not be the same as the UID of the link before the update operation. |