Jamba C++ API 7.5.0
Loading...
Searching...
No Matches
MessageProducer.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2018 pongasoft
3 *
4 * Licensed under the Apache License, Version 2.0 or the MIT license,
5 * at your option. You may not use this file except in compliance with
6 * one of these licenses. You may obtain copies of the licenses at:
7 *
8 * https://www.apache.org/licenses/LICENSE-2.0
9 * https://opensource.org/licenses/MIT
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 *
17 * @author Yan Pujante
18 */
19
20#pragma once
21
22#include <memory>
23#include <pluginterfaces/vst/ivstmessage.h>
24
25namespace pongasoft {
26namespace VST {
27
28using namespace Steinberg;
29using namespace Steinberg::Vst;
30
35{
36public:
37 virtual ~IMessageProducer() = default;
38
40 virtual IPtr<IMessage> allocateMessage() = 0;
41
43 virtual tresult sendMessage(IPtr<IMessage> iMessage) = 0;
44};
45
46}
47}
Abstraction for allocating and sending a message.
Definition MessageProducer.h:35
virtual IPtr< IMessage > allocateMessage()=0
Allocates a message instance.
virtual tresult sendMessage(IPtr< IMessage > iMessage)=0
Sends the given message to the peer.
virtual ~IMessageProducer()=default
Definition Clock.h:24
Definition Clock.h:23