LMMS
Loading...
Searching...
No Matches
ipersistent.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2// Project : SDK Core
3//
4// Category : SDK Core Interfaces
5// Filename : pluginterfaces/base/ipersistent.h
6// Created by : Steinberg, 09/2004
7// Description : Plug-In Storage Interfaces
8//
9//-----------------------------------------------------------------------------
10// This file is part of a Steinberg SDK. It is subject to the license terms
11// in the LICENSE file found in the top-level directory of this distribution
12// and at www.steinberg.net/sdklicenses.
13// No part of the SDK, including this file, may be copied, modified, propagated,
14// or distributed except according to the terms contained in the LICENSE file.
15//-----------------------------------------------------------------------------
16
17#pragma once
18
20
21namespace Steinberg {
22
23class FVariant;
24class IAttributes;
25//------------------------------------------------------------------------
44class IPersistent: public FUnknown
45{
46public:
47//------------------------------------------------------------------------
50 virtual tresult PLUGIN_API getClassID (char8* uid) = 0;
52 virtual tresult PLUGIN_API saveAttributes (IAttributes* ) = 0;
54 virtual tresult PLUGIN_API loadAttributes (IAttributes* ) = 0;
55//------------------------------------------------------------------------
56 static const FUID iid;
57};
58
59DECLARE_CLASS_IID (IPersistent, 0xBA1A4637, 0x3C9F46D0, 0xA65DBA0E, 0xB85DA829)
60
61
63//------------------------------------------------------------------------
79class IAttributes: public FUnknown
80{
81public:
82//------------------------------------------------------------------------
86
92 virtual tresult PLUGIN_API set (IAttrID attrID, const FVariant& data) = 0;
93
97 virtual tresult PLUGIN_API queue (IAttrID listID, const FVariant& data) = 0;
98
103 virtual tresult PLUGIN_API setBinaryData (IAttrID attrID, void* data, uint32 bytes, bool copyBytes) = 0;
105
109
110 virtual tresult PLUGIN_API get (IAttrID attrID, FVariant& data) = 0;
111
115 virtual tresult PLUGIN_API unqueue (IAttrID listID, FVariant& data) = 0;
116
118 virtual int32 PLUGIN_API getQueueItemCount (IAttrID) = 0;
119
121 virtual tresult PLUGIN_API resetQueue (IAttrID attrID) = 0;
122
124 virtual tresult PLUGIN_API resetAllQueues () = 0;
125
128 virtual tresult PLUGIN_API getBinaryData (IAttrID attrID, void* data, uint32 bytes) = 0;
130 virtual uint32 PLUGIN_API getBinaryDataSize (IAttrID attrID) = 0;
132
133//------------------------------------------------------------------------
134 static const FUID iid;
135};
136
137DECLARE_CLASS_IID (IAttributes, 0xFA1E32F9, 0xCA6D46F5, 0xA982F956, 0xB1191B58)
138
139//------------------------------------------------------------------------
147{
148public:
150 virtual int32 PLUGIN_API countAttributes () const = 0;
152 virtual IAttrID PLUGIN_API getAttributeID (int32 index) const = 0;
153//------------------------------------------------------------------------
154 static const FUID iid;
155};
156
157DECLARE_CLASS_IID (IAttributes2, 0x1382126A, 0xFECA4871, 0x97D52A45, 0xB042AE99)
158
159//------------------------------------------------------------------------
160} // namespace Steinberg
Definition funknown.h:233
Definition funknown.h:361
Definition fvariant.h:34
Definition ipersistent.h:147
static const FUID iid
Definition ipersistent.h:154
virtual IAttrID PLUGIN_API getAttributeID(int32 index) const =0
virtual int32 PLUGIN_API countAttributes() const =0
Definition ipersistent.h:80
virtual tresult PLUGIN_API set(IAttrID attrID, const FVariant &data)=0
virtual int32 PLUGIN_API getQueueItemCount(IAttrID)=0
virtual tresult PLUGIN_API unqueue(IAttrID listID, FVariant &data)=0
static const FUID iid
Definition ipersistent.h:134
virtual tresult PLUGIN_API getBinaryData(IAttrID attrID, void *data, uint32 bytes)=0
virtual tresult PLUGIN_API queue(IAttrID listID, const FVariant &data)=0
virtual tresult PLUGIN_API resetAllQueues()=0
virtual tresult PLUGIN_API resetQueue(IAttrID attrID)=0
virtual tresult PLUGIN_API get(IAttrID attrID, FVariant &data)=0
virtual uint32 PLUGIN_API getBinaryDataSize(IAttrID attrID)=0
virtual tresult PLUGIN_API setBinaryData(IAttrID attrID, void *data, uint32 bytes, bool copyBytes)=0
Definition ipersistent.h:45
virtual tresult PLUGIN_API getClassID(char8 *uid)=0
static const FUID iid
Definition ipersistent.h:56
virtual tresult PLUGIN_API saveAttributes(IAttributes *)=0
virtual tresult PLUGIN_API loadAttributes(IAttributes *)=0
#define DECLARE_CLASS_IID(ClassName, l1, l2, l3, l4)
Definition funknown.h:74
JSAMPIMAGE data
Definition jpeglib.h:945
Definition baseiids.cpp:43
int int32
Definition ftypes.h:50
FIDString IAttrID
Definition ipersistent.h:62
char char8
Definition ftypes.h:93
const char8 * FIDString
Definition ftypes.h:117
int32 tresult
Definition ftypes.h:76
unsigned int uint32
Definition ftypes.h:51