summaryrefslogtreecommitdiffstats
path: root/src/module/Module.hpp
diff options
context:
space:
mode:
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