InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
CusDtLnkLinkResourceStateUpdater Class Reference
Inheritance diagram for CusDtLnkLinkResourceStateUpdater:
CPMUnknown< ILinkResourceStateUpdater >ILinkResourceStateUpdaterIPMUnknown

Public Types

typedef CPMUnknown
< ILinkResourceStateUpdater
inherited
 
typedef object_type data_type
 

Public Member Functions

 CusDtLnkLinkResourceStateUpdater (IPMUnknown *boss)
 
virtual ErrorCode UpdateResourceStateSync (const UIDRef &resourceRef, bool bNotify)
 
virtual ErrorCode UpdateResourceStateAsync (const UIDRef &resourceRef)
 
virtual void CancelUpdateResourceState (const UIDRef &resourceRef)
 
virtual void WaitForUpdateResourceStateCompletion (const UIDRef &resourceRef)
 
virtual ErrorCode ResolveResource (const UIDRef &resourceRef, const URI &relativeURI, bool bIgnoreStamp)
 
- Public Member Functions inherited from CPMUnknown< ILinkResourceStateUpdater >
IPMUnknownQueryInterface (PMIID interfaceID) const
 
void AddRef () const
 
void Release () const
 
void PreDirty (ImplementationID prop=kInvalidImpl, bool16 allowModification=kTrue)
 
void PreDirtyNoMessage (ImplementationID prop=kInvalidImpl, bool16 allowModification=kTrue)
 
 CPMUnknown (const CPMUnknown &)=delete
 
CPMUnknownoperator= (const CPMUnknown &)=delete
 

Additional Inherited Members

- Protected Member Functions inherited from CPMUnknown< ILinkResourceStateUpdater >
 CPMUnknown (IPMUnknown *boss)
 
- Protected Attributes inherited from CPMUnknown< ILinkResourceStateUpdater >
HelperInterface fHelperInterface
 

Detailed Description

Provide state update specifically to link resource whose URI scheme matches the one specified in CusDtLnkLinkResourceFactory, i.e., 'CSVLink'. Link manager will call ILinkResourceStateUpdater when necessary, and it may request a synchronous or asynchronous update. The main difference is you have to make sure synchronous update is done upon return to the caller (link manager).

ILinkResourceStateUpdater will be given a link resource's UID when it is called to update its state. Typically, you "package" whatever information (probably most likely from the link resource) is pertinent to your state update in a AsyncWorkPacket, and then you enque the packet with IExtLinkStateUpdateProcessor. Then an idle task CusDtLnkLinkResourceStateUpdaterIdleTask will process the packet (i.e. provide the latest state information) when your packet's turn is up in the queue.

See Also
CusDtLnkLinkResourceFactory
CusDtLnkLinkResourceStatePacket
CusDtLnkLinkResourceStateProcessor
CusDtLnkLinkResourceStateProcessorFactory

Member Function Documentation

void CusDtLnkLinkResourceStateUpdater::CancelUpdateResourceState (const UIDRefresourceRef)
virtual

When you enqueue an AsyncWorkPacket, you supply an AsyncWorkPacketJobSpec that can identify your packet. When link manager needs to cancel the resource update state request for whatever reason, we search all outstanding AsyncWorkPackets for matches with the AsyncWorkPacketJobSpec when we enqueued it. Then we cancel the job.

See Also
ILinkResourceHandler::CancelUpdateResourceState

Implements ILinkResourceStateUpdater.

ErrorCode CusDtLnkLinkResourceStateUpdater::ResolveResource (const UIDRefresourceRef,
const URIrelativeURI,
bool bIgnoreStamp 
)
virtual
See Also
ILinkResourceHandler::ResolveResource

Implements ILinkResourceStateUpdater.

ErrorCode CusDtLnkLinkResourceStateUpdater::UpdateResourceStateAsync (const UIDRefresourceRef)
virtual

Delegate to UpdateResourceState

See Also
ILinkResourceHandler::UpdateResourceStateAsync

Implements ILinkResourceStateUpdater.

ErrorCode CusDtLnkLinkResourceStateUpdater::UpdateResourceStateSync (const UIDRefresourceRef,
bool bNotify 
)
virtual

Delegate to UpdateResourceState

See Also
ILinkResourceHandler::UpdateResourceStateSync

Implements ILinkResourceStateUpdater.

virtual void CusDtLnkLinkResourceStateUpdater::WaitForUpdateResourceStateCompletion (const UIDRefresourceRef)
inlinevirtual

Wait for the asynchronous link resource state update request to get completed.

Parameters
resourceRef[IN] UIDRef of the link resource whose asynchronous request needs to be completed.

Implements ILinkResourceStateUpdater.