Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jan 2, 2016, 4:06:30 PM (8 years ago)
Author:
landauf
Message:

Added config value to PluginManager to define whether a dereferenced plugin should be completely unloaded (i.e. the shared library is closed) or merely deactivated (i.e. the library remains in the process, but Identifiers and other framework components are removed).
This option is true by default on tardis machines because there it seems impossible to completely unload a shared library due to the use of STB_GNU_UNIQUE which prevents that dlclose() unloads the library. This caused errors when a plugin should have been reloaded, e.g. when the pong level was restarted.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/trunk/src/libraries/core/module/PluginManager.h

    r10580 r11016  
    3535#include <string>
    3636#include "util/Singleton.h"
     37#include "core/config/Configurable.h"
    3738
    3839namespace orxonox
    3940{
    40     class _CoreExport PluginManager : public Singleton<PluginManager>
     41    class _CoreExport PluginManager : public Singleton<PluginManager>, public Configurable
    4142    {
    4243        friend class Singleton<PluginManager>;
     
    4546            PluginManager();
    4647            ~PluginManager();
     48
     49            void setConfigValues();
    4750
    4851            void findPlugins();
     
    5861            std::map<std::string, Plugin*> plugins_;
    5962            std::map<std::string, PluginReference*> references_; // references that were created by console command
     63            bool bMerelyDeactivatePlugins_;
    6064
    6165            static PluginManager* singletonPtr_s;
Note: See TracChangeset for help on using the changeset viewer.