summaryrefslogtreecommitdiffstats
path: root/src/module/Module.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-12-19 21:37:50 +0000
committerDavid Robillard <d@drobilla.net>2009-12-19 21:37:50 +0000
commit19045ab92aa7e996971584a0dc8780d1d58b498b (patch)
tree619c73deb7fd64ce31c5167490d1ae186dbb2695 /src/module/Module.hpp
parent4613a2e15f1122ecf6830171de0ab18dc22fefff (diff)
downloadingen-19045ab92aa7e996971584a0dc8780d1d58b498b.tar.gz
ingen-19045ab92aa7e996971584a0dc8780d1d58b498b.tar.bz2
ingen-19045ab92aa7e996971584a0dc8780d1d58b498b.zip
New ingen module (library, not e.g. LV2 plugin) design.
Much cleaner interface and general usage of Ingen as a library. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2314 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/module/Module.hpp')
-rw-r--r--src/module/Module.hpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/module/Module.hpp b/src/module/Module.hpp
index d078264f..c9ac198f 100644
--- a/src/module/Module.hpp
+++ b/src/module/Module.hpp
@@ -15,6 +15,9 @@
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#ifndef INGEN_MODULE_HPP
+#define INGEN_MODULE_HPP
+
#include <string>
#include <glibmm/module.h>
#include "raul/SharedPtr.hpp"
@@ -22,14 +25,20 @@
namespace Ingen {
namespace Shared {
+class World;
-/** Load a dynamic module from the default path.
+/** A dynamically loaded Ingen module.
*
- * \param name The base name of the module, e.g. "ingen_serialisation"
+ * All components of Ingen reside in one of these.
*/
-SharedPtr<Glib::Module> load_module(const std::string& name);
+struct Module {
+ virtual void load(Ingen::Shared::World* world) = 0;
+
+ SharedPtr<Glib::Module> library;
+};
} // namespace Shared
} // namespace Ingen
+#endif //INGEN_MODULE_HPP