Interface Technology Basics: IPluginCompatibility Class Reference
Author: Steinberg

Interface Technology Basics VST 3.7 SDK for developing VST plug-in

- Main Page
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Public Member Functions | Static Public Attributes | List of all members
IPluginCompatibility Class Referenceabstract

optional interface to query the compatibility of the plug-ins classes More...

`#include <iplugincompatibility.h>`

Inheritance diagram for IPluginCompatibility:

## Public Member Functions
virtual tresult | getCompatibilityJSON (IBStream *stream)=0
| get the compatibility stream
Public Member Functions inherited from FUnknown
virtual tresult | queryInterface (const TUID _iid, void **obj)=0
| Query for a pointer to the specified interface.
virtual uint32 | addRef ()=0
| Adds a reference and returns the new reference count.
virtual uint32 | release ()=0
| Releases a reference and returns the new reference count.

## Static Public Attributes
static const FUID | iid
Static Public Attributes inherited from FUnknown
static const FUID | iid

## Detailed Description

optional interface to query the compatibility of the plug-ins classes

- [plug imp]

A plug-in can add a class with this interface to its class factory if it cannot provide a moduleinfo.json file in its plug-in package/bundle where the compatibility is normally part of.

If the module contains a moduleinfo.json the host will ignore this class.

The class must write into the stream an UTF-8 encoded json description of the compatibility of the other classes in the factory.

It is expected that the JSON5 written starts with an array:

[
{
"New": "B9F9ADE1CD9C4B6DA57E61E3123535FD",
"Old": [
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", // just an example
"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB", // another example
],
},
]

## Member Function Documentation

virtual tresult getCompatibilityJSON | ( | IBStream * | stream | ) |
| pure virtual

get the compatibility stream

Parameters

  stream | the stream the plug-in must write the UTF8 encoded JSON5 compatibility string.

Returns
  kResultTrue on success

## Member Data Documentation

const FUID iid
| static

Empty

Copyright ©2022 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.