ivstmessage.h

Go to the documentation of this file.
00001 //------------------------------------------------------------------------
00002 // Project     : VST SDK
00003 // Version     : 3.0
00004 //
00005 // Category    : Interfaces
00006 // Filename    : ivstmessage.h
00007 // Created by  : Steinberg, 04/2005
00008 // Modified    : $Date: 2008/01/09 12:51:44 $
00009 // Description : VST Message Interfaces
00010 //
00011 //-----------------------------------------------------------------------------
00012 // LICENSE
00013 // © 2008, Steinberg Media Technologies GmbH, All Rights Reserved
00014 //-----------------------------------------------------------------------------
00015 // This Software Development Kit may not be distributed in parts or its entirety  
00016 // without prior written agreement by Steinberg Media Technologies GmbH. 
00017 // This SDK must not be used to re-engineer or manipulate any technology used  
00018 // in any Steinberg or Third-party application or software module, 
00019 // unless permitted by law.
00020 // Neither the name of the Steinberg Media Technologies nor the names of its
00021 // contributors may be used to endorse or promote products derived from this 
00022 // software without specific prior written permission.
00023 // 
00024 // THIS SDK IS PROVIDED BY STEINBERG MEDIA TECHNOLOGIES GMBH "AS IS" AND
00025 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
00026 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
00027 // IN NO EVENT SHALL STEINBERG MEDIA TECHNOLOGIES GMBH BE LIABLE FOR ANY DIRECT, 
00028 // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
00029 // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
00030 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
00031 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 
00032 // OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
00033 // OF THE POSSIBILITY OF SUCH DAMAGE.
00034 //----------------------------------------------------------------------------------
00035 
00036 #ifndef __ivstmessage__
00037 #define __ivstmessage__
00038 
00039 #include "pluginterfaces/vst/ivstattributes.h"
00040 
00041 //------------------------------------------------------------------------
00042 #include "pluginterfaces/base/falignpush.h"
00043 //------------------------------------------------------------------------
00044 
00045 //------------------------------------------------------------------------
00046 namespace Steinberg {
00047 namespace Vst {
00048 
00049 //------------------------------------------------------------------------
00050 // IMessage Interface
00051 //------------------------------------------------------------------------
00052 class IMessage: public FUnknown
00053 {
00054 public:
00055 //------------------------------------------------------------------------
00057         virtual const char* PLUGIN_API getMessageID () = 0;
00058 
00060         virtual void PLUGIN_API setMessageID (const char* id /*in*/) = 0; 
00061 
00063         virtual IAttributeList* PLUGIN_API getAttributes () = 0;
00064 
00065 //------------------------------------------------------------------------
00066         static const FUID iid;
00067 };
00068 
00069 DECLARE_CLASS_IID (IMessage, 0x936F033B, 0xC6C047DB, 0xBB0882F8, 0x13C1E613)
00070 
00071 
00072 //------------------------------------------------------------------------
00073 // IConnectionPoint Interface
00074 //------------------------------------------------------------------------
00075 class IConnectionPoint: public FUnknown
00076 {
00077 public:
00078 //------------------------------------------------------------------------
00080         virtual tresult PLUGIN_API connect (IConnectionPoint* other) = 0;
00081 
00083         virtual tresult PLUGIN_API disconnect (IConnectionPoint* other) = 0;
00084         
00086         virtual tresult PLUGIN_API notify (IMessage* message) = 0;
00087 
00088 //------------------------------------------------------------------------
00089         static const FUID iid;
00090 };
00091 
00092 DECLARE_CLASS_IID (IConnectionPoint, 0x70A4156F, 0x6E6E4026, 0x989148BF, 0xAA60D8D1)
00093 
00094 //------------------------------------------------------------------------
00095 } // namespace Vst
00096 } // namespace Steinberg
00097 
00098 //------------------------------------------------------------------------
00099 #include "pluginterfaces/base/falignpop.h"
00100 //------------------------------------------------------------------------
00101 
00102 #endif  // __ivstmessage__
Empty

Copyright ©2008 Steinberg Media Technologies. All Rights Reserved.