InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
CExportProvider Class Reference

#include <CExportProvider.h>

Inheritance diagram for CExportProvider:
CPMUnknown< IExportProvider >IExportProviderIPMUnknownCHMLFiltExportProviderCInCopyStoryExportSuiteTxtExpFilterXDocBkExportProvider

Public Member Functions

 CExportProvider (IPMUnknown *boss)
 
File Export
virtual void ExportToFile (const IDFile &sysFile, IDocument *doc, IPMUnknown *targetboss, const PMString &formatName, UIFlags uiFlags)
 
virtual bool16 CanExportToFile () const
 
virtual TaskInfo AsynchronousExportToFile (const IDFile &sysFile, IDocument *doc, IPMUnknown *targetboss, const PMString &formatName, UIFlags uiFlags=kFullUI)
 
virtual bool16 CanExportToFileAsynchronously () const
 
Clipboard/DragDrop Export
virtual bool16 CanExportForExternalize () const
 
virtual PMFlavor GetInternalFlavor () const
 
virtual int32 CountExternalFlavors () const
 
virtual ExternalPMFlavor GetExternalFlavor (int32 n) const
 
virtual bool16 CanExportThisFlavor (const ExternalPMFlavor &flavor, PMString &outFormatName) const
 
virtual ErrorCode ExportForExternalize (IDataExchangeHandler *handler, const ExternalPMFlavor toWhichFlavor, IPMStream *stream)
 
- Public Member Functions inherited from CPMUnknown< IExportProvider >
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
 
- Public Member Functions inherited from IExportProvider
virtual void ExportToStream (IPMStream *stream, IDocument *doc, IPMUnknown *targetboss, const PMString &formatName, UIFlags uiFlags=kFullUI)=0
 
virtual bool16 CanExportThisFormat (IDocument *doc, IPMUnknown *targetboss, const PMString &formatName)=0
 
virtual int32 CountFormats ()=0
 
virtual PMString GetNthFormatName (int32 n)=0
 
virtual PMString GetExtensionForFormatName (const PMString &formatName)=0
 
virtual ScriptID GetScriptIDForFormatName (const PMString &formatName, const ScriptInfo::RequestContext &context)=0
 

Protected Member Functions

virtual ErrorCode SendSignal (const ServiceID &service, IDocument *document, const IDFile &sysFile, const PMString &formatName, UIFlags uiFlags, bool8 bIsStandAlone=kTrue)
 
virtual bool16 IsTargetFileInUseByBGTasks (const IDFile &sysFile) const
 
virtual UserTaskJobSpec CreateExportJobSpec (const IDFile &sysFile, IDocument *document, const PMString &formatName) const
 
virtual void GetUniqueSysFile (IDocument *document, const IDFile *sysFileName, IDFile *uniqueSysFileName, uint32 pageNum, IOutputPages *outputPages, bool16 exportSpreads, PMString &suffix, PMString &exportFileExtension)
 
- Protected Member Functions inherited from CPMUnknown< IExportProvider >
 CPMUnknown (IPMUnknown *boss)
 

Protected Attributes

ExportSessionToken fSessionToken
 
std::map< std::string, int32 > fFileNameMap
 
- Protected Attributes inherited from CPMUnknown< IExportProvider >
HelperInterface fHelperInterface
 

Additional Inherited Members

- Public Types inherited from IExportProvider
enum  { kDefaultIID = IID_IEXPORTPROVIDER }
 

Detailed Description

Core base class implementation for IExportProvider

Member Function Documentation

virtual TaskInfo CExportProvider::AsynchronousExportToFile (const IDFilesysFile,
IDocumentdoc,
IPMUnknowntargetboss,
const PMStringformatName,
UIFlags uiFlags = kFullUI 
)
virtual

Export to a file asynchronously and return. Default implementation is Unimplemented.

Implements IExportProvider.

virtual bool16 CExportProvider::CanExportForExternalize () const
virtual

The provider indicates whether it can do normal file-based exports.

Implements IExportProvider.

Reimplemented in TxtExpFilter, CInCopyStoryExportSuite, CHMLFiltExportProvider, and XDocBkExportProvider.

virtual bool16 CExportProvider::CanExportThisFlavor (const ExternalPMFlavor & flavor,
PMStringoutFormatName 
) const
virtual

For Clip/Drag operations, what format type, if any, would be used to produce the desired external flavor?

Implements IExportProvider.

Reimplemented in TxtExpFilter, CInCopyStoryExportSuite, CHMLFiltExportProvider, and XDocBkExportProvider.

virtual bool16 CExportProvider::CanExportToFile () const
virtual

The provider indicates whether it can do normal file based exports.

Implements IExportProvider.

Reimplemented in TxtExpFilter, CHMLFiltExportProvider, XDocBkExportProvider, and CInCopyStoryExportSuite.

virtual bool16 CExportProvider::CanExportToFileAsynchronously () const
virtual

The provider indicates whether it can do asynchronous file based exports

Implements IExportProvider.

virtual int32 CExportProvider::CountExternalFlavors () const
virtual

For Clip/Drag operations, what external flavors can this exporter produce?

Implements IExportProvider.

Reimplemented in TxtExpFilter, CInCopyStoryExportSuite, CHMLFiltExportProvider, and XDocBkExportProvider.

virtual UserTaskJobSpec CExportProvider::CreateExportJobSpec (const IDFilesysFile,
IDocumentdocument,
const PMStringformatName 
) const
protectedvirtual

Construct an AsyncWorkPacketJobSpec for a particular export

Parameters
sysFileIN is the file being exported
documentIN is the document being exported
formatNameIN is the format being exported
Returns
an object that represents the export for the sake of the TaskMonitor
virtual ErrorCode CExportProvider::ExportForExternalize (IDataExchangeHandlerhandler,
const ExternalPMFlavor toWhichFlavor,
IPMStreamstream 
)
virtual

Externalize the given data to a stream.

Implements IExportProvider.

Reimplemented in CInCopyStoryExportSuite, TxtExpFilter, CHMLFiltExportProvider, and XDocBkExportProvider.

virtual void CExportProvider::ExportToFile (const IDFilesysFile,
IDocumentdoc,
IPMUnknowntargetboss,
const PMStringformatName,
UIFlags uiFlags 
)
virtual

Export to a file. Default implementation calls ExportToStream.

Implements IExportProvider.

Reimplemented in CInCopyStoryExportSuite, TxtExpFilter, XDocBkExportProvider, and CHMLFiltExportProvider.

virtual ExternalPMFlavor CExportProvider::GetExternalFlavor (int32 n) const
virtual

For Clip/Drag operations, returns the n'th flavor the provider can export to.

Parameters
nIN Index of the external flavor to return.
Returns
N'th external flavor the provider can export to.

Implements IExportProvider.

Reimplemented in TxtExpFilter, CInCopyStoryExportSuite, CHMLFiltExportProvider, and XDocBkExportProvider.

virtual PMFlavor CExportProvider::GetInternalFlavor () const
virtual

For Clip/Drag operations, what internal flavor does this exporter operate on?

Implements IExportProvider.

Reimplemented in TxtExpFilter, CInCopyStoryExportSuite, CHMLFiltExportProvider, and XDocBkExportProvider.

virtual void CExportProvider::GetUniqueSysFile (IDocumentdocument,
const IDFilesysFileName,
IDFileuniqueSysFileName,
uint32 pageNum,
IOutputPagesoutputPages,
bool16 exportSpreads,
PMStringsuffix,
PMStringexportFileExtension 
)
protectedvirtual

Get unique file name for export operation

Parameters
documentIN the document you want to export
sysFileNameIN is the reference of file being exported
uniqueSysFileNameIN is the reference of unique export file name which will be created after adding the suffix value
pageNumIN. the page number of page in the exporting document
outputPagesIN List of output pages being exported
exportSpreadsIN whether export spreads
suffixIN is the suffix string
exportFileExtensionIN is the extention of the export file
virtual bool16 CExportProvider::IsTargetFileInUseByBGTasks (const IDFilesysFile) const
protectedvirtual

Check for export file conflicts

Parameters
sysFileIN is the file being exported
Returns
kTrue if an AsynchronousExport is exporting to the same file
virtual ErrorCode CExportProvider::SendSignal (const ServiceIDservice,
IDocumentdocument,
const IDFilesysFile,
const PMStringformatName,
UIFlags uiFlags,
bool8 bIsStandAlone = kTrue 
)
protectedvirtual

Send an export signal to responders

Parameters
serviceIN is the signal's service ID
documentIN is the target document
sysFileIN is the file being exported
formatNameIN is the format being exported
uiFlagsIN are the ui flags
bIsStandAloneIN is this a single-file export (kTrue), or part of a multi-file export(kFalse)