InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
CusDtLnkAliasedDataLink Class Reference
Inheritance diagram for CusDtLnkAliasedDataLink:
CPMUnknown< IDataLink >IDataLinkIPMUnknown

Public Member Functions

 CusDtLnkAliasedDataLink (IPMUnknown *)
 
virtual ~CusDtLnkAliasedDataLink ()
 
virtual int32 Combine (NameInfo *dirname, NameInfo *newname)
 
virtual bool16 CompareBaseName (NameInfo *ni)
 
virtual bool16 CompareDirectory (NameInfo *ni)
 
virtual int32 Copy (NameInfo *dirname, ProgressParam *pp)
 
virtual IDataLinkCreateTestFile (NameInfo *ni, PMString *formatName, uint32 filetype)
 
virtual void DeleteTestFile (NameInfo *ni)
 
virtual bool16 FindRelative (NameInfo *dirname, NameInfo *newname, ProgressParam *pp)
 
virtual PMStringGetBaseName ()
 
virtual StateType GetCurrentState (NameInfo *ni, uint64 *size, uint64 *time, uint32 *filetype, ProgressParam *pp)
 
virtual PMStringGetFullName ()
 
virtual int32 GetNameInfo (NameInfo *ni, PMString *formatName, uint32 *filetype)
 
virtual StateType GetStoredState (uint64 *size, uint64 *time)
 
virtual int32 GetTestName (PMString *dirname, PMString *basename, NameInfo *pni)
 
virtual int32 SetNameInfo (NameInfo *ni, PMString *formatName, uint32 filetype, const PMString *fullPath=nil)
 
virtual int32 SetStoredState (uint64 *size, uint64 *time, StateType state)
 
void ReadWrite (IPMStream *s, ImplementationID prop)
 
- Public Member Functions inherited from CPMUnknown< IDataLink >
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
 

Protected Member Functions

void dumpStateOfThis ()
 
bool16 compareTimeStamps (uint64 storedTimeStamp, uint64 currentTimeStamp)
 
uint64 localXferInt64 (IPMStream *s, uint64 &value)
 
- Protected Member Functions inherited from CPMUnknown< IDataLink >
 CPMUnknown (IPMUnknown *boss)
 

Additional Inherited Members

- Protected Attributes inherited from CPMUnknown< IDataLink >
HelperInterface fHelperInterface
 

Detailed Description

Implements IDataLink, but with a twist. Instead of storing a path to a file in the local filesystem, what we are working is a unique identifier, consisting of a database name plus a record ID within that database.

The database is a symbolic name rather than a path. Other machinery is used to resolve a symbolic name to a "connection" to let you read the data.

The identifier would look something like this: "alias-database-1.csv/1000141"

In practice, we store it in an IStringData interface with an exotic identifier of IID_ICUSDTLNKUNIQUEKEYSTRINGDATA.

See Also
CusDtLnkFacade::StoreUniqueKey

Constructor & Destructor Documentation

CusDtLnkAliasedDataLink::CusDtLnkAliasedDataLink (IPMUnknownboss)

Constructor

CusDtLnkAliasedDataLink::~CusDtLnkAliasedDataLink ()
virtual

Destructor

Member Function Documentation

int32 CusDtLnkAliasedDataLink::Combine (NameInfo * dirname,
NameInfo * newname 
)
virtual
See Also
IDataLink::Combine

Implements IDataLink.

bool16 CusDtLnkAliasedDataLink::CompareBaseName (NameInfo * ni)
virtual
bool16 CusDtLnkAliasedDataLink::CompareDirectory (NameInfo * ni)
virtual
bool16 CusDtLnkAliasedDataLink::compareTimeStamps (uint64 storedTimeStamp,
uint64 currentTimeStamp 
)
protected

Method to compare two timestamps. If the supplied one (currentTimeStamp) is more recent than storedTimeStamp, then we return 'kFalse', which means that we need to update this link

Parameters
storedTimeStampwhat we're storing here
currentTimeStampwhat we're comparing against
Returns
bool16 kTrue if the timestamps are identical, and kFalse if the one we store is out of date relative to supplied one
int32 CusDtLnkAliasedDataLink::Copy (NameInfo * dirname,
ProgressParampp 
)
virtual
See Also
IDataLink::Copy

Implements IDataLink.

IDataLink * CusDtLnkAliasedDataLink::CreateTestFile (NameInfo * ni,
PMStringformatName,
uint32 filetype 
)
virtual
See Also
IDataLink::CreateTestFile
void CusDtLnkAliasedDataLink::DeleteTestFile (NameInfo * ni)
virtual
See Also
IDataLink::DeleteTestFile
void CusDtLnkAliasedDataLink::dumpStateOfThis ()
protected

Debug helper to dump state when required, only creates trace when CUSTDTLNK_IS_VERBOSE is defined

bool16 CusDtLnkAliasedDataLink::FindRelative (NameInfo * dirname,
NameInfo * newname,
ProgressParampp 
)
virtual
PMString * CusDtLnkAliasedDataLink::GetBaseName ()
virtual
IDataLink::StateType CusDtLnkAliasedDataLink::GetCurrentState (NameInfo * ni,
uint64 * size,
uint64 * time,
uint32 * filetype,
ProgressParampp 
)
virtual
PMString * CusDtLnkAliasedDataLink::GetFullName ()
virtual
int32 CusDtLnkAliasedDataLink::GetNameInfo (NameInfo * ni,
PMStringformatName,
uint32 * filetype 
)
virtual
IDataLink::StateType CusDtLnkAliasedDataLink::GetStoredState (uint64 * size,
uint64 * time 
)
virtual
int32 CusDtLnkAliasedDataLink::GetTestName (PMStringdirname,
PMStringbasename,
NameInfo * pni 
)
virtual
See Also
IDataLink::GetTestName
uint64 CusDtLnkAliasedDataLink::localXferInt64 (IPMStreams,
uint64 & value 
)
protected

Helper to write/read a 64-bit int to stream

Parameters
sstream to write to/ read from
valuethe 64-bit integer to write or read
Returns
uint64 giving the value written/read
void CusDtLnkAliasedDataLink::ReadWrite (IPMStreams,
ImplementationID prop 
)
virtual

Persistence-related method

Implements IDataLink.

int32 CusDtLnkAliasedDataLink::SetNameInfo (NameInfo * ni,
PMStringformatName,
uint32 filetype,
const PMStringfullPath = nil 
)
virtual
int32 CusDtLnkAliasedDataLink::SetStoredState (uint64 * size,
uint64 * time,
IDataLink::StateType state 
)
virtual