| 
							- //------------------------------------------------------------------------
 - // Project     : VST SDK
 - //
 - // Category    : Interfaces
 - // Filename    : pluginterfaces/vst/ivstpluginterfacesupport.h
 - // Created by  : Steinberg, 11/2018
 - // Description : VST Interfaces
 - //
 - //-----------------------------------------------------------------------------
 - // This file is part of a Steinberg SDK. It is subject to the license terms
 - // in the LICENSE file found in the top-level directory of this distribution
 - // and at www.steinberg.net/sdklicenses. 
 - // No part of the SDK, including this file, may be copied, modified, propagated,
 - // or distributed except according to the terms contained in the LICENSE file.
 - //-----------------------------------------------------------------------------
 - 
 - #pragma once
 - 
 - #include "pluginterfaces/base/funknown.h"
 - #include "vsttypes.h"
 - 
 - //------------------------------------------------------------------------
 - namespace Steinberg {
 - namespace Vst {
 - //------------------------------------------------------------------------
 - /** Host callback interface for an edit controller.
 - \ingroup vstIHost vst3612
 - - [host imp]
 - - [released: 3.6.12]
 - - [optional]
 - 
 - Allow a Plug-in to ask the host if a given Plug-in interface is supported/used by the host.
 - It is implemented by the hostContext given when the component is initialized.
 - 
 - \code
 - tresult PLUGIN_API MyPluginController::initialize (FUnknown* context)
 - {
 - 	// ...
 - 	FUnknownPtr<IPlugInterfaceSupport> plugInterfaceSupport (context);
 - 	if (plugInterfaceSupport)
 - 	{
 - 		if (plugInterfaceSupport->isPlugInterfaceSupported (IMidiMapping::iid) == kResultTrue)
 - 			// IMidiMapping is used by the host
 - 	}
 - 	// ...
 - }
 - \endcode
 - \see IPluginBase */
 - //------------------------------------------------------------------------
 - class IPlugInterfaceSupport : public FUnknown
 - {
 - public:
 - 	/** Returns kResultTrue if the associated interface to the given _iid is supported/used by the host. */
 - 	virtual tresult PLUGIN_API isPlugInterfaceSupported (const TUID _iid) = 0;
 - 	
 -  //------------------------------------------------------------------------
 -  static const FUID iid;
 - };
 - 
 - DECLARE_CLASS_IID (IPlugInterfaceSupport, 0x4FB58B9E, 0x9EAA4E0F, 0xAB361C1C, 0xCCB56FEA)
 - 
 - //------------------------------------------------------------------------
 - } // namespace Vst
 - } // namespace Steinberg
 
 
  |