#include <string.h>#include "ftypes.h"Go to the source code of this file.
Namespaces | |
| namespace | Steinberg |
Classes | |
| class | Steinberg::FUID |
| class | Steinberg::FUnknown |
| struct | Steinberg::FReleaser |
| class | Steinberg::FUnknownPtr< I > |
| class | Steinberg::FVariant |
Defines | |
| #define | COM_COMPATIBLE 0 |
| #define | PLUGIN_API |
| #define | INLINE_UID(l1, l2, l3, l4) |
| #define | DECLARE_UID(name, l1, l2, l3, l4) const char name[16] = INLINE_UID (l1, l2, l3, l4); |
| #define | EXTERN_UID(name) extern const char name[16]; |
| #define | DECLARE_CLASS_IID(ClassName, l1, l2, l3, l4) |
| #define | DEFINE_CLASS_IID(ClassName, l1, l2, l3, l4) const ::Steinberg::FUID ClassName::iid (l1, l2, l3, l4); |
| #define | DECLARE_FUNKNOWN_METHODS |
| #define | DELEGATE_REFCOUNT(ClassName) |
| #define | IMPLEMENT_REFCOUNT(ClassName) |
| #define | FUNKNOWN_CTOR { __funknownRefCount = 1; ::Steinberg::FUnknown::addObject (); } |
| #define | FUNKNOWN_DTOR { ::Steinberg::FUnknown::releaseObject (); } |
| #define | QUERY_INTERFACE(iid, obj, InterfaceIID, InterfaceName) |
| #define | IMPLEMENT_QUERYINTERFACE(ClassName, InterfaceName, ClassIID) |
| #define | IMPLEMENT_FUNKNOWN_METHODS(ClassName, InterfaceName, ClassIID) |
Typedefs | |
| typedef int64 | Steinberg::LARGE_INT |
| typedef char | Steinberg::TUID [16] |
Enumerations | |
| enum | { Steinberg::kNoInterface = -1, Steinberg::kResultOk, Steinberg::kResultTrue = kResultOk, Steinberg::kResultFalse, Steinberg::kInvalidArgument, Steinberg::kNotImplemented, Steinberg::kInternalError, Steinberg::kNotInitialized, Steinberg::kOutOfMemory } |
| #define COM_COMPATIBLE 0 |
Definition at line 48 of file funknown.h.
| #define DECLARE_CLASS_IID | ( | ClassName, | |||
| l1, | |||||
| l2, | |||||
| l3, | |||||
| l4 | ) |
Definition at line 102 of file funknown.h.
| #define DECLARE_FUNKNOWN_METHODS |
Value:
public: \ virtual tresult PLUGIN_API queryInterface (const char* iid, void** obj); \ virtual uint32 PLUGIN_API addRef (); \ virtual uint32 PLUGIN_API release (); \ protected : \ uint32 __funknownRefCount; \ public:
Definition at line 111 of file funknown.h.
| #define DECLARE_UID | ( | name, | |||
| l1, | |||||
| l2, | |||||
| l3, | |||||
| l4 | ) | const char name[16] = INLINE_UID (l1, l2, l3, l4); |
Definition at line 91 of file funknown.h.
| #define DEFINE_CLASS_IID | ( | ClassName, | |||
| l1, | |||||
| l2, | |||||
| l3, | |||||
| l4 | ) | const ::Steinberg::FUID ClassName::iid (l1, l2, l3, l4); |
Definition at line 105 of file funknown.h.
| #define DELEGATE_REFCOUNT | ( | ClassName | ) |
Value:
public: \ virtual uint32 PLUGIN_API addRef () { return ClassName::addRef (); } \ virtual uint32 PLUGIN_API release () { return ClassName::release (); } \
Definition at line 122 of file funknown.h.
| #define EXTERN_UID | ( | name | ) | extern const char name[16]; |
Definition at line 95 of file funknown.h.
| #define FUNKNOWN_CTOR { __funknownRefCount = 1; ::Steinberg::FUnknown::addObject (); } |
Definition at line 144 of file funknown.h.
| #define FUNKNOWN_DTOR { ::Steinberg::FUnknown::releaseObject (); } |
Definition at line 145 of file funknown.h.
| #define IMPLEMENT_FUNKNOWN_METHODS | ( | ClassName, | |||
| InterfaceName, | |||||
| ClassIID | ) |
Value:
IMPLEMENT_REFCOUNT (ClassName) \ IMPLEMENT_QUERYINTERFACE (ClassName, InterfaceName, ClassIID)
Definition at line 167 of file funknown.h.
| #define IMPLEMENT_QUERYINTERFACE | ( | ClassName, | |||
| InterfaceName, | |||||
| ClassIID | ) |
Value:
tresult PLUGIN_API ClassName::queryInterface (const char* iid, void** obj) \ { \ QUERY_INTERFACE (iid, obj, ::Steinberg::FUnknown::iid, InterfaceName) \ QUERY_INTERFACE (iid, obj, ClassIID, InterfaceName) \ *obj = 0; \ return kNoInterface; \ }
Definition at line 157 of file funknown.h.
| #define IMPLEMENT_REFCOUNT | ( | ClassName | ) |
Value:
uint32 PLUGIN_API ClassName::addRef () \ { \ return ++__funknownRefCount; \ } \ uint32 PLUGIN_API ClassName::release () \ { \ if (--__funknownRefCount == 0) \ { \ delete this; \ return 0; \ } \ return __funknownRefCount; \ }
Definition at line 128 of file funknown.h.
| #define INLINE_UID | ( | l1, | |||
| l2, | |||||
| l3, | |||||
| l4 | ) |
Value:
{ \
(int8)((l1 & 0xFF000000) >> 24), (int8)((l1 & 0x00FF0000) >> 16), \
(int8)((l1 & 0x0000FF00) >> 8), (int8)((l1 & 0x000000FF) ), \
(int8)((l2 & 0xFF000000) >> 24), (int8)((l2 & 0x00FF0000) >> 16), \
(int8)((l2 & 0x0000FF00) >> 8), (int8)((l2 & 0x000000FF) ), \
(int8)((l3 & 0xFF000000) >> 24), (int8)((l3 & 0x00FF0000) >> 16), \
(int8)((l3 & 0x0000FF00) >> 8), (int8)((l3 & 0x000000FF) ), \
(int8)((l4 & 0xFF000000) >> 24), (int8)((l4 & 0x00FF0000) >> 16), \
(int8)((l4 & 0x0000FF00) >> 8), (int8)((l4 & 0x000000FF) ) \
}
Definition at line 77 of file funknown.h.
| #define PLUGIN_API |
Definition at line 56 of file funknown.h.
| #define QUERY_INTERFACE | ( | iid, | |||
| obj, | |||||
| InterfaceIID, | |||||
| InterfaceName | ) |
Value:
if (memcmp (iid, InterfaceIID, 16) == 0) \ { \ addRef (); \ *obj = (InterfaceName*)this; \ return kResultOk; \ }
Definition at line 148 of file funknown.h.