diff options
Diffstat (limited to 'src/libs/module')
-rw-r--r-- | src/libs/module/World.hpp | 6 | ||||
-rw-r--r-- | src/libs/module/module.cpp | 5 | ||||
-rw-r--r-- | src/libs/module/module.h | 5 |
3 files changed, 11 insertions, 5 deletions
diff --git a/src/libs/module/World.hpp b/src/libs/module/World.hpp index bb7ffe17..f665e6ad 100644 --- a/src/libs/module/World.hpp +++ b/src/libs/module/World.hpp @@ -32,6 +32,8 @@ namespace Ingen { namespace Shared { +class EngineInterface; + /** The "world" all Ingen modules may share. * @@ -47,7 +49,9 @@ struct World { #ifdef HAVE_SLV2 SLV2World slv2_world; #endif - Raul::RDF::World rdf_world; + Raul::RDF::World* rdf_world; + + EngineInterface* engine; }; diff --git a/src/libs/module/module.cpp b/src/libs/module/module.cpp index 7584ebc7..4e342670 100644 --- a/src/libs/module/module.cpp +++ b/src/libs/module/module.cpp @@ -33,8 +33,9 @@ get_world() { if (!world) { world = new World(); + world->rdf_world = new Raul::RDF::World(); #ifdef HAVE_SLV2 - world->slv2_world = slv2_world_new_using_rdf_world(world->rdf_world.world()); + world->slv2_world = slv2_world_new_using_rdf_world(world->rdf_world->world()); slv2_world_load_all(world->slv2_world); #endif } @@ -49,7 +50,7 @@ destroy_world() #ifdef HAVE_SLV2 slv2_world_free(world->slv2_world); #endif - + delete world->rdf_world; delete world; world = NULL; } diff --git a/src/libs/module/module.h b/src/libs/module/module.h index 6c809f7e..48bdeedf 100644 --- a/src/libs/module/module.h +++ b/src/libs/module/module.h @@ -20,14 +20,15 @@ #include "World.hpp" #include "Module.hpp" +#include "raul/SharedPtr.hpp" namespace Ingen { namespace Shared { extern "C" { - World* get_world(); - void destroy_world(); + World* get_world(); + void destroy_world(); } |