InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
CDataExchangeHandler_Extensible Class Referenceabstract

#include <CDataExchHandler_Extensible.h>

Inheritance diagram for CDataExchangeHandler_Extensible:
IDataExchangeHandlerIPMUnknown

Public Member Functions

 CDataExchangeHandler_Extensible (IPMUnknown *boss)
 
virtual void CreateScrapStorage ()=0
 
virtual ServiceID GetDEHandlerHelperServiceID () const =0
 
Support for Extensibility

The following methods have been overridden to delegate to the flavor helpers associated with this handler. Framework use only - subclasses should not override these methods.

virtual DataExchangeResponse CanInternalizeData (IPMDataObject *whichItem) const
 
virtual bool16 CanConvertExternalFlavor (ExternalPMFlavor fromWhichFlavor) const
 
virtual void AddInternalizeableFlavorsToList (OrderedFlavorList &flavorList) const
 
virtual void AddExternalizeableFlavorsToList (OrderedFlavorList &flavorList) const
 
virtual ErrorCode ExternalizePromises (IPMDataObject *whichItem)
 
virtual ErrorCode Externalize (IPMDataObject *whichItem, ExternalPMFlavor toWhichFlavor, IPMStream *s)
 
virtual ErrorCode Internalize (IPMDataObject *whichItem)
 
virtual ErrorCode Internalize (IPMDataObject *whichItem, ExternalPMFlavor fromWhichFlavor, IPMStream *s)
 

Protected Member Functions

ErrorCode Delegate_ExternalizePromises (IPMDataObject *whichItem, OrderedPromiseList &orderedPromiseList)
 
IDataExchangeHandlerFlavorHelperQueryBestHelperForInternalize (IPMDataObject *whichItem, DataExchangeResponse &bestHelperResponse) const
 
IDataExchangeHandlerFlavorHelperQueryHelper_ForAction (eActionType action, ExternalPMFlavor whichFlavor, DataExchangeResponse &bestHelperResponse) const
 

eActionType

enumeration of the different actions an IDataExchHandlerFlavorHelper can be called upon to perform

enum  eActionType { kInternalizeFlavorAction, kExternalizeFlavorAction }
 
virtual void Clear ()=0
 
virtual bool16 IsEmpty () const =0
 
virtual PMFlavor GetFlavor () const =0
 

Additional Inherited Members

- Public Types inherited from IDataExchangeHandler
enum  { kDefaultIID = IID_IDATAEXCHANGEHANDLER }
 

Detailed Description

Extensible implementation of the IDataExchangeHandler interface used in data exchange operations. Implementors of non-trivial IDataExchangeHandlers should derive from CDataExchangeHandler_Extensible, unless they have a good reason to avoid extensibility.

See Also
IDataExchangeHandler, IDataExchHandlerFlavorHelper

Member Function Documentation

virtual void CDataExchangeHandler_Extensible::AddExternalizeableFlavorsToList (OrderedFlavorListflavorList) const
virtual

Get the external flavors that can be produced in Externalize.

Implements IDataExchangeHandler.

virtual void CDataExchangeHandler_Extensible::AddInternalizeableFlavorsToList (OrderedFlavorListflavorList) const
virtual

Get the external flavors that can be converted during Internalize.

Implements IDataExchangeHandler.

virtual bool16 CDataExchangeHandler_Extensible::CanConvertExternalFlavor (ExternalPMFlavor fromWhichFlavor) const
virtual

Can this handler convert from an external flavor to it's internal flavor?

Implements IDataExchangeHandler.

virtual DataExchangeResponse CDataExchangeHandler_Extensible::CanInternalizeData (IPMDataObjectwhichItem) const
virtual

Can this handler convert the data to it's internal flavor?

Implements IDataExchangeHandler.

virtual void CDataExchangeHandler_Extensible::Clear ()
pure virtual

Clear the data held by this handler.

Returns
void.

Implements IDataExchangeHandler.

virtual void CDataExchangeHandler_Extensible::CreateScrapStorage ()
pure virtual

Create handler specific initial data (colors, styles, etc.) required for a new scrap database.

Returns
void.

Implements IDataExchangeHandler.

ErrorCode CDataExchangeHandler_Extensible::Delegate_ExternalizePromises (IPMDataObjectwhichItem,
OrderedPromiseListorderedPromiseList 
)
protected

Gather the promises to be externalized from the helpers

virtual ErrorCode CDataExchangeHandler_Extensible::Externalize (IPMDataObjectwhichItem,
ExternalPMFlavor toWhichFlavor,
IPMStreams 
)
virtual

Externalize the contents into the given flavor on a stream.

Implements IDataExchangeHandler.

virtual ErrorCode CDataExchangeHandler_Extensible::ExternalizePromises (IPMDataObjectwhichItem)
virtual

Make Externalization promises.

Implements IDataExchangeHandler.

virtual PMFlavor CDataExchangeHandler_Extensible::GetFlavor () const
pure virtual

Get the Internal flavor (data type) this handler deals with.

Returns
PMFlavor internal flavor this handler deals with.

Implements IDataExchangeHandler.

virtual ErrorCode CDataExchangeHandler_Extensible::Internalize (IPMDataObjectwhichItem)
virtual

Internalize the data item.

Implements IDataExchangeHandler.

virtual ErrorCode CDataExchangeHandler_Extensible::Internalize (IPMDataObjectwhichItem,
ExternalPMFlavor fromWhichFlavor,
IPMStreams 
)
virtual

Internalize the contents of a stream as the given flavor.

Implements IDataExchangeHandler.

virtual bool16 CDataExchangeHandler_Extensible::IsEmpty () const
pure virtual

Does the handler contain data, or is it empty.

Returns
bool16 kTrue if it is empty, otherwise kFalse.

Implements IDataExchangeHandler.

IDataExchangeHandlerFlavorHelper* CDataExchangeHandler_Extensible::QueryBestHelperForInternalize (IPMDataObjectwhichItem,
DataExchangeResponsebestHelperResponse 
) const
protected

Find the best helper for internalization

IDataExchangeHandlerFlavorHelper* CDataExchangeHandler_Extensible::QueryHelper_ForAction (eActionType action,
ExternalPMFlavor whichFlavor,
DataExchangeResponsebestHelperResponse 
) const
protected

Find the best helper for a specific flavor conversion