[Orxonox-commit 5875] r10535 - in code/branches/core7: src/libraries/core src/libraries/core/command src/libraries/core/commandline src/libraries/core/module src/libraries/core/singleton src/libraries/network test/core/class test/core/command test/core/object test/core/singleton
landauf at orxonox.net
landauf at orxonox.net
Sat Jun 6 23:52:25 CEST 2015
Author: landauf
Date: 2015-06-06 23:52:25 +0200 (Sat, 06 Jun 2015)
New Revision: 10535
Added:
code/branches/core7/src/libraries/network/NetworkStaticInitializationHandler.cc
code/branches/core7/src/libraries/network/NetworkStaticInitializationHandler.h
Modified:
code/branches/core7/src/libraries/core/Core.cc
code/branches/core7/src/libraries/core/CoreIncludes.h
code/branches/core7/src/libraries/core/CorePrereqs.h
code/branches/core7/src/libraries/core/CoreStaticInitializationHandler.cc
code/branches/core7/src/libraries/core/CoreStaticInitializationHandler.h
code/branches/core7/src/libraries/core/command/ConsoleCommandIncludes.h
code/branches/core7/src/libraries/core/commandline/CommandLineIncludes.h
code/branches/core7/src/libraries/core/module/ModuleInstance.cc
code/branches/core7/src/libraries/core/module/ModuleInstance.h
code/branches/core7/src/libraries/core/module/StaticInitializationHandlerIncludes.h
code/branches/core7/src/libraries/core/module/StaticInitializationManager.h
code/branches/core7/src/libraries/core/module/StaticallyInitializedInstance.cc
code/branches/core7/src/libraries/core/module/StaticallyInitializedInstance.h
code/branches/core7/src/libraries/core/singleton/ScopedSingletonIncludes.h
code/branches/core7/src/libraries/network/CMakeLists.txt
code/branches/core7/src/libraries/network/NetworkFunctionIncludes.cc
code/branches/core7/src/libraries/network/NetworkFunctionIncludes.h
code/branches/core7/src/libraries/network/NetworkPrereqs.h
code/branches/core7/test/core/class/IdentifiableTest.cc
code/branches/core7/test/core/class/IdentifierClassHierarchyTest.cc
code/branches/core7/test/core/class/IdentifierExternalClassHierarchyTest.cc
code/branches/core7/test/core/class/IdentifierNestedClassHierarchyTest.cc
code/branches/core7/test/core/class/IdentifierSimpleClassHierarchyTest.cc
code/branches/core7/test/core/class/IdentifierTest.cc
code/branches/core7/test/core/class/SubclassIdentifierTest.cc
code/branches/core7/test/core/class/SuperTest.cc
code/branches/core7/test/core/command/CommandTest.cc
code/branches/core7/test/core/object/ClassFactoryTest.cc
code/branches/core7/test/core/object/ContextTest.cc
code/branches/core7/test/core/object/IteratorTest.cc
code/branches/core7/test/core/object/ListableTest.cc
code/branches/core7/test/core/object/ObjectListIteratorTest.cc
code/branches/core7/test/core/singleton/ScopeTest.cc
Log:
statically initialized instances are now registered with a type. CoreStaticInitializationHandler initializes all instances in core, NetworkStaticInitializationHandler initializes all instances in network.
Modified: code/branches/core7/src/libraries/core/Core.cc
===================================================================
--- code/branches/core7/src/libraries/core/Core.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/src/libraries/core/Core.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -125,18 +125,18 @@
// Create a new dynamic library manager
this->dynLibManager_ = new DynLibManager();
- // TODO: initialize StaticInitializationManager
- this->staticInitHandler_ = new CoreStaticInitializationHandler();
- StaticInitializationManager::getInstance().addHandler(this->staticInitHandler_);
-
// TODO: initialize Root-Context
// TODO: initialize IdentifierManager here
// TODO: initialize ScopeManager here
// TODO: initialize CommandLineParser here
// TODO: initialize ConsoleCommandManager here
// TODO: initialize NetworkFunctionManager here
+ // TODO: initialize StaticInitializationManager
+ this->staticInitHandler_ = new CoreStaticInitializationHandler();
+ StaticInitializationManager::getInstance().addHandler(this->staticInitHandler_);
+
this->rootModule_ = ModuleInstance::getCurrentModuleInstance();
- this->rootModule_->loadAllStaticallyInitializedInstances(0);
+ StaticInitializationManager::getInstance().loadModule(this->rootModule_);
// Parse command line arguments AFTER the modules have been loaded (static code!)
CommandLineParser::parse(cmdLine);
@@ -197,7 +197,8 @@
// creates the class hierarchy for all classes with factories
orxout(internal_info) << "creating class hierarchy" << endl;
- IdentifierManager::getInstance().createClassHierarchy();
+ this->staticInitHandler_->initInstances(this->rootModule_);
+ this->staticInitHandler_->setInitInstances(true);
// Loader
this->loaderInstance_ = new Loader();
@@ -252,7 +253,7 @@
Context::getRootContext()->unregisterObject(); // unregister context from object lists - otherwise the root context would be destroyed while unloading the root module
if (this->rootModule_)
{
- this->rootModule_->unloadAllStaticallyInitializedInstances(0);
+ StaticInitializationManager::getInstance().unloadModule(this->rootModule_);
this->rootModule_->deleteAllStaticallyInitializedInstances();
}
if (this->staticInitHandler_)
Modified: code/branches/core7/src/libraries/core/CoreIncludes.h
===================================================================
--- code/branches/core7/src/libraries/core/CoreIncludes.h 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/src/libraries/core/CoreIncludes.h 2015-06-06 21:52:25 UTC (rev 10535)
@@ -225,7 +225,7 @@
public:
StaticallyInitializedIdentifier(Identifier* identifier)
- : StaticallyInitializedInstance(0)
+ : StaticallyInitializedInstance(StaticInitialization::IDENTIFIER)
, identifier_(identifier)
{}
~StaticallyInitializedIdentifier() { delete identifier_; }
Modified: code/branches/core7/src/libraries/core/CorePrereqs.h
===================================================================
--- code/branches/core7/src/libraries/core/CorePrereqs.h 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/src/libraries/core/CorePrereqs.h 2015-06-06 21:52:25 UTC (rev 10535)
@@ -85,6 +85,17 @@
static const Value GRAPHICS = 2;
}
+ namespace StaticInitialization
+ {
+ typedef int Type;
+
+ static const Type STATIC_INITIALIZATION_HANDLER = 1;
+ static const Type IDENTIFIER = 2;
+ static const Type SCOPED_SINGLETON_WRAPPER = 3;
+ static const Type COMMAND_LINE_ARGUMENT = 4;
+ static const Type CONSOLE_COMMAND = 5;
+ }
+
namespace XMLPort
{
enum Mode
Modified: code/branches/core7/src/libraries/core/CoreStaticInitializationHandler.cc
===================================================================
--- code/branches/core7/src/libraries/core/CoreStaticInitializationHandler.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/src/libraries/core/CoreStaticInitializationHandler.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -46,13 +46,34 @@
void CoreStaticInitializationHandler::loadModule(ModuleInstance* module)
{
- module->loadAllStaticallyInitializedInstances(0);
+ this->loadInstances(module);
+ if (this->bInitInstances_)
+ this->initInstances(module);
+ }
+
+ void CoreStaticInitializationHandler::loadInstances(ModuleInstance* module)
+ {
+ // the order of initialization is important
+ module->loadAllStaticallyInitializedInstances(StaticInitialization::STATIC_INITIALIZATION_HANDLER);
+ module->loadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
+ module->loadAllStaticallyInitializedInstances(StaticInitialization::SCOPED_SINGLETON_WRAPPER);
+ module->loadAllStaticallyInitializedInstances(StaticInitialization::COMMAND_LINE_ARGUMENT);
+ module->loadAllStaticallyInitializedInstances(StaticInitialization::CONSOLE_COMMAND);
+ }
+
+ void CoreStaticInitializationHandler::initInstances(ModuleInstance* module)
+ {
IdentifierManager::getInstance().createClassHierarchy();
ScopeManager::getInstance().updateListeners();
}
void CoreStaticInitializationHandler::unloadModule(ModuleInstance* module)
{
- module->unloadAllStaticallyInitializedInstances(0);
+ // inverted order of initialization
+ module->unloadAllStaticallyInitializedInstances(StaticInitialization::CONSOLE_COMMAND);
+ module->unloadAllStaticallyInitializedInstances(StaticInitialization::COMMAND_LINE_ARGUMENT);
+ module->unloadAllStaticallyInitializedInstances(StaticInitialization::SCOPED_SINGLETON_WRAPPER);
+ module->unloadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
+ module->unloadAllStaticallyInitializedInstances(StaticInitialization::STATIC_INITIALIZATION_HANDLER);
}
}
Modified: code/branches/core7/src/libraries/core/CoreStaticInitializationHandler.h
===================================================================
--- code/branches/core7/src/libraries/core/CoreStaticInitializationHandler.h 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/src/libraries/core/CoreStaticInitializationHandler.h 2015-06-06 21:52:25 UTC (rev 10535)
@@ -37,12 +37,25 @@
{
class _CoreExport CoreStaticInitializationHandler : public StaticInitializationHandler
{
+ friend class Core;
+
public:
+ CoreStaticInitializationHandler() : bInitInstances_(false) {}
+
virtual void setupHandler();
virtual void shutdownHandler();
virtual void loadModule(ModuleInstance* module);
virtual void unloadModule(ModuleInstance* module);
+
+ inline void setInitInstances(bool bInitInstances)
+ { this->bInitInstances_ = bInitInstances; }
+
+ private:
+ void loadInstances(ModuleInstance* module);
+ void initInstances(ModuleInstance* module);
+
+ bool bInitInstances_;
};
}
Modified: code/branches/core7/src/libraries/core/command/ConsoleCommandIncludes.h
===================================================================
--- code/branches/core7/src/libraries/core/command/ConsoleCommandIncludes.h 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/src/libraries/core/command/ConsoleCommandIncludes.h 2015-06-06 21:52:25 UTC (rev 10535)
@@ -310,7 +310,7 @@
{
public:
StaticallyInitializedConsoleCommand(ConsoleCommand* command)
- : StaticallyInitializedInstance(0)
+ : StaticallyInitializedInstance(StaticInitialization::CONSOLE_COMMAND)
, command_(command)
{}
~StaticallyInitializedConsoleCommand() { delete command_; }
Modified: code/branches/core7/src/libraries/core/commandline/CommandLineIncludes.h
===================================================================
--- code/branches/core7/src/libraries/core/commandline/CommandLineIncludes.h 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/src/libraries/core/commandline/CommandLineIncludes.h 2015-06-06 21:52:25 UTC (rev 10535)
@@ -58,7 +58,7 @@
{
public:
StaticallyInitializedCommandLineArgument(CommandLineArgument* argument)
- : StaticallyInitializedInstance(0)
+ : StaticallyInitializedInstance(StaticInitialization::COMMAND_LINE_ARGUMENT)
, argument_(argument)
{}
~StaticallyInitializedCommandLineArgument() { delete argument_; }
Modified: code/branches/core7/src/libraries/core/module/ModuleInstance.cc
===================================================================
--- code/branches/core7/src/libraries/core/module/ModuleInstance.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/src/libraries/core/module/ModuleInstance.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -55,14 +55,14 @@
this->staticallyInitializedInstancesByType_[instance->getType()].erase(instance);
}
- void ModuleInstance::loadAllStaticallyInitializedInstances(StaticallyInitializedInstance::Type type)
+ void ModuleInstance::loadAllStaticallyInitializedInstances(StaticInitialization::Type type)
{
const std::set<StaticallyInitializedInstance*>& instances = this->staticallyInitializedInstancesByType_[type];
for (std::set<StaticallyInitializedInstance*>::iterator it = instances.begin(); it != instances.end(); ++it)
(*it)->load();
}
- void ModuleInstance::unloadAllStaticallyInitializedInstances(StaticallyInitializedInstance::Type type)
+ void ModuleInstance::unloadAllStaticallyInitializedInstances(StaticInitialization::Type type)
{
const std::set<StaticallyInitializedInstance*>& instances = this->staticallyInitializedInstancesByType_[type];
for (std::set<StaticallyInitializedInstance*>::iterator it = instances.begin(); it != instances.end(); ++it)
@@ -71,9 +71,9 @@
void ModuleInstance::deleteAllStaticallyInitializedInstances()
{
- std::map<StaticallyInitializedInstance::Type, std::set<StaticallyInitializedInstance*> > copy(this->staticallyInitializedInstancesByType_);
+ std::map<StaticInitialization::Type, std::set<StaticallyInitializedInstance*> > copy(this->staticallyInitializedInstancesByType_);
this->staticallyInitializedInstancesByType_.clear();
- for (std::map<StaticallyInitializedInstance::Type, std::set<StaticallyInitializedInstance*> >::iterator it1 = copy.begin(); it1 != copy.end(); ++it1)
+ for (std::map<StaticInitialization::Type, std::set<StaticallyInitializedInstance*> >::iterator it1 = copy.begin(); it1 != copy.end(); ++it1)
for (std::set<StaticallyInitializedInstance*>::iterator it2 = it1->second.begin(); it2 != it1->second.end(); ++it2)
delete (*it2);
}
Modified: code/branches/core7/src/libraries/core/module/ModuleInstance.h
===================================================================
--- code/branches/core7/src/libraries/core/module/ModuleInstance.h 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/src/libraries/core/module/ModuleInstance.h 2015-06-06 21:52:25 UTC (rev 10535)
@@ -48,8 +48,8 @@
void addStaticallyInitializedInstance(StaticallyInitializedInstance* instance);
void removeStaticallyInitializedInstance(StaticallyInitializedInstance* instance);
- void loadAllStaticallyInitializedInstances(StaticallyInitializedInstance::Type type);
- void unloadAllStaticallyInitializedInstances(StaticallyInitializedInstance::Type type);
+ void loadAllStaticallyInitializedInstances(StaticInitialization::Type type);
+ void unloadAllStaticallyInitializedInstances(StaticInitialization::Type type);
void deleteAllStaticallyInitializedInstances();
@@ -65,7 +65,7 @@
static ModuleInstance* getCurrentModuleInstance();
private:
- std::map<StaticallyInitializedInstance::Type, std::set<StaticallyInitializedInstance*> > staticallyInitializedInstancesByType_;
+ std::map<StaticInitialization::Type, std::set<StaticallyInitializedInstance*> > staticallyInitializedInstancesByType_;
std::string name_;
DynLib* dynLib_;
Modified: code/branches/core7/src/libraries/core/module/StaticInitializationHandlerIncludes.h
===================================================================
--- code/branches/core7/src/libraries/core/module/StaticInitializationHandlerIncludes.h 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/src/libraries/core/module/StaticInitializationHandlerIncludes.h 2015-06-06 21:52:25 UTC (rev 10535)
@@ -47,7 +47,7 @@
{
public:
StaticallyInitializedStaticInitializationHandler(StaticInitializationHandler* handler)
- : StaticallyInitializedInstance(0)
+ : StaticallyInitializedInstance(StaticInitialization::STATIC_INITIALIZATION_HANDLER)
, handler_(handler)
{}
~StaticallyInitializedStaticInitializationHandler() { delete handler_; }
Modified: code/branches/core7/src/libraries/core/module/StaticInitializationManager.h
===================================================================
--- code/branches/core7/src/libraries/core/module/StaticInitializationManager.h 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/src/libraries/core/module/StaticInitializationManager.h 2015-06-06 21:52:25 UTC (rev 10535)
@@ -37,8 +37,6 @@
{
class _CoreExport StaticInitializationManager
{
- friend class Core;
-
public:
static StaticInitializationManager& getInstance();
Modified: code/branches/core7/src/libraries/core/module/StaticallyInitializedInstance.cc
===================================================================
--- code/branches/core7/src/libraries/core/module/StaticallyInitializedInstance.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/src/libraries/core/module/StaticallyInitializedInstance.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -32,7 +32,7 @@
namespace orxonox
{
- StaticallyInitializedInstance::StaticallyInitializedInstance(Type type)
+ StaticallyInitializedInstance::StaticallyInitializedInstance(StaticInitialization::Type type)
{
this->type_ = type;
this->module_ = ModuleInstance::getCurrentModuleInstance();
Modified: code/branches/core7/src/libraries/core/module/StaticallyInitializedInstance.h
===================================================================
--- code/branches/core7/src/libraries/core/module/StaticallyInitializedInstance.h 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/src/libraries/core/module/StaticallyInitializedInstance.h 2015-06-06 21:52:25 UTC (rev 10535)
@@ -36,20 +36,19 @@
class _CoreExport StaticallyInitializedInstance
{
public:
- typedef int Type;
- StaticallyInitializedInstance(Type type);
+ StaticallyInitializedInstance(StaticInitialization::Type type);
virtual ~StaticallyInitializedInstance();
virtual void load() = 0;
virtual void unload() = 0;
- inline Type getType() const
+ inline StaticInitialization::Type getType() const
{ return this->type_; }
private:
ModuleInstance* module_;
- Type type_;
+ StaticInitialization::Type type_;
};
}
Modified: code/branches/core7/src/libraries/core/singleton/ScopedSingletonIncludes.h
===================================================================
--- code/branches/core7/src/libraries/core/singleton/ScopedSingletonIncludes.h 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/src/libraries/core/singleton/ScopedSingletonIncludes.h 2015-06-06 21:52:25 UTC (rev 10535)
@@ -80,7 +80,7 @@
{
public:
StaticallyInitializedScopedSingletonWrapper(ScopedSingletonWrapper* wrapper, ScopeID::Value scope)
- : StaticallyInitializedInstance(0)
+ : StaticallyInitializedInstance(StaticInitialization::SCOPED_SINGLETON_WRAPPER)
, wrapper_(wrapper)
, scope_(scope)
{}
Modified: code/branches/core7/src/libraries/network/CMakeLists.txt
===================================================================
--- code/branches/core7/src/libraries/network/CMakeLists.txt 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/src/libraries/network/CMakeLists.txt 2015-06-06 21:52:25 UTC (rev 10535)
@@ -35,6 +35,7 @@
NetworkFunction.cc
NetworkFunctionIncludes.cc
NetworkFunctionManager.cc
+ NetworkStaticInitializationHandler.cc
Host.cc
Server.cc
MasterServer.cc
Modified: code/branches/core7/src/libraries/network/NetworkFunctionIncludes.cc
===================================================================
--- code/branches/core7/src/libraries/network/NetworkFunctionIncludes.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/src/libraries/network/NetworkFunctionIncludes.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -29,8 +29,13 @@
#include "NetworkFunctionIncludes.h"
#include "NetworkFunctionManager.h"
+#include "core/module/StaticInitializationHandlerIncludes.h"
+#include "NetworkStaticInitializationHandler.h"
+
namespace orxonox
{
+ RegisterStaticInitializationHandler(NetworkStaticInitializationHandler);
+
void StaticallyInitializedNetworkFunction::load()
{
NetworkFunctionManager::getInstance().registerFunction(this->function_);
Modified: code/branches/core7/src/libraries/network/NetworkFunctionIncludes.h
===================================================================
--- code/branches/core7/src/libraries/network/NetworkFunctionIncludes.h 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/src/libraries/network/NetworkFunctionIncludes.h 2015-06-06 21:52:25 UTC (rev 10535)
@@ -51,7 +51,7 @@
{
public:
StaticallyInitializedNetworkFunction(NetworkFunctionBase* function)
- : StaticallyInitializedInstance(0)
+ : StaticallyInitializedInstance(StaticInitialization::NETWORK_FUNCTION)
, function_(function)
{}
~StaticallyInitializedNetworkFunction() { delete function_; }
Modified: code/branches/core7/src/libraries/network/NetworkPrereqs.h
===================================================================
--- code/branches/core7/src/libraries/network/NetworkPrereqs.h 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/src/libraries/network/NetworkPrereqs.h 2015-06-06 21:52:25 UTC (rev 10535)
@@ -96,6 +96,12 @@
};
}
}
+
+ namespace StaticInitialization
+ {
+ typedef int Type;
+ static const Type NETWORK_FUNCTION = 6;
+ }
}
//-----------------------------------------------------------------------
Added: code/branches/core7/src/libraries/network/NetworkStaticInitializationHandler.cc
===================================================================
--- code/branches/core7/src/libraries/network/NetworkStaticInitializationHandler.cc (rev 0)
+++ code/branches/core7/src/libraries/network/NetworkStaticInitializationHandler.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -0,0 +1,54 @@
+/*
+ * ORXONOX - the hottest 3D action shooter ever to exist
+ * > www.orxonox.net <
+ *
+ *
+ * License notice:
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Author:
+ * Fabian 'x3n' Landau
+ * Co-authors:
+ * ...
+ *
+ */
+
+#include "NetworkStaticInitializationHandler.h"
+
+#include "core/module/ModuleInstance.h"
+
+namespace orxonox
+{
+ void NetworkStaticInitializationHandler::setupHandler()
+ {
+ // TODO
+ }
+
+ void NetworkStaticInitializationHandler::shutdownHandler()
+ {
+ // TODO
+ }
+
+ void NetworkStaticInitializationHandler::loadModule(ModuleInstance* module)
+ {
+ module->loadAllStaticallyInitializedInstances(StaticInitialization::NETWORK_FUNCTION);
+ }
+
+ void NetworkStaticInitializationHandler::unloadModule(ModuleInstance* module)
+ {
+ module->unloadAllStaticallyInitializedInstances(StaticInitialization::NETWORK_FUNCTION);
+ }
+}
Property changes on: code/branches/core7/src/libraries/network/NetworkStaticInitializationHandler.cc
___________________________________________________________________
Added: svn:eol-style
+ native
Added: code/branches/core7/src/libraries/network/NetworkStaticInitializationHandler.h
===================================================================
--- code/branches/core7/src/libraries/network/NetworkStaticInitializationHandler.h (rev 0)
+++ code/branches/core7/src/libraries/network/NetworkStaticInitializationHandler.h 2015-06-06 21:52:25 UTC (rev 10535)
@@ -0,0 +1,49 @@
+/*
+ * ORXONOX - the hottest 3D action shooter ever to exist
+ * > www.orxonox.net <
+ *
+ *
+ * License notice:
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Author:
+ * Fabian 'x3n' Landau
+ * Co-authors:
+ * ...
+ *
+ */
+
+#ifndef _NetworkStaticInitializationHandler_H__
+#define _NetworkStaticInitializationHandler_H__
+
+#include "network/NetworkPrereqs.h"
+
+#include "core/module/StaticInitializationHandler.h"
+
+namespace orxonox
+{
+ class _NetworkExport NetworkStaticInitializationHandler : public StaticInitializationHandler
+ {
+ public:
+ virtual void setupHandler();
+ virtual void shutdownHandler();
+
+ virtual void loadModule(ModuleInstance* module);
+ virtual void unloadModule(ModuleInstance* module);
+ };
+}
+
+#endif /* _NetworkStaticInitializationHandler_H__ */
Property changes on: code/branches/core7/src/libraries/network/NetworkStaticInitializationHandler.h
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: code/branches/core7/test/core/class/IdentifiableTest.cc
===================================================================
--- code/branches/core7/test/core/class/IdentifiableTest.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/test/core/class/IdentifiableTest.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -21,12 +21,12 @@
public:
virtual void SetUp()
{
- ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
}
virtual void TearDown()
{
- ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
}
};
}
Modified: code/branches/core7/test/core/class/IdentifierClassHierarchyTest.cc
===================================================================
--- code/branches/core7/test/core/class/IdentifierClassHierarchyTest.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/test/core/class/IdentifierClassHierarchyTest.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -141,7 +141,7 @@
public:
virtual void SetUp()
{
- ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
Identifier::initConfigValues_s = false; // TODO: hack!
IdentifierManager::getInstance().createClassHierarchy();
}
@@ -149,7 +149,7 @@
virtual void TearDown()
{
IdentifierManager::getInstance().destroyClassHierarchy();
- ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
}
};
Modified: code/branches/core7/test/core/class/IdentifierExternalClassHierarchyTest.cc
===================================================================
--- code/branches/core7/test/core/class/IdentifierExternalClassHierarchyTest.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/test/core/class/IdentifierExternalClassHierarchyTest.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -48,7 +48,7 @@
public:
virtual void SetUp()
{
- ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
Identifier::initConfigValues_s = false; // TODO: hack!
IdentifierManager::getInstance().createClassHierarchy();
}
@@ -56,7 +56,7 @@
virtual void TearDown()
{
IdentifierManager::getInstance().destroyClassHierarchy();
- ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
}
};
Modified: code/branches/core7/test/core/class/IdentifierNestedClassHierarchyTest.cc
===================================================================
--- code/branches/core7/test/core/class/IdentifierNestedClassHierarchyTest.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/test/core/class/IdentifierNestedClassHierarchyTest.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -108,7 +108,7 @@
public:
virtual void SetUp()
{
- ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
Identifier::initConfigValues_s = false; // TODO: hack!
IdentifierManager::getInstance().createClassHierarchy();
}
@@ -116,7 +116,7 @@
virtual void TearDown()
{
IdentifierManager::getInstance().destroyClassHierarchy();
- ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
}
};
Modified: code/branches/core7/test/core/class/IdentifierSimpleClassHierarchyTest.cc
===================================================================
--- code/branches/core7/test/core/class/IdentifierSimpleClassHierarchyTest.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/test/core/class/IdentifierSimpleClassHierarchyTest.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -50,7 +50,7 @@
public:
virtual void SetUp()
{
- ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
Identifier::initConfigValues_s = false; // TODO: hack!
IdentifierManager::getInstance().createClassHierarchy();
}
@@ -58,7 +58,7 @@
virtual void TearDown()
{
IdentifierManager::getInstance().destroyClassHierarchy();
- ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
}
};
Modified: code/branches/core7/test/core/class/IdentifierTest.cc
===================================================================
--- code/branches/core7/test/core/class/IdentifierTest.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/test/core/class/IdentifierTest.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -28,12 +28,12 @@
public:
virtual void SetUp()
{
- ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
}
virtual void TearDown()
{
- ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
}
};
}
Modified: code/branches/core7/test/core/class/SubclassIdentifierTest.cc
===================================================================
--- code/branches/core7/test/core/class/SubclassIdentifierTest.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/test/core/class/SubclassIdentifierTest.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -30,7 +30,7 @@
public:
virtual void SetUp()
{
- ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
Identifier::initConfigValues_s = false; // TODO: hack!
IdentifierManager::getInstance().createClassHierarchy();
@@ -42,7 +42,7 @@
Context::setRootContext(NULL);
IdentifierManager::getInstance().destroyClassHierarchy();
- ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
}
};
}
Modified: code/branches/core7/test/core/class/SuperTest.cc
===================================================================
--- code/branches/core7/test/core/class/SuperTest.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/test/core/class/SuperTest.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -71,7 +71,7 @@
public:
virtual void SetUp()
{
- ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
Identifier::initConfigValues_s = false; // TODO: hack!
IdentifierManager::getInstance().createClassHierarchy();
@@ -83,7 +83,7 @@
Context::setRootContext(NULL);
IdentifierManager::getInstance().destroyClassHierarchy();
- ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
}
};
}
Modified: code/branches/core7/test/core/command/CommandTest.cc
===================================================================
--- code/branches/core7/test/core/command/CommandTest.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/test/core/command/CommandTest.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -139,7 +139,7 @@
public:
virtual void SetUp()
{
- ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(StaticInitialization::CONSOLE_COMMAND);
Identifier::initConfigValues_s = false; // TODO: hack!
IdentifierManager::getInstance().createClassHierarchy();
}
@@ -147,7 +147,7 @@
virtual void TearDown()
{
IdentifierManager::getInstance().destroyClassHierarchy();
- ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(StaticInitialization::CONSOLE_COMMAND);
}
};
}
Modified: code/branches/core7/test/core/object/ClassFactoryTest.cc
===================================================================
--- code/branches/core7/test/core/object/ClassFactoryTest.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/test/core/object/ClassFactoryTest.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -3,6 +3,7 @@
#include "core/BaseObject.h"
#include "core/object/Context.h"
#include "core/module/ModuleInstance.h"
+#include "core/CoreIncludes.h"
namespace orxonox
{
@@ -15,12 +16,12 @@
virtual void SetUp()
{
Context::setRootContext(new Context(NULL));
- ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
}
virtual void TearDown()
{
- ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
Context::setRootContext(NULL);
}
};
Modified: code/branches/core7/test/core/object/ContextTest.cc
===================================================================
--- code/branches/core7/test/core/object/ContextTest.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/test/core/object/ContextTest.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -23,12 +23,12 @@
virtual void SetUp()
{
Context::setRootContext(new Context(NULL));
- ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
}
virtual void TearDown()
{
- ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
Context::setRootContext(NULL);
}
};
Modified: code/branches/core7/test/core/object/IteratorTest.cc
===================================================================
--- code/branches/core7/test/core/object/IteratorTest.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/test/core/object/IteratorTest.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -34,12 +34,12 @@
virtual void SetUp()
{
Context::setRootContext(new Context(NULL));
- ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
}
virtual void TearDown()
{
- ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
Context::setRootContext(NULL);
}
};
Modified: code/branches/core7/test/core/object/ListableTest.cc
===================================================================
--- code/branches/core7/test/core/object/ListableTest.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/test/core/object/ListableTest.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -39,12 +39,12 @@
virtual void SetUp()
{
Context::setRootContext(new Context(NULL));
- ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
}
virtual void TearDown()
{
- ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
Context::setRootContext(NULL);
}
};
Modified: code/branches/core7/test/core/object/ObjectListIteratorTest.cc
===================================================================
--- code/branches/core7/test/core/object/ObjectListIteratorTest.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/test/core/object/ObjectListIteratorTest.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -26,12 +26,12 @@
virtual void SetUp()
{
Context::setRootContext(new Context(NULL));
- ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
}
virtual void TearDown()
{
- ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
Context::setRootContext(NULL);
}
};
Modified: code/branches/core7/test/core/singleton/ScopeTest.cc
===================================================================
--- code/branches/core7/test/core/singleton/ScopeTest.cc 2015-06-06 16:24:22 UTC (rev 10534)
+++ code/branches/core7/test/core/singleton/ScopeTest.cc 2015-06-06 21:52:25 UTC (rev 10535)
@@ -1,6 +1,7 @@
#include <gtest/gtest.h>
#include "core/singleton/ScopedSingletonIncludes.h"
#include "core/module/ModuleInstance.h"
+#include "core/CoreIncludes.h"
namespace orxonox
{
@@ -26,12 +27,14 @@
public:
virtual void SetUp()
{
- ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
+ ModuleInstance::getCurrentModuleInstance()->loadAllStaticallyInitializedInstances(StaticInitialization::SCOPED_SINGLETON_WRAPPER);
}
virtual void TearDown()
{
- ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(0);
+ ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(StaticInitialization::SCOPED_SINGLETON_WRAPPER);
+ ModuleInstance::getCurrentModuleInstance()->unloadAllStaticallyInitializedInstances(StaticInitialization::IDENTIFIER);
}
};
}
More information about the Orxonox-commit
mailing list