|
JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins
« « « Anklang Documentation |
Basic Object implementing FUnknown. More...
#include "pluginterfaces/base/funknown.h"#include "pluginterfaces/base/iupdatehandler.h"#include "base/source/fdebug.h"Go to the source code of this file.
Classes | |
| class | Steinberg::FObject |
| Implements FUnknown and IDependent. More... | |
Namespaces | |
| namespace | Steinberg::Singleton |
| Automatic creation and destruction of singleton instances. | |
Macros | |
| #define | SMTG_DEPENDENCY_COUNT |
| #define | SINGLETON(ClassName) |
| #define | OBJ_METHODS(className, baseClass) |
| #define | REFCOUNT_METHODS(BaseClass) |
| Delegate refcount functions to BaseClass. | |
Macros to implement FUnknown::queryInterface (). | |
Examples: class Foo : public FObject, public IFoo2, public IFoo3
{
...
DEF_INTERFACE (IFoo2)
DEF_INTERFACE (IFoo3)
END_DEFINE_INTERFACES (FObject)
REFCOUNT_METHODS(FObject)
// Implement IFoo2 interface ...
// Implement IFoo3 interface ...
...
};
#define REFCOUNT_METHODS(BaseClass) Delegate refcount functions to BaseClass. Definition fobject.h:360 | |
| #define | DEFINE_INTERFACES |
| Start defining interfaces. | |
| #define | DEF_INTERFACE(InterfaceName) |
| Add a interfaces. | |
| #define | END_DEFINE_INTERFACES(BaseClass) |
| End defining interfaces. | |
Convenient macros to implement Steinberg::FUnknown::queryInterface (). | |
Examples: class Foo : public FObject, public IFoo2, public IFoo3
{
...
DEF_INTERFACES_2(IFoo2,IFoo3,FObject)
REFCOUNT_METHODS(FObject)
...
};
| |
| #define | DEF_INTERFACES_1(InterfaceName, BaseClass) |
| #define | DEF_INTERFACES_2(InterfaceName1, InterfaceName2, BaseClass) |
| #define | DEF_INTERFACES_3(InterfaceName1, InterfaceName2, InterfaceName3, BaseClass) |
| #define | DEF_INTERFACES_4(InterfaceName1, InterfaceName2, InterfaceName3, InterfaceName4, BaseClass) |
Convenient macros to implement Steinberg::FUnknown methods. | |
Examples: class Foo : public FObject, public IFoo2, public IFoo3
{
...
FUNKNOWN_METHODS2(IFoo2,IFoo3,FObject)
...
};
| |
| #define | FUNKNOWN_METHODS(InterfaceName, BaseClass) |
| #define | FUNKNOWN_METHODS2(InterfaceName1, InterfaceName2, BaseClass) |
| #define | FUNKNOWN_METHODS3(InterfaceName1, InterfaceName2, InterfaceName3, BaseClass) |
| #define | FUNKNOWN_METHODS4(InterfaceName1, InterfaceName2, InterfaceName3, InterfaceName4, BaseClass) |
Typedefs | |
| using | Steinberg::FClassID = FIDString |
Functions | |
| template<class C > | |
| C * | Steinberg::FCast (const FObject *object) |
| FCast overload 1 - FObject to FObject. | |
| template<class C > | |
| C * | Steinberg::FCast (FUnknown *unknown) |
| FCast overload 2 - FUnknown to FObject. | |
| template<class C > | |
| C * | Steinberg::FUCast (FObject *object) |
| FUCast - casting from FUnknown to Interface. | |
| template<class C > | |
| C * | Steinberg::FUCast (FUnknown *object) |
| template<class T > | |
| void | Steinberg::AssignShared (T *&dest, T *newPtr) |
| template<class T > | |
| void | Steinberg::AssignSharedDependent (IDependent *_this, T *&dest, T *newPtr) |
| template<class T > | |
| void | Steinberg::AssignSharedDependent (IDependent *_this, IPtr< T > &dest, T *newPtr) |
| template<class T > | |
| void | Steinberg::SafeReleaseDependent (IDependent *_this, T *&dest) |
| template<class T > | |
| void | Steinberg::SafeReleaseDependent (IDependent *_this, IPtr< T > &dest) |
| void | Steinberg::Singleton::registerInstance (FObject **o) |
| registers an instance (type FObject) | |
| bool | Steinberg::Singleton::isTerminated () |
| Returns true when singleton instances were already released. | |
| void | Steinberg::Singleton::lockRegister () |
| lock and unlock the singleton registration for multi-threading safety | |
| void | Steinberg::Singleton::unlockRegister () |
Convenience methods that call release or delete respectively | |
on a pointer if it is non-zero, and then set the pointer to zero. Note: you should prefer using IPtr or OPtr instead of these methods whenever possible. Examples: ~Foo ()
{
// instead of ...
if (somePointer)
{
somePointer->release ();
somePointer = 0;
}
// ... just being lazy I write
SafeRelease (somePointer)
}
| |
| template<class I > | |
| void | Steinberg::SafeRelease (I *&ptr) |
| template<class I > | |
| void | Steinberg::SafeRelease (IPtr< I > &ptr) |
| template<class T > | |
| void | Steinberg::SafeDelete (T *&ptr) |
Basic Object implementing FUnknown.
Definition in file fobject.h.
| #define DEF_INTERFACES_2 | ( | InterfaceName1, | |
| InterfaceName2, | |||
| BaseClass | |||
| ) |
| #define DEF_INTERFACES_3 | ( | InterfaceName1, | |
| InterfaceName2, | |||
| InterfaceName3, | |||
| BaseClass | |||
| ) |
| #define DEF_INTERFACES_4 | ( | InterfaceName1, | |
| InterfaceName2, | |||
| InterfaceName3, | |||
| InterfaceName4, | |||
| BaseClass | |||
| ) |
| #define END_DEFINE_INTERFACES | ( | BaseClass | ) |
| #define FUNKNOWN_METHODS2 | ( | InterfaceName1, | |
| InterfaceName2, | |||
| BaseClass | |||
| ) |
| #define FUNKNOWN_METHODS3 | ( | InterfaceName1, | |
| InterfaceName2, | |||
| InterfaceName3, | |||
| BaseClass | |||
| ) |
| #define FUNKNOWN_METHODS4 | ( | InterfaceName1, | |
| InterfaceName2, | |||
| InterfaceName3, | |||
| InterfaceName4, | |||
| BaseClass | |||
| ) |
| #define REFCOUNT_METHODS | ( | BaseClass | ) |
| void Steinberg::AssignShared | ( | T *& | dest, |
| T * | newPtr | ||
| ) |
| void Steinberg::AssignSharedDependent | ( | IDependent * | _this, |
| IPtr< T > & | dest, | ||
| T * | newPtr | ||
| ) |
| void Steinberg::AssignSharedDependent | ( | IDependent * | _this, |
| T *& | dest, | ||
| T * | newPtr | ||
| ) |
| C * Steinberg::FCast | ( | const FObject * | object | ) |
| C * Steinberg::FCast | ( | FUnknown * | unknown | ) |
| C * Steinberg::FUCast | ( | FObject * | object | ) |
| C * Steinberg::FUCast | ( | FUnknown * | object | ) |
| void Steinberg::SafeRelease | ( | I *& | ptr | ) |
| void Steinberg::SafeRelease | ( | IPtr< I > & | ptr | ) |
| void Steinberg::SafeReleaseDependent | ( | IDependent * | _this, |
| IPtr< T > & | dest | ||
| ) |
| void Steinberg::SafeReleaseDependent | ( | IDependent * | _this, |
| T *& | dest | ||
| ) |