56 static const FUID iid;
59DECLARE_CLASS_IID (
IPersistent, 0xBA1A4637, 0x3C9F46D0, 0xA65DBA0E, 0xB85DA829)
62typedef FIDString IAttrID;
92 virtual tresult PLUGIN_API
set (IAttrID attrID,
const FVariant& data) = 0;
97 virtual tresult PLUGIN_API
queue (IAttrID listID,
const FVariant& data) = 0;
103 virtual tresult PLUGIN_API
setBinaryData (IAttrID attrID,
void* data, uint32 bytes,
bool copyBytes) = 0;
110 virtual tresult PLUGIN_API
get (IAttrID attrID,
FVariant& data) = 0;
128 virtual tresult PLUGIN_API
getBinaryData (IAttrID attrID,
void* data, uint32 bytes) = 0;
134 static const FUID iid;
137DECLARE_CLASS_IID (
IAttributes, 0xFA1E32F9, 0xCA6D46F5, 0xA982F956, 0xB1191B58)
154 static const FUID iid;
157DECLARE_CLASS_IID (
IAttributes2, 0x1382126A, 0xFECA4871, 0x97D52A45, 0xB042AE99)
Handling 16 Byte Globally Unique Identifiers.
The basic interface of all interfaces.
A Value of variable type.
Extended access to Attributes; supports Attribute retrieval via iteration.
virtual IAttrID PLUGIN_API getAttributeID(int32 index) const =0
Returns the attribute's ID for the given index.
virtual int32 PLUGIN_API countAttributes() const =0
Returns the number of existing attributes.
Object Data Archive Interface.
virtual tresult PLUGIN_API set(IAttrID attrID, const FVariant &data)=0
Store any data in the archive.
virtual int32 PLUGIN_API getQueueItemCount(IAttrID)=0
Get the amount of items in a queue.
virtual tresult PLUGIN_API unqueue(IAttrID listID, FVariant &data)=0
Get list of data previously stored to the archive.
virtual tresult PLUGIN_API getBinaryData(IAttrID attrID, void *data, uint32 bytes)=0
Read binary data from the archive.
virtual tresult PLUGIN_API queue(IAttrID listID, const FVariant &data)=0
Store a list of data in the archive.
virtual tresult PLUGIN_API resetAllQueues()=0
Reset all queues in the archive.
virtual tresult PLUGIN_API resetQueue(IAttrID attrID)=0
Reset a queue.
virtual tresult PLUGIN_API get(IAttrID attrID, FVariant &data)=0
Get data previously stored to the archive.
virtual uint32 PLUGIN_API getBinaryDataSize(IAttrID attrID)=0
Get the size in bytes of binary data in the archive.
virtual tresult PLUGIN_API setBinaryData(IAttrID attrID, void *data, uint32 bytes, bool copyBytes)=0
Store binary data in the archive.
Persistent Object Interface.
virtual tresult PLUGIN_API getClassID(char8 *uid)=0
The class ID must be a 16 bytes unique id that is used to create the object.
virtual tresult PLUGIN_API saveAttributes(IAttributes *)=0
Store all members/data in the passed IAttributes.
virtual tresult PLUGIN_API loadAttributes(IAttributes *)=0
Restore all members/data from the passed IAttributes.