synthclone  0.3.0
iplugin.h
Go to the documentation of this file.
1 /*
2  * libsynthclone - a plugin API for `synthclone`
3  * Copyright (C) 2011 Devin Anderson
4  *
5  * This library is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU Lesser General Public License as published by the
7  * Free Software Foundation; either version 2.1 of the License, or (at your
8  * option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
13  * for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with this library; if not, write to the Free Software Foundation,
17  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18  */
19 
20 #ifndef __SYNTHCLONE_IPLUGIN_H__
21 #define __SYNTHCLONE_IPLUGIN_H__
22 
23 #include <QtCore/QtPlugin>
24 
25 #include <synthclone/participant.h>
26 
27 namespace synthclone {
28 
33  class IPlugin {
34 
35  public:
36 
37  virtual
38  ~IPlugin() {}
39 
93  virtual QByteArray
94  getId() const = 0;
95 
104  virtual Participant *
105  getParticipant() = 0;
106 
107  };
108 
109 }
110 
111 Q_DECLARE_INTERFACE(synthclone::IPlugin,
112  "com.googlecode.synthclone.interfaces.IPlugin/0.1")
113 
114 #endif
virtual QByteArray getId() const =0
Gets the root Participant id.
This interface is implemented by synthclone plugins.
Definition: iplugin.h:33
Definition: component.h:26
Participants objects interact with synthclone.
Definition: participant.h:34
virtual Participant * getParticipant()=0
Gets the root Participant for this plugin.
virtual ~IPlugin()
Definition: iplugin.h:38