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

Public Member Functions | |
| CPMDataObject (IPMUnknown *boss) | |
| virtual uint32 | GetItemID () const |
| virtual void | SetItemID (uint32 id) |
| virtual DataExchangeResponse | FlavorExistsWithPriority (ExternalPMFlavor flavor) const |
| virtual IPMStream * | GetStreamForReading (ExternalPMFlavor flavor) |
| virtual IPMStream * | GetStreamForWriting (ExternalPMFlavor flavor) |
| virtual void | FinishedWithStream (IPMStream *) |
| virtual int16 | GetUsage () const |
| virtual void | SetUsage (int16) |
Public Member Functions inherited from IPMDataObject | |
| virtual void | PromiseFlavor (ExternalPMFlavor newFlavor, PMFlavorFlags flavorFlags=kNormalFlavorFlag)=0 |
| virtual uint16 | CountFlavors () const =0 |
| virtual K2Vector < ExternalPMFlavor > * | GetPromisedFlavors () const =0 |
| virtual bool16 | FlavorExists (ExternalPMFlavor requestedFlavor) const =0 |
| virtual uint32 | GetSizeOfFlavorData (ExternalPMFlavor flavor) const =0 |
Public Member Functions inherited from IPMUnknown | |
| virtual IPMUnknown * | QueryInterface (PMIID interfaceID) const =0 |
| virtual void | AddRef () const =0 |
| virtual void | Release () const =0 |
Protected Member Functions | |
| virtual IPMStream * | QueryForReadingStream () |
| virtual IPMStream * | QueryForWritingStream () |
| virtual bool16 | CanReadPromisedFlavor (ExternalPMFlavor flavor) |
Protected Attributes | |
| uint32 | fItemReference |
| IPMStream * | fReadStream |
| ExternalPMFlavor | fReadStreamFlavor |
| IPMStream * | fWriteStream |
| ExternalPMFlavor | fWriteStreamFlavor |
| int16 | fUsage |
Additional Inherited Members | |
Public Types inherited from IPMDataObject | |
| enum | { kDefaultIID = IID_IPMDATAOBJECT } |
| enum | { kUnspecifiedUsage = -1, kInternalizeUsage = 0, kExternalizeUsage = 1 } |
A data object is the representation for the external data in a data exchange operation. CPMDataObject is the shared base implementation for Clipboard, DragDrop, Mac OSX Services and LibraryScrap data objects. CPMDataObject should also serve as the base class for all custom data exchange controller implementations
| protectedvirtual |
A helper method to make sure non-zero length data exists before opening a read stream. Default implementation calls GetSizeOfFlavorData.
| virtual |
Let the object know that we are finished with the stream
Implements IPMDataObject.
| virtual |
Get the priority/flags of the requested flavor. (Must be overridden)
Implements IPMDataObject.
| virtual |
Get the unique item id (unique within a single data exchange operation).
Implements IPMDataObject.
| virtual |
Get a stream that can be used to read flavor data from the object
Implements IPMDataObject.
| virtual |
Get a stream that can be used to write flavor data to the object
Implements IPMDataObject.
| virtual |
Framework call to get the intended use for this item
Implements IPMDataObject.
| protectedvirtual |
Standard implementation for stream creation. Subclassers should only override this methods if they don't use the standard interface ID for their read stream (IID_IPMSTREAM_FLAVOR_READ), or if the streams are obtained from a different object/boss.
| protectedvirtual |
Standard implementation for stream creation. Subclassers should only override this methods if they don't use the standard interface ID for their read stream (IID_IPMSTREAM_FLAVOR_WRITE), or if the streams are obtained from a different object/boss.
| virtual |
Framework call to set the unique item id (unique within a single data exchange operation).
| id | IN the id of the item |
Implements IPMDataObject.
| virtual |
Framework call to set the intended use for this item
| int16 | IN one of kUnspecifiedUsage, kInternalizeUsage, or kExternalizeUsage |
Implements IPMDataObject.