Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 10552


Ignore:
Timestamp:
Aug 27, 2015, 11:05:18 PM (9 years ago)
Author:
landauf
Message:

added PluginManager to load/unload plugins at runtime

Location:
code/branches/core7/src/libraries/core
Files:
4 added
4 edited

Legend:

Unmodified
Added
Removed
  • code/branches/core7/src/libraries/core/Core.cc

    r10551 r10552  
    7676#include "module/ModuleInstance.h"
    7777#include "module/StaticInitializationManager.h"
     78#include "module/PluginManager.h"
    7879#include "CoreStaticInitializationHandler.h"
    7980#include "UpdateListener.h"
     
    111112        , bGraphicsLoaded_(false)
    112113        , staticInitHandler_(NULL)
     114        , pluginManager_(NULL)
    113115        , rootModule_(NULL)
    114116        , config_(NULL)
     
    197199        this->staticInitHandler_->initInstances(this->rootModule_);
    198200        this->staticInitHandler_->setInitInstances(true);
     201
     202        // Create plugin manager and search for plugins
     203        this->pluginManager_ = new PluginManager();
     204        this->pluginManager_->findPlugins();
    199205
    200206        // Loader
     
    248254        safeObjectDelete(&configFileManager_);
    249255        safeObjectDelete(&signalHandler_);
     256        safeObjectDelete(&pluginManager_);
    250257        Context::getRootContext()->unregisterObject(); // unregister context from object lists - otherwise the root context would be destroyed while unloading the root module
    251258        if (this->rootModule_)
  • code/branches/core7/src/libraries/core/Core.h

    r10532 r10552  
    114114
    115115            CoreStaticInitializationHandler* staticInitHandler_;
     116            PluginManager*                   pluginManager_;
    116117            ModuleInstance*                  rootModule_;
    117118            std::list<ModuleInstance*>       modules_;
  • code/branches/core7/src/libraries/core/CorePrereqs.h

    r10535 r10552  
    210210    class OrxonoxClass;
    211211    class OrxonoxInterface;
     212    class Plugin;
     213    class PluginManager;
    212214    struct ResourceInfo;
    213215    template <ScopeID::Value>
  • code/branches/core7/src/libraries/core/module/CMakeLists.txt

    r10540 r10552  
    33  DynLibManager.cc
    44  ModuleInstance.cc
     5  Plugin.cc
     6  PluginManager.cc
    57  StaticallyInitializedInstance.cc
    68  StaticInitializationHandlerIncludes.cc
Note: See TracChangeset for help on using the changeset viewer.