diff options
author | David Robillard <d@drobilla.net> | 2009-12-19 21:37:50 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-12-19 21:37:50 +0000 |
commit | 19045ab92aa7e996971584a0dc8780d1d58b498b (patch) | |
tree | 619c73deb7fd64ce31c5167490d1ae186dbb2695 /src/module/Module.hpp | |
parent | 4613a2e15f1122ecf6830171de0ab18dc22fefff (diff) | |
download | ingen-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.hpp | 15 |
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 |