[gephex-devel] gephex--main--0.4--patch-1878
gephex at sonnenland.kexbox.org
gephex at sonnenland.kexbox.org
Mon Apr 11 21:54:43 CEST 2005
Archive: gephex at gephex.org--2004
New revision: gephex--main--0.4--patch-1878
--
Revision: gephex--main--0.4--patch-1878
Archive: gephex at gephex.org--2004
Creator: The Gephex Source Archive <gephex at gephex.org>
Date: Mon Apr 11 21:51:36 CEST 2005
Standard-date: 2005-04-11 19:51:36 GMT
Removed-files: base/src/interfaces/.arch-ids/moduleclassloadercontrol.if.id
base/src/interfaces/.arch-ids/typeclassloadercontrol.if.id
base/src/interfaces/.arch-ids/typeclassname.if.id
base/src/interfaces/moduleclassloadercontrol.if
base/src/interfaces/typeclassloadercontrol.if
base/src/interfaces/typeclassname.if
qtgui/src/gui/dialogs/.arch-ids/dllselectordialog.cpp.id
qtgui/src/gui/dialogs/.arch-ids/dllselectordialog.h.id
qtgui/src/gui/dialogs/dllselectordialog.cpp
qtgui/src/gui/dialogs/dllselectordialog.h
Modified-files: base/src/interfaces/Makefile.am
base/src/netinterfaces/Makefile.am
engine/src/dllloader/c_module.cpp
engine/src/dllloader/c_module.h
engine/src/dllloader/c_moduleclass.cpp
engine/src/dllloader/c_moduleclass.h
engine/src/dllloader/dllloader.cpp
engine/src/dllloader/dllloader.h
engine/src/dllloader/typedllloader.cpp
engine/src/dllloader/typedllloader.h
engine/src/engine/controller.cpp
engine/src/engine/controller.h
engine/src/renderer/renderer.h
qtgui/src/gui/dialogs/Makefile.am
qtgui/src/gui/vjmainwindow.cpp
qtgui/src/gui/vjmainwindow.h
qtgui/src/guimodel/enginewrapper.cpp
qtgui/src/guimodel/enginewrapper.h
New-patches: gephex at gephex.org--2004/gephex--main--0.4--patch-1878
martin at gephex.org--2004/gephex--frei0r--0.4--patch-2
martin at gephex.org--2004/gephex--frei0r--0.4--patch-3
martin at gephex.org--2004/gephex--frei0r--0.4--patch-4
martin at gephex.org--2004/gephex--frei0r--0.4--patch-5
martin at gephex.org--2004/gephex--frei0r--0.4--patch-6
martin at gephex.org--2004/gephex--frei0r--0.4--patch-7
martin at gephex.org--2004/gephex--frei0r--0.4--patch-8
martin at gephex.org--2004/gephex--frei0r--0.4--patch-9
martin at gephex.org--2004/gephex--frei0r--0.4--patch-10
Summary: [MERGE-REQUEST] refactor plugin handling
Keywords:
Patches applied:
* martin at gephex.org--2004/gephex--frei0r--0.4--patch-2
tag of gephex at gephex.org--2004/gephex--main--0.4--patch-1877
* martin at gephex.org--2004/gephex--frei0r--0.4--patch-3
remove plugin manager dialog
* martin at gephex.org--2004/gephex--frei0r--0.4--patch-4
remove most plugin loading stuff from gui and controller
* martin at gephex.org--2004/gephex--frei0r--0.4--patch-5
syncronize on connect
* martin at gephex.org--2004/gephex--frei0r--0.4--patch-6
remove unused moduleclassname... code
* martin at gephex.org--2004/gephex--frei0r--0.4--patch-7
remove typeclassname interface
* martin at gephex.org--2004/gephex--frei0r--0.4--patch-8
refactor step dllloader
* martin at gephex.org--2004/gephex--frei0r--0.4--patch-9
move the plugin scanning code to dllloader
* martin at gephex.org--2004/gephex--frei0r--0.4--patch-10
remove segfault at exit
* removed files
base/src/interfaces/.arch-ids/moduleclassloadercontrol.if.id
base/src/interfaces/.arch-ids/typeclassloadercontrol.if.id
base/src/interfaces/.arch-ids/typeclassname.if.id
base/src/interfaces/moduleclassloadercontrol.if
base/src/interfaces/typeclassloadercontrol.if
base/src/interfaces/typeclassname.if
qtgui/src/gui/dialogs/.arch-ids/dllselectordialog.cpp.id
qtgui/src/gui/dialogs/.arch-ids/dllselectordialog.h.id
qtgui/src/gui/dialogs/dllselectordialog.cpp
qtgui/src/gui/dialogs/dllselectordialog.h
* added files
{arch}/gephex/gephex--frei0r/gephex--frei0r--0.4/martin at gephex.org--2004/patch-log/patch-10
{arch}/gephex/gephex--frei0r/gephex--frei0r--0.4/martin at gephex.org--2004/patch-log/patch-2
{arch}/gephex/gephex--frei0r/gephex--frei0r--0.4/martin at gephex.org--2004/patch-log/patch-3
{arch}/gephex/gephex--frei0r/gephex--frei0r--0.4/martin at gephex.org--2004/patch-log/patch-4
{arch}/gephex/gephex--frei0r/gephex--frei0r--0.4/martin at gephex.org--2004/patch-log/patch-5
{arch}/gephex/gephex--frei0r/gephex--frei0r--0.4/martin at gephex.org--2004/patch-log/patch-6
{arch}/gephex/gephex--frei0r/gephex--frei0r--0.4/martin at gephex.org--2004/patch-log/patch-7
{arch}/gephex/gephex--frei0r/gephex--frei0r--0.4/martin at gephex.org--2004/patch-log/patch-8
{arch}/gephex/gephex--frei0r/gephex--frei0r--0.4/martin at gephex.org--2004/patch-log/patch-9
{arch}/gephex/gephex--main/gephex--main--0.4/gephex at gephex.org--2004/patch-log/patch-1878
* modified files
--- orig/base/src/interfaces/Makefile.am
+++ mod/base/src/interfaces/Makefile.am
@@ -7,7 +7,6 @@
modelstatus.if \
moduleclass.if \
moduleclassinfo.if \
- moduleclassloadercontrol.if \
moduleclassname.if \
moduleclassspec.if \
moduleconstructiondumb.if \
@@ -21,9 +20,7 @@
serializedgraph.if \
smartcontrolvalue.if \
typeclass.if \
- typeclassinfo.if \
- typeclassloadercontrol.if \
- typeclassname.if
+ typeclassinfo.if
EXTRA_DIST = interfaces.dsp interfaces.mak interfaces.dep $(INTERFACE_FILES)
--- orig/base/src/netinterfaces/Makefile.am
+++ mod/base/src/netinterfaces/Makefile.am
@@ -7,15 +7,11 @@
libnetinterfaces_a_SOURCES = \
enginecontrolsendernet.cpp \
enginecontrolreceivernet.cpp \
- moduleclassloadercontrolsendernet.cpp \
- moduleclassloadercontrolreceivernet.cpp \
renderercontrolreceivernet.cpp \
renderercontrolsendernet.cpp \
modelcontrolreceivernet.cpp \
moduledatareceivernet.cpp \
moduledatasendernet.cpp \
- moduleclassnamereceivernet.cpp \
- moduleclassnamesendernet.cpp \
moduleconstructiondumbreceivernet.cpp \
modelcontrolsendernet.cpp \
moduleconstructiondumbsendernet.cpp \
@@ -49,10 +45,6 @@
modelcontrolsendernet.h \
moduleclassinforeceivernet.h \
moduleclassinfosendernet.h \
- moduleclassloadercontrolreceivernet.h \
- moduleclassloadercontrolsendernet.h \
- moduleclassnamereceivernet.h \
- moduleclassnamesendernet.h \
moduleconstructiondumbreceivernet.h \
moduleconstructiondumbsendernet.h \
moduledatareceivernet.h \
--- orig/engine/src/dllloader/c_module.cpp
+++ mod/engine/src/dllloader/c_module.cpp
@@ -208,7 +208,7 @@
CModuleVTable& vtable,
const CModuleAttributes& attributes,
const ITypeFactory& tfactory_,
- const std::vector<ITypePtr>& defaultInputTypes,
+ const std::vector<IType*>& defaultInputTypes,
const std::string& module_class_name)
: IModule(-1), m_instance(instance), m_vtable(&vtable),
inputs(attributes.inputs.size()),outputs(attributes.outputs.size()),
--- orig/engine/src/dllloader/c_module.h
+++ mod/engine/src/dllloader/c_module.h
@@ -42,7 +42,7 @@
public:
CModule(void* instance,CModuleVTable&,
const CModuleAttributes& attributes,const ITypeFactory&,
- const std::vector<ITypePtr>& defaultInputTypes,
+ const std::vector<IType*>& defaultInputTypes,
const std::string& module_class_name);
virtual ~CModule();
--- orig/engine/src/dllloader/c_moduleclass.cpp
+++ mod/engine/src/dllloader/c_moduleclass.cpp
@@ -103,7 +103,7 @@
for (unsigned int i = 0; i < defaultInputValues.size(); ++i)
{
- ITypePtr tmp(tFactory.buildNew(attributes->inputs[i]));
+ IType* tmp(tFactory.buildNew(attributes->inputs[i]));
//TODO
const TypeAttributes* attr = attributes->fixedAttributes[i];
--- orig/engine/src/dllloader/c_moduleclass.h
+++ mod/engine/src/dllloader/c_moduleclass.h
@@ -59,8 +59,7 @@
CModuleFunctionTable* functionTable;
CModuleAttributes* attributes;
- typedef utils::AutoPtr<IType> ITypePtr;
- mutable std::vector<ITypePtr> defaultInputValues;
+ mutable std::vector<IType*> defaultInputValues;
std::string m_name;
frei0r_funs_t* m_frei0r;
int m_frei0r_plugin_type;
--- orig/engine/src/dllloader/dllloader.cpp
+++ mod/engine/src/dllloader/dllloader.cpp
@@ -31,6 +31,7 @@
#include <sstream>
#include <stdexcept>
#include <iostream>
+#include <list>
#include "nameresolver.h"
@@ -49,6 +50,10 @@
#include "utils/autoptr.h"
#include "utils/sharedlibrary.h"
#include "utils/ilogger.h"
+#include "utils/filesystem.h"
+#include "utils/stringtokenizer.h"
+
+
#include "interfaces/imoduleclassreceiver.h"
#include "interfaces/imoduleclassspecreceiver.h"
@@ -57,7 +62,6 @@
#include "interfaces/itypeclassreceiver.h"
#include "interfaces/itypeclassinforeceiver.h"
-#include "interfaces/itypeclassnamereceiver.h"
#include "frei0rwrapper.h"
@@ -68,8 +72,6 @@
void moduleLog(int level, const char* sender, const char* msg);
};
-
-
void readFrei0rFuns(DllLoader::SharedLibraryPtr sl, frei0r_funs_t& f0r)
{
f0r.init = (f0r_init_t) sl->loadSymbol("f0r_init");
@@ -166,38 +168,127 @@
}
}
-
- DllLoader::DllLoader(utils::AutoPtr<utils::ILogger>& logger)
- : resolver(new NameResolver()), m_infoReceiver(0), m_classReceiver(0),
- m_specReceiver(0), m_typeInfoReceiver(0), m_typeClassReceiver(0),
- m_logger(logger)
+
+ #if defined(OS_WIN32)
+ static const char* MODULE_ENDING = ".dll";
+ static const char* TYPE_ENDING = ".dll";
+#elif defined(OS_POSIX)
+ static const char* MODULE_ENDING = ".so";
+ static const char* TYPE_ENDING = ".so";
+#else
+#error "unknown OS"
+#endif
+
+ std::vector<std::string> getFilesInPath(const std::string& dirName,
+ const std::string& ending)
{
- s_logger = logger;
+ std::vector<std::string> fileNames;
+
+ std::list<utils::DirEntry> entries;
+ utils::FileSystem::listDir(dirName, entries);
+
+ for (std::list<utils::DirEntry>::const_iterator it = entries.begin();
+ it != entries.end(); ++it)
+ {
+ std::string name = it->getName();
+
+ if (name == "." || name == "..")
+ continue;
+
+ if (it->getType() == utils::DirEntry::DIRECTORY)
+ {
+ std::vector<std::string>
+ subfiles= getFilesInPath(name, ending);
+
+ fileNames.insert(fileNames.end(),
+ subfiles.begin(), subfiles.end());
+ }
+ else
+ {
+ if (name.length() > ending.length()
+ && name.substr(name.length()-ending.length(),
+ ending.length()) == ending)
+ {
+ fileNames.push_back(dirName + name);
+ }
+ }
+ }
+ return fileNames;
}
-
- DllLoader::~DllLoader()
+
+ /**
+ * Returns a vector of all files in a list of paths, that have a certain
+ * file ending.
+ * Files can be listed more than once if a path of the list is a subpath
+ * of another path in the list.
+ */
+ std::vector<std::string> getFilesInPathList(const std::string& pathList,
+ const std::string& ending)
{
- delete resolver;
+ std::vector<std::string> files;
+
+ utils::StringTokenizer st(pathList);
+ std::string path;
+
+ while ((path = st.next(";")) != "")
+ try
+ {
+ std::vector<std::string> fs = getFilesInPath(path, ending);
+ files.insert(files.end(),fs.begin(), fs.end());
+ }
+ catch (...)
+ {
+ // we ignore all paths we cannot open
+ }
+
+ return files;
}
- void DllLoader::unloadAll()
+
+ DllLoader::DllLoader(utils::AutoPtr<utils::ILogger>& logger,
+ IModuleClassInfoReceiver& infoReceiver,
+ IModuleClassSpecReceiver& specReceiver,
+ IModuleClassReceiver& classReceiver,
+ // ITypeClassInfoReceiver& typeInfoReceiver,
+ ITypeClassReceiver& typeClassReceiver,
+ const std::string& module_path,
+ const std::string& type_path,
+ const std::string& frei0r_path
+ )
+ : resolver(new NameResolver()),
+ m_infoReceiver(infoReceiver),
+ m_classReceiver(classReceiver),
+ m_specReceiver(specReceiver),
+ // m_typeInfoReceiver(typeInfoReceiver),
+ m_typeClassReceiver(typeClassReceiver), m_logger(logger)
{
- //unload all loaded modules
- typedef std::vector<std::pair<std::string, void*> > Fotze;
- Fotze names(m_moduleHandles.size());
+ s_logger = logger;
- std::copy(m_moduleHandles.begin(), m_moduleHandles.end(),
- names.begin());
+ // load stuff
+ std::vector<std::string> modules = getFilesInPathList(module_path,
+ MODULE_ENDING);
+
+ std::vector<std::string> types = getFilesInPathList(type_path,
+ TYPE_ENDING);
+
+ std::vector<std::string> frei0rs;
+ if (frei0r_path != "")
+ frei0rs = getFilesInPathList(frei0r_path, MODULE_ENDING);
- for (Fotze::const_iterator it = names.begin() ;it != names.end(); ++it)
- {
- std::string name = it->first;
-#if (ENGINE_VERBOSITY > 1)
- std::cout << "Unloading " << name << std::endl;
-#endif
- unloadModuleClass(name);
- }
- //TODO: unload type classes
+ std::cout << "Reading plugins...";
+ std::cout.flush();
+ readDlls(modules, types, frei0rs);
+ std::cout << " done
";
+ }
+
+ DllLoader::~DllLoader()
+ {
+ // TODO
+ //
+ // 1. call cleanup/deinit methods of all types/effects/plugins
+ // 2. release shared library
+
+ delete resolver;
}
void DllLoader::readDlls(const std::vector<std::string>& modules,
@@ -212,14 +303,14 @@
#if (ENGINE_VERBOSITY > 0)
std::cout << "processing typ file: " << *it << std::endl;
#endif
- processTypFile(*it);
+ processTypeFile(*it);
}
catch (std::runtime_error& e)
{
std::cerr << e.what() << std::endl;
}
}
-
+
for (std::vector<std::string>::const_iterator it = modules.begin();
it != modules.end(); ++it)
{
@@ -244,9 +335,10 @@
{
std::cerr << e.what() << std::endl;
}
- }
+ }
}
-
+
+
//TODO: Fehlerbehandlung!
void DllLoader::loadModule(SharedLibraryPtr sl,
const std::string& moduleName)
@@ -315,137 +407,52 @@
}
}
- void DllLoader::loadModuleClass(const std::string& moduleName)
- {
- try
- {
- std::map<std::string,std::string>::const_iterator it =
- m_mod2fileName.find(moduleName);
-
- if (it == m_mod2fileName.end())
- {
- it = m_f0r2fileName.find(moduleName);
-
- if (it == m_f0r2fileName.end())
- throw std::runtime_error("ModuleClass gibts halt nicht");
-
- std::string filename = it->second;
-
- frei0r_funs_t f0r;
- SharedLibraryPtr sl = this->loadDll(filename);
-
- readFrei0rFuns(sl, f0r);
-
- loadFrei0r(f0r, sl, moduleName);
- return;
- }
-
- std::string filename = it->second;
-
- SharedLibraryPtr sl = this->loadDll(filename);
- if (sl->loadSymbol("update") != 0)
- {
- loadModule(sl, moduleName);
- }
- else
- {
- throw std::runtime_error("Unbekannter Dll Type.");
- }
- }
- catch (std::runtime_error& e)
- {
- m_logger->error("LoadModuleClass", e.what());
- }
- }
- void DllLoader::unloadModuleClass(const std::string& name)
- {
- std::map<std::string,SharedLibraryPtr>::iterator it
- = m_moduleHandles.find(name);
- std::map<std::string,utils::AutoPtr<utils::Buffer> >::iterator
- it2 = m_moduleInfos.find(name);
-
- if (it == m_moduleHandles.end() || it2 == m_moduleInfos.end())
- {
- throw std::runtime_error("unbekannte moduleclass "
- "bei unloadmoduleclass");
- }
-
- m_specReceiver->moduleClassUnloaded(name);
- m_classReceiver->moduleClassUnloaded(name);
- m_infoReceiver->moduleClassUnloaded(name);
-
- SharedLibraryPtr sl = it->second;
-
- // Call the shutdown function of the dll
- shutDownT shutDown = (shutDownT) sl->loadSymbol("shutDown");
-
- if (shutDown != 0)
- shutDown();
-
-
- m_moduleInfos.erase(it2);
- m_moduleHandles.erase(it);
-
- }
-
void DllLoader::synchronize()
{
- //TODO: bis jetzt wird nur der moduleClassNameReceiver
- // und der moduleClassInfoReceiver benachrichtigt!
+ //TODO: bis jetzt wird nur moduleClassInfoReceiver benachrichtigt!
#if (ENGINE_VERBOSITY > 0)
std::cout << "sync dllloader" << std::endl;
#endif
- m_infoReceiver->syncStarted();
-// m_nameReceiver->syncStarted();
-
- for (std::map<std::string,std::string>::const_iterator nameIt
- = m_mod2fileName.begin();
- nameIt != m_mod2fileName.end(); ++nameIt)
- {
- m_nameReceiver->moduleClassNameExists(nameIt->first);
- }
-
-
- for (std::map<std::string,std::string>::const_iterator nameIt
- = m_f0r2fileName.begin();
- nameIt != m_f0r2fileName.end(); ++nameIt)
- {
- m_nameReceiver->moduleClassNameExists(nameIt->first);
- }
+ m_infoReceiver.syncStarted();
for (std::map<std::string,utils::AutoPtr<utils::Buffer> >::const_iterator
modIt = m_moduleInfos.begin();
modIt != m_moduleInfos.end(); ++modIt)
{
- m_infoReceiver->moduleClassLoaded(modIt->first, *modIt->second);
+ m_infoReceiver.moduleClassLoaded(modIt->first, *modIt->second);
}
- //m_nameReceiver->syncFinished();
- m_infoReceiver->syncFinished();
+ m_infoReceiver.syncFinished();
}
- void DllLoader::loadTypeClass(const std::string& typeName)
+ void DllLoader::processTypeFile(const std::string& filename)
{
- // get the filename of the type
- std::map<std::string,std::string>::const_iterator it =
- m_typ2fileName.find(typeName);
-
- if (it == m_typ2fileName.end())
+ std::string typeName = getDllName(filename);
+
+ std::map<std::string,std::string>::const_iterator
+ it = m_typ2fileName.find(typeName);
+
+ if (it != m_typ2fileName.end())
{
- throw std::runtime_error("unknown type:" + typeName);
+ throw std::runtime_error("typname '" + typeName +"' doppelt bei processtypFile");
}
- std::string filename = it->second;
+ m_typ2fileName[typeName] = filename;
// load the type and create class
- CTypeFunctionTable ft = loadTypeDll(filename);
+ std::pair<CTypeFunctionTable,utils::AutoPtr<utils::SharedLibrary> > p
+ = loadTypeDll(filename);
+ CTypeFunctionTable ft= p.first;
+
+
// lets get the name of the type
utils::StructReader spec(ft.getSpec());
std::string name = spec.getStringValue("name");
+
// and the typeinfo
int bufLen = ft.getInfo(0,0); // how big is it?
char* data = new char[bufLen];
@@ -467,52 +474,7 @@
CTypeClass tc(ft, name, id);
// distribute the new typeclass to the typefactory
- if ( m_typeClassReceiver != 0 )
- m_typeClassReceiver->typeClassLoaded(id, tc);
-
- // broadcast that there is a new type
- if ( m_typeInfoReceiver != 0 )
- m_typeInfoReceiver->typeClassLoaded(id,mi);
- }
-
- void DllLoader::unloadTypeClass(const std::string& /*name*/)
- {
- //TODO
- }
-
- void DllLoader::registerModuleClassInfoReceiver(IModuleClassInfoReceiver& r)
- {
- m_infoReceiver = &r;
- }
-
- void DllLoader::registerModuleClassSpecReceiver(IModuleClassSpecReceiver& r)
- {
- m_specReceiver = &r;
- }
-
- void DllLoader::registerModuleClassReceiver(IModuleClassReceiver& r)
- {
- m_classReceiver = &r;
- }
-
- void DllLoader::registerModuleClassNameReceiver(IModuleClassNameReceiver& r)
- {
- m_nameReceiver = &r;
- }
-
- void DllLoader::registerTypeClassInfoReceiver(ITypeClassInfoReceiver& r)
- {
- m_typeInfoReceiver = &r;
- }
-
- void DllLoader::registerTypeClassReceiver(ITypeClassReceiver& r)
- {
- m_typeClassReceiver = &r;
- }
-
- void DllLoader::registerTypeClassNameReceiver(ITypeClassNameReceiver& r)
- {
- m_typeNameReceiver = &r;
+ m_typeClassReceiver.typeClassLoaded(id, tc);
}
void DllLoader::constructModuleClass(CModuleFunctionTable* fTable,
@@ -792,12 +754,12 @@
m_moduleHandles[name] = sl;
- m_infoReceiver->moduleClassLoaded(name,mi);
+ m_infoReceiver.moduleClassLoaded(name,mi);
CModuleClass cm(*fTable,attributes,name, frei0r, frei0r_plugin_type);
- m_classReceiver->moduleClassLoaded(name, cm);
+ m_classReceiver.moduleClassLoaded(name, cm);
- m_specReceiver->moduleClassLoaded(name,ModuleClassSpec(name,inputs,
+ m_specReceiver.moduleClassLoaded(name,ModuleClassSpec(name,inputs,
defaultVals,
inputIDs,
outputs,
@@ -877,7 +839,23 @@
m_mod2fileName[name] = fname;
- m_nameReceiver->moduleClassNameExists(name);
+ // and load it
+ try
+ {
+ SharedLibraryPtr sl = this->loadDll(fname);
+ if (sl->loadSymbol("update") != 0)
+ {
+ loadModule(sl, name);
+ }
+ else
+ {
+ throw std::runtime_error("Unknown Dll Type.");
+ }
+ }
+ catch (std::runtime_error& e)
+ {
+ m_logger->error("LoadModuleClass", e.what());
+ }
}
@@ -912,24 +890,23 @@
m_f0r2fileName[name] = fname;
- m_nameReceiver->moduleClassNameExists(name);
- }
-
- void DllLoader::processTypFile(const std::string& fname)
- {
- std::string name = getDllName(fname);
-
- std::map<std::string,std::string>::const_iterator
- it = m_typ2fileName.find(name);
-
- if (it != m_typ2fileName.end())
+ // and load it
+ try
+ {
+ frei0r_funs_t f0r;
+ SharedLibraryPtr sl = this->loadDll(fname);
+
+ readFrei0rFuns(sl, f0r);
+
+ loadFrei0r(f0r, sl, name);
+ }
+ catch (std::runtime_error& e)
{
- throw std::runtime_error("typname '" + name +"' doppelt bei processtypFile");
+ m_logger->error("LoadModuleClass", e.what());
}
-
- m_typ2fileName[name] = fname;
-
- m_typeNameReceiver->typeClassNameExists(name);
}
+
+
+
}
--- orig/engine/src/dllloader/dllloader.h
+++ mod/engine/src/dllloader/dllloader.h
@@ -27,17 +27,13 @@
#include <string>
#include <stdexcept>
#include <vector>
+#include <cassert>
-#include "interfaces/imoduleclassloadercontrolreceiver.h"
#include "interfaces/imoduleclassinfosender.h"
#include "interfaces/imoduleclasssender.h"
#include "interfaces/imoduleclassspecsender.h"
-#include "interfaces/imoduleclassnamesender.h"
-#include "interfaces/itypeclassloadercontrolreceiver.h"
-#include "interfaces/itypeclassinfosender.h"
#include "interfaces/itypeclasssender.h"
-#include "interfaces/itypeclassnamesender.h"
#include "utils/autoptr.h"
@@ -62,15 +58,10 @@
* von Typ und Modul dlls.
*/
class DllLoader:
- public IModuleClassLoaderControlReceiver,
- public ITypeClassLoaderControlReceiver,
public IModuleClassInfoSender,
public IModuleClassSpecSender,
public IModuleClassSender,
- public ITypeClassInfoSender,
- public ITypeClassSender,
- public IModuleClassNameSender,
- public ITypeClassNameSender
+ public ITypeClassSender
{
public:
@@ -81,54 +72,57 @@
* Erzeugt neuen DllLoader.
* @param logger used for reporting errors
*/
- DllLoader(utils::AutoPtr<utils::ILogger>& logger);
+ DllLoader(utils::AutoPtr<utils::ILogger>& logger,
+ IModuleClassInfoReceiver&,
+ IModuleClassSpecReceiver&,
+ IModuleClassReceiver&,
+ ITypeClassReceiver&,
+ const std::string& module_path,
+ const std::string& type_path,
+ const std::string& frei0r_path);
virtual ~DllLoader();
+
/**
- * Liest und verarbeitet die module und die typ dateien.
- * Davor sollte der ModuleClassNameReceiver registriert sein !!
+ * call this on connect of ModuleClassInfoReceiver
*/
- void readDlls(const std::vector<std::string>& modules,
- const std::vector<std::string>& types,
- const std::vector<std::string>& frei0rs);
-
- virtual void loadModuleClass(const std::string& name);
- virtual void loadFrei0r(frei0r_funs_t&, SharedLibraryPtr sl,
- const std::string moduleName);
- virtual void unloadModuleClass(const std::string& name);
-
- //TODO: war mal const
virtual void synchronize();
+
+ // TODO remove these functions from the public interfaces
+ void registerModuleClassInfoReceiver(IModuleClassInfoReceiver& r)
+ {assert(false);}
+ void registerModuleClassSpecReceiver(IModuleClassSpecReceiver& r)
+ {assert(false);}
+ void registerModuleClassReceiver(IModuleClassReceiver& r)
+ {assert(false);}
+ void registerTypeClassReceiver(ITypeClassReceiver&)
+ {assert(false);}
+
+ private:
/**
- * Unloads all module and type dlls. Should be called before
- * the listeners are destroyed.
+ * Liest und verarbeitet die module und die typ dateien.
*/
- void unloadAll();
-
- virtual void registerModuleClassInfoReceiver(IModuleClassInfoReceiver&);
- virtual void registerModuleClassSpecReceiver(IModuleClassSpecReceiver&);
- virtual void registerModuleClassReceiver(IModuleClassReceiver&);
- virtual void registerModuleClassNameReceiver(IModuleClassNameReceiver&);
-
- virtual void loadTypeClass(const std::string& name);
- virtual void unloadTypeClass(const std::string& name);
- virtual void registerTypeClassInfoReceiver(ITypeClassInfoReceiver&);
- virtual void registerTypeClassReceiver(ITypeClassReceiver&);
- virtual void registerTypeClassNameReceiver(ITypeClassNameReceiver&);
+ void readDlls(const std::vector<std::string>& modules,
+ const std::vector<std::string>& types,
+ const std::vector<std::string>& frei0rs);
- private:
+
SharedLibraryPtr loadDll(const std::string& filename);
std::string getDllName(const std::string& filename);
+ void loadFrei0r(frei0r_funs_t&, SharedLibraryPtr sl,
+ const std::string moduleName);
+
void loadModule(SharedLibraryPtr,
const std::string& moduleName);
void processModFile(const std::string&);
void processFrei0rFile(const std::string&);
- void processTypFile(const std::string&);
-
+ void processTypeFile(const std::string& name);
+
+
void constructModuleClass(CModuleFunctionTable* fTable,
SharedLibraryPtr sl,
const std::string& moduleName,
@@ -136,14 +130,10 @@
NameResolver* resolver;
- IModuleClassInfoReceiver* m_infoReceiver;
- IModuleClassReceiver* m_classReceiver;
- IModuleClassSpecReceiver* m_specReceiver;
- IModuleClassNameReceiver* m_nameReceiver;
-
- ITypeClassInfoReceiver* m_typeInfoReceiver;
- ITypeClassReceiver* m_typeClassReceiver;
- ITypeClassNameReceiver* m_typeNameReceiver;
+ IModuleClassInfoReceiver& m_infoReceiver;
+ IModuleClassReceiver& m_classReceiver;
+ IModuleClassSpecReceiver& m_specReceiver;
+ ITypeClassReceiver& m_typeClassReceiver;
std::map<std::string,std::string> m_mod2fileName;
std::map<std::string,std::string> m_typ2fileName;
@@ -152,11 +142,8 @@
std::map<std::string,SharedLibraryPtr> m_moduleHandles;
std::map<std::string,utils::AutoPtr<utils::Buffer> > m_moduleInfos;
- //std::map<std::string,SharedLibraryPtr> m_typeHandles;
-
utils::AutoPtr<utils::ILogger> m_logger;
};
-
}
#endif
--- orig/engine/src/dllloader/typedllloader.cpp
+++ mod/engine/src/dllloader/typedllloader.cpp
@@ -64,7 +64,8 @@
}
}
- CTypeFunctionTable loadTypeDll(const std::string& filename)
+ std::pair<CTypeFunctionTable,utils::AutoPtr<utils::SharedLibrary> >
+ loadTypeDll(const std::string& filename)
{
// load shared library file
typedef utils::AutoPtr<utils::SharedLibrary> SharedLibraryPtr;
@@ -125,6 +126,6 @@
throw std::runtime_error("symbol deSerialize missing");
// all symbols are defined
- return ft;
+ return std::make_pair(ft,sl);
}
}
--- orig/engine/src/dllloader/typedllloader.h
+++ mod/engine/src/dllloader/typedllloader.h
@@ -28,7 +28,8 @@
namespace dllloader
{
- CTypeFunctionTable loadTypeDll(const std::string& filename);
+ std::pair<CTypeFunctionTable,utils::AutoPtr<utils::SharedLibrary> >
+ loadTypeDll(const std::string& filename);
}
#endif
--- orig/engine/src/engine/controller.cpp
+++ mod/engine/src/engine/controller.cpp
@@ -35,8 +35,6 @@
#include "netlogger.h"
#include "buffer.h"
-#include "filesystem.h"
-#include "stringtokenizer.h"
namespace engine
{
@@ -53,46 +51,6 @@
net::ISocket** m_socket;
};
- /**
- * Just a hack to automatically load all types that exist.
- */
- class AutoTypeLoader : public ITypeClassNameReceiver
- {
- public:
- AutoTypeLoader(ITypeClassLoaderControlReceiver& typLoader)
- : m_typLoader(typLoader)
- {
- }
-
- void typeClassNameExists(const std::string& name)
- {
- m_typLoader.loadTypeClass(name);
- }
- private:
- ITypeClassLoaderControlReceiver& m_typLoader;
- };
-
-
-/**
- * Just a hack to automatically load all types that exist.
- */
- class AutoModuleLoader : public IModuleClassNameReceiver
- {
- public:
- AutoModuleLoader(IModuleClassLoaderControlReceiver& moduleLoader)
- : m_moduleLoader(moduleLoader)
- {
- }
-
- void moduleClassNameExists(const std::string& name)
- {
- m_moduleLoader.loadModuleClass(name);
- }
- private:
- IModuleClassLoaderControlReceiver& m_moduleLoader;
- };
-
-
auto_stop_task::auto_stop_task(Controller* ctrl, unsigned int ttl)
: m_ctrl(ctrl), m_ttl(ttl), m_time(0)
{
@@ -112,14 +70,6 @@
- /**
- * Returns a vector of all files in a list of paths, that have a certain
- * file ending.
- * Files can be listed more than once if a path of the list is a subpath
- * of another path in the list.
- */
- std::vector<std::string> getFilesInPathList(const std::string& dirName,
- const std::string& ending);
// connect a porttagger and a commandtagger with their receiving
// and sending objects
@@ -127,74 +77,6 @@
net::Protocol& protocol,
PortDispatcher& portDispatcher, int port);
-#if defined(OS_WIN32)
- static const char* MODULE_ENDING = ".dll";
- static const char* TYPE_ENDING = ".dll";
-#elif defined(OS_POSIX)
- static const char* MODULE_ENDING = ".so";
- static const char* TYPE_ENDING = ".so";
-#else
-#error "unknown OS"
-#endif
-
- std::vector<std::string> getFilesInPath(const std::string& dirName,
- const std::string& ending)
- {
- std::vector<std::string> fileNames;
-
- std::list<utils::DirEntry> entries;
- utils::FileSystem::listDir(dirName, entries);
-
- for (std::list<utils::DirEntry>::const_iterator it = entries.begin();
- it != entries.end(); ++it)
- {
- std::string name = it->getName();
-
- if (name == "." || name == "..")
- continue;
-
- if (it->getType() == utils::DirEntry::DIRECTORY)
- {
- std::vector<std::string>
- subfiles= getFilesInPath(name, ending);
-
- fileNames.insert(fileNames.end(),
- subfiles.begin(), subfiles.end());
- }
- else
- {
- if (name.length() > ending.length()
- && name.substr(name.length()-ending.length(),
- ending.length()) == ending)
- {
- fileNames.push_back(dirName + name);
- }
- }
- }
- return fileNames;
- }
-
-std::vector<std::string> getFilesInPathList(const std::string& pathList,
- const std::string& ending)
- {
- std::vector<std::string> files;
-
- utils::StringTokenizer st(pathList);
- std::string path;
-
- while ((path = st.next(";")) != "")
- try
- {
- std::vector<std::string> fs = getFilesInPath(path, ending);
- files.insert(files.end(),fs.begin(), fs.end());
- }
- catch (...)
- {
- // we ignore all paths we cannot open
- }
-
- return files;
- }
void initTaggers(PortTagger& portTagger, CommandTagger& commandTagger,
net::Protocol& protocol,
@@ -216,7 +98,6 @@
tagger3(engineControlSender),
tagger4(modelControlSender),
tagger5(modelControlSender),
- tagger6(moduleClassLoaderControlSender),
tagger7(modelControlSender),
tagger10(modelControlSender),
@@ -236,7 +117,6 @@
graphDataReceiver(tagger15),
controlValueReceiver(tagger4),
moduleStatisticsReceiver(tagger5),
- moduleClassNameReceiver(tagger6),
graphNameReceiver(tagger7),
errorReceiver(tagger10),
@@ -248,12 +128,10 @@
pModel(config.get_string_param("graph_path"), logger),
pRenderer(logger),
- pDllLoader(logger),
first_time(true),
ttl(config.get_int_param("ttl")),
auto_stop(this,ttl)
{
-
net::IServerSocket* serverSocket;
std::string ipcType = config.get_string_param("ipc_type");
@@ -308,7 +186,6 @@
initTaggers(portTagger3, tagger3, protocol, portDispatcher, m_port+2);
initTaggers(portTagger4, tagger4, protocol, portDispatcher, m_port+3);
initTaggers(portTagger5, tagger5, protocol, portDispatcher, m_port+4);
- initTaggers(portTagger6, tagger6, protocol, portDispatcher, m_port+5);
initTaggers(portTagger7, tagger7, protocol, portDispatcher, m_port+6);
initTaggers(portTagger10, tagger10, protocol, portDispatcher, m_port+9);
initTaggers(portTagger13, tagger13, protocol, portDispatcher, m_port+12);
@@ -330,22 +207,8 @@
pRenderer.registerModuleStatisticsSmartReceiver(pModel);
pRenderer.registerRendererStatusReceiver(rendererStatusReceiver);
- pDllLoader.registerModuleClassReceiver(pRenderer);
- pDllLoader.registerModuleClassSpecReceiver(pModel);
- pDllLoader.registerModuleClassInfoReceiver(moduleClassInfoReceiver);
- pDllLoader.registerTypeClassReceiver(pRenderer);
-
modelControlSender.registerModelControlReceiver(pModel);
rendererControlSender.registerRendererControlReceiver(pRenderer);
- moduleClassLoaderControlSender.registerModuleClassLoaderControlReceiver(pDllLoader);
-
- sf = utils::AutoPtr<AutoTypeLoader>(new AutoTypeLoader(pDllLoader));
-
- aml=utils::AutoPtr<AutoModuleLoader>(new AutoModuleLoader(pDllLoader));
- pDllLoader.registerModuleClassNameReceiver(*aml);
-
- pDllLoader.registerTypeClassNameReceiver(*sf);
-
engineControlSender.registerEngineControlReceiver(*this);
@@ -365,29 +228,17 @@
scheduler.addTask(*augmented_render_task,rendererInterval);
-
- // load stuff
- std::string module_path = config.get_string_param("module_path");
- std::vector<std::string> modules = getFilesInPathList(module_path,
- MODULE_ENDING);
-
- std::string type_path = config.get_string_param("type_path");
- std::vector<std::string> types = getFilesInPathList(type_path,
- TYPE_ENDING);
-
-
- std::string frei0r_path = config.get_string_param("frei0r_path");
- std::vector<std::string> frei0rs;
- if (frei0r_path != "")
- frei0rs = getFilesInPathList(frei0r_path, MODULE_ENDING);
+ // load plugins
+ pDllLoader= utils::AutoPtr<dllloader::DllLoader>
+ (new dllloader::DllLoader(logger,
+ moduleClassInfoReceiver,
+ pModel,
+ pRenderer,
+ pRenderer,
+ config.get_string_param("module_path"),
+ config.get_string_param("type_path"),
+ config.get_string_param("frei0r_path")));
- std::cout << "Reading plugins...";
- std::cout.flush();
- pDllLoader.readDlls(modules, types, frei0rs);
- std::cout << " done
";
-
- pDllLoader.registerModuleClassNameReceiver(moduleClassNameReceiver);
-
std::cout << "Reading graphs...";
std::cout.flush();
pModel.updateFileSystem();
@@ -429,7 +280,6 @@
{
try
{
- this->pDllLoader.unloadAll();
disconnect();
}
catch (std::runtime_error& e)
@@ -496,6 +346,9 @@
connection_down = false;
first_time = false;
+
+ // announce loaded plugins
+ pDllLoader->synchronize();
}
if (connection_down && !first_time)
--- orig/engine/src/engine/controller.h
+++ mod/engine/src/engine/controller.h
@@ -24,8 +24,6 @@
#define INCLUDED_CONTROLLER_H
#include "ienginecontrolreceiver.h"
-#include "itypeclassnamereceiver.h"
-#include "imoduleclassnamereceiver.h"
#include "itask.h"
#include "isocket.h"
@@ -35,7 +33,6 @@
#include "graphdatareceivernet.h"
#include "controlvaluereceivernet.h"
#include "modulestatisticsreceivernet.h"
-#include "moduleclassnamereceivernet.h"
#include "modelstatusreceivernet.h"
#include "graphnamereceivernet.h"
#include "errorreceivernet.h"
@@ -51,7 +48,6 @@
#include "modelcontrolsendernet.h"
#include "renderercontrolsendernet.h"
-#include "moduleclassloadercontrolsendernet.h"
#include "enginecontrolsendernet.h"
#include "autoptr.h"
@@ -76,8 +72,6 @@
typedef net::Tagger<uint_32, net::UInt32TagUtil> PortTagger;
typedef net::TagDispatcher<uint_32> PortDispatcher;
- class AutoTypeLoader;
- class AutoModuleLoader;
class Acceptor;
class Controller;
@@ -128,7 +122,6 @@
CommandTagger tagger3;
CommandTagger tagger4;
CommandTagger tagger5;
- CommandTagger tagger6;
CommandTagger tagger7;
CommandTagger tagger10;
@@ -166,7 +159,6 @@
ModelControlSenderNet modelControlSender;
RendererControlSenderNet rendererControlSender;
- ModuleClassLoaderControlSenderNet moduleClassLoaderControlSender;
EngineControlSenderNet engineControlSender;
ModuleConstructionDumbReceiverNet moduleReceiver;
@@ -175,7 +167,6 @@
GraphDataReceiverNet graphDataReceiver;
ControlValueReceiverNet controlValueReceiver;
ModuleStatisticsReceiverNet moduleStatisticsReceiver;
- ModuleClassNameReceiverNet moduleClassNameReceiver;
GraphNameReceiverNet graphNameReceiver;
@@ -187,11 +178,10 @@
utils::AutoPtr<utils::ILogger> logger;
model::Model pModel;
+
+ utils::AutoPtr<dllloader::DllLoader> pDllLoader;
renderer::Renderer pRenderer;
- dllloader::DllLoader pDllLoader;
-
- utils::AutoPtr<AutoTypeLoader> sf;
- utils::AutoPtr<AutoModuleLoader> aml;
+
utils::AutoPtr<synced_tasks> augmented_render_task;
engine::Scheduler scheduler;
--- orig/engine/src/renderer/renderer.h
+++ mod/engine/src/renderer/renderer.h
@@ -124,13 +124,8 @@
void synchronize();
private:
- typedef std::map<const std::string,utils::AutoPtr<RuntimeSystem> > RuntimeSystemMap;
- RuntimeSystemMap graphs;
-
- bool isStarted;
-
- utils::AutoPtr<RuntimeSystem> activeGraph;
- std::string activeGraphName; //TODO
+ bool isStarted;
+ std::string activeGraphName; //TODO
ISmartControlValueReceiver* cvr;
IModuleStatisticsSmartReceiver* msr;
@@ -143,6 +138,11 @@
utils::AutoPtr<RuntimeSystem> find(const std::string& graphID) const;
utils::AutoPtr<utils::ILogger> m_logger;
+
+ typedef std::map<const std::string,utils::AutoPtr<RuntimeSystem> > RuntimeSystemMap;
+ RuntimeSystemMap graphs;
+
+ utils::AutoPtr<RuntimeSystem> activeGraph;
};
}
--- orig/qtgui/src/gui/dialogs/Makefile.am
+++ mod/qtgui/src/gui/dialogs/Makefile.am
@@ -11,7 +11,6 @@
changesdialog.cpp \
changesdialog.h \
changesdialog_h_moc.cpp \
- dllselectordialog_h_moc.cpp \
newgraphdialog_h_moc.cpp
libdialogs_a_SOURCES = \
@@ -21,8 +20,6 @@
changesdialog.ui \
changesdialogimpl.cpp \
changesdialogimpl.h \
- dllselectordialog.cpp \
- dllselectordialog.h \
newgraphdialog.cpp \
newgraphdialog.h
--- orig/qtgui/src/gui/vjmainwindow.cpp
+++ mod/qtgui/src/gui/vjmainwindow.cpp
@@ -45,8 +45,6 @@
#include "picswitch.h"
-#include "dialogs/dllselectordialog.h"
-
#include "dialogs/aboutdialogimpl.h"
#include "dialogs/changesdialogimpl.h"
#include "dialogs/newgraphdialog.h"
@@ -127,7 +125,6 @@
m_kbManager(0),
m_conf_base_dir(conf_base_dir)
{
- createWindows();
createActions();
buildMenuBar();
@@ -206,7 +203,6 @@
void VJMainWindow::connectToRealEngine() throw (std::runtime_error)
{
engineWrapper->connect();
- showPlugInManagerAction->setEnabled(true);
rendererStateAction->setEnabled(true);
//keyGrabStateAction->setEnabled(true);
@@ -222,7 +218,6 @@
void VJMainWindow::disconnectFromRealEngine() throw (std::runtime_error)
{
engineWrapper->disconnect();
- showPlugInManagerAction->setEnabled(false);
rendererStateAction->setEnabled(false);
// keyGrabStateAction->setEnabled(false);
@@ -252,14 +247,6 @@
newGraphAction->setEnabled(false);
connect(newGraphAction,SIGNAL(activated()),this,SLOT(newGraph()));
- showPlugInManagerAction= new QAction(this,"ShowPlugInManagerAction",false);
- showPlugInManagerAction->setText("PlugIn Manager");
- showPlugInManagerAction->setToolTip ("show the plugin-manager dialog");
- showPlugInManagerAction->setEnabled(false);
- showPlugInManagerAction->setToggleAction ( true );
- connect(showPlugInManagerAction,SIGNAL(toggled(bool)),
- m_dllSelector,SLOT(setShown ( bool )));
-
rendererStateAction= new QAction(this,"RendererStateAction",false);
rendererStateAction->setText("start/stop rendering");
rendererStateAction->setToolTip ("starts and stops the renderer");
@@ -320,23 +307,6 @@
connect(changesAction,SIGNAL(activated()),this,SLOT(changesSlot()));
}
-
- void VJMainWindow::createWindows()
- {
- m_dllSelector =
- new DllSelectorDialog(this,"PlugIn Manager Dialog",0,
- engineWrapper->moduleClassLoaderControlReceiver(),
- true);
-
- connect(m_dllSelector, SIGNAL(status(const std::string&)),
- this, SLOT(displayStatusText(const std::string&)));
-
- connect(m_dllSelector, SIGNAL(closed()),
- this, SLOT(dll_selector_closed()));
-
- }
-
-
void VJMainWindow::buildMenuBar(void)
{
QPopupMenu* file = new QPopupMenu(this);
@@ -364,10 +334,6 @@
menuBar()->insertItem("Keyboard", keyboard,4,4);
keyGrabStateAction->addTo(keyboard);*/
- windows = new QPopupMenu(this);
- menuBar()->insertItem("Windows",windows,5,5);
- showPlugInManagerAction->addTo(windows);
-
effectMenue = new QPopupMenu(this);
menuBar()->insertItem("Effects",effectMenue,6,6);
@@ -386,28 +352,22 @@
moduleClassView = new ModuleClassView(effectMenue);
-
- engineWrapper->moduleClassNameSender().registerModuleClassNameReceiver(*m_dllSelector);
-
// moduleClassView->show();
engineWrapper->moduleClassModel().registerModuleClassView(*moduleClassView);
- engineWrapper->moduleClassModel().registerModuleClassView(*m_dllSelector);
//engineWrapper->moduleClassModel().registerModuleClassView(*moduleClassTabView);
}
void VJMainWindow::unbuildModuleBar()
{
- // the dllselector and effectmenue clear themselves
+ // the effectmenue clears itself
// when they receive the syncStarted call
engineWrapper->moduleClassModel().unregisterModuleClassViews();
//engineWrapper->moduleClassNameSender().unregisterModuleClassNameReceiver(); //TODO der wird beim naechsten register automatisch ueberschrieben
- //delete m_dllSelector;
//delete effectMenue;
effectMenue->clear();
- m_dllSelector->clear();
}
void VJMainWindow::buildSceleton()
@@ -700,11 +660,6 @@
dlg->show();
}
- void VJMainWindow::dll_selector_closed()
- {
- showPlugInManagerAction->setOn(false);
- }
-
void VJMainWindow::shutDown()
{
if (connected)
--- orig/qtgui/src/gui/vjmainwindow.h
+++ mod/qtgui/src/gui/vjmainwindow.h
@@ -55,7 +55,6 @@
class PropertyView;
class IPropertyDescription;
class EditorWidget;
- class DllSelectorDialog;
class LogWindow;
class KeyboardManager;
@@ -108,12 +107,10 @@
void shutDown();
void synchronize();
void aboutSlot();
- void changesSlot();
- void dll_selector_closed();
+ void changesSlot();
private:
void createActions(void);
- void createWindows();
void buildMenuBar(void);
void buildModuleBar(void);
void buildSceleton(void);
@@ -127,7 +124,6 @@
// Actions
QAction* quitAction;
- QAction* showPlugInManagerAction;
QAction* newGraphAction;
QAction* rendererStateAction;
@@ -161,7 +157,7 @@
enum {CONNECT_ENGINE,
DISCONNECT_ENGINE, SHUTDOWN_ENGINE, SYNCHRONIZE_ENGINE,
- STARTSTOP_ENGINE, WINDOW_DLL_SELECTOR,
+ STARTSTOP_ENGINE,
KEYGRAB_ON, KEYGRAB_OFF};
QPopupMenu* effectMenue;
@@ -170,13 +166,10 @@
PropertyView* propertyView;
- QPopupMenu* windows;
- QPopupMenu* help;
+ QPopupMenu* help;
int propertyTabID;
- DllSelectorDialog* m_dllSelector;
-
const utils::ConfigManager& m_config;
KeyboardManager* m_kbManager;
--- orig/qtgui/src/guimodel/enginewrapper.cpp
+++ mod/qtgui/src/guimodel/enginewrapper.cpp
@@ -28,7 +28,6 @@
#include "netinterfaces/controlvaluesendernet.h"
#include "netinterfaces/modulestatisticssendernet.h"
-#include "netinterfaces/moduleclassnamesendernet.h"
#include "netinterfaces/moduleclassinfosendernet.h"
#include "netinterfaces/moduledatasendernet.h"
#include "netinterfaces/graphdatasendernet.h"
@@ -42,7 +41,6 @@
#include "netinterfaces/modelcontrolreceivernet.h"
#include "netinterfaces/modelcontrolreceivernet.h"
#include "netinterfaces/renderercontrolreceivernet.h"
-#include "netinterfaces/moduleclassloadercontrolreceivernet.h"
#include "netinterfaces/enginecontrolreceivernet.h"
#include "net/isocket.h"
@@ -78,7 +76,6 @@
gdsn(new GraphDataSenderNet()),
cvsn(new ControlValueSenderNet()),
mssn(new ModuleStatisticsSenderNet()),
- mcnsn(new ModuleClassNameSenderNet()),
gnsn(new GraphNameSenderNet()),
esn(new ErrorSenderNet()),
mstsn(new ModelStatusSenderNet()),
@@ -89,7 +86,6 @@
tagger3(new CommandTagger(*mdsn)),
tagger4(new CommandTagger(*cvsn)),
tagger5(new CommandTagger(*mssn)),
- tagger6(new CommandTagger(*mcnsn)),
tagger7(new CommandTagger(*gnsn)),
tagger10(new CommandTagger(*esn)),
tagger13(new CommandTagger(*mstsn)),
@@ -102,7 +98,6 @@
portTagger3(new PortTagger()),
portTagger4(new PortTagger()),
portTagger5(new PortTagger()),
- portTagger6(new PortTagger()),
portTagger7(new PortTagger()),
portTagger10(new PortTagger()),
portTagger13(new PortTagger()),
@@ -118,7 +113,6 @@
mcrn(new ModelControlReceiverNet(*tagger1)),
rcrn(new RendererControlReceiverNet(*tagger2)),
- mclcrn(new ModuleClassLoaderControlReceiverNet(*tagger6)),
ecrn(new EngineControlReceiverNet(*tagger3)),
gModel(new GraphModel(*mcrn)),
@@ -135,7 +129,6 @@
initTaggers(*portTagger3, *tagger3, *protocol, *portDispatcher, m_port+2);
initTaggers(*portTagger4, *tagger4, *protocol, *portDispatcher, m_port+3);
initTaggers(*portTagger5, *tagger5, *protocol, *portDispatcher, m_port+4);
- initTaggers(*portTagger6, *tagger6, *protocol, *portDispatcher, m_port+5);
initTaggers(*portTagger7, *tagger7, *protocol, *portDispatcher, m_port+6);
initTaggers(*portTagger10,*tagger10,*protocol, *portDispatcher, m_port+9);
initTaggers(*portTagger13,*tagger13,*protocol, *portDispatcher, m_port+12);
@@ -226,7 +219,6 @@
void EngineWrapper::synchronize() const
{
- mclcrn->synchronize();
mcrn->synchronize();
rcrn->synchronize();
}
@@ -236,11 +228,6 @@
return *cvsn;
}
- IModuleClassNameSender& EngineWrapper::moduleClassNameSender()
- {
- return *mcnsn;
- }
-
IModuleStatisticsSender& EngineWrapper::moduleStatisticsSender()
{
return *mssn;
@@ -267,13 +254,6 @@
return *rssn;
}
-
- IModuleClassLoaderControlReceiver&
- EngineWrapper::moduleClassLoaderControlReceiver()
- {
- return *mclcrn;
- }
-
IRendererControlReceiver& EngineWrapper::rendererControlReceiver()
{
return *rcrn;
--- orig/qtgui/src/guimodel/enginewrapper.h
+++ mod/qtgui/src/guimodel/enginewrapper.h
@@ -27,7 +27,6 @@
//#include "interfaces/icontrolvaluesender.h"
//#include "interfaces/imodulestatisticssender.h"
-//#include "interfaces/imoduleclassnamesender.h"
#include "utils/autoptr.h"
@@ -39,7 +38,6 @@
class GraphDataSenderNet;
class ControlValueSenderNet;
class ModuleStatisticsSenderNet;
-class ModuleClassNameSenderNet;
class GraphNameSenderNet;
class ErrorSenderNet;
@@ -49,11 +47,9 @@
class ModelControlReceiverNet;
class RendererControlReceiverNet;
-class ModuleClassLoaderControlReceiverNet;
class EngineControlReceiverNet;
class IControlValueSender;
-class IModuleClassNameSender;
class IModuleStatisticsSender;
class IGraphNameSender;
@@ -62,7 +58,6 @@
class IRendererStatusSender;
-class IModuleClassLoaderControlReceiver;
class IRendererControlReceiver;
class IEngineControlReceiver;
@@ -115,7 +110,6 @@
void synchronize() const;
IControlValueSender& controlValueSender();
- IModuleClassNameSender& moduleClassNameSender();
IModuleStatisticsSender& moduleStatisticsSender();
IGraphNameSender& graphNameSender();
@@ -123,7 +117,6 @@
IModelStatusSender& modelStatusSender();
IRendererStatusSender& rendererStatusSender();
- IModuleClassLoaderControlReceiver& moduleClassLoaderControlReceiver();
IRendererControlReceiver& rendererControlReceiver();
IEngineControlReceiver& engineControlReceiver();
@@ -145,7 +138,6 @@
utils::AutoPtr<GraphDataSenderNet> gdsn;
utils::AutoPtr<ControlValueSenderNet> cvsn;
utils::AutoPtr<ModuleStatisticsSenderNet> mssn;
- utils::AutoPtr<ModuleClassNameSenderNet> mcnsn;
utils::AutoPtr<GraphNameSenderNet> gnsn;
utils::AutoPtr<ErrorSenderNet> esn;
@@ -192,7 +184,6 @@
utils::AutoPtr<ModelControlReceiverNet> mcrn;
utils::AutoPtr<RendererControlReceiverNet> rcrn;
- utils::AutoPtr<ModuleClassLoaderControlReceiverNet> mclcrn;
utils::AutoPtr<EngineControlReceiverNet> ecrn;
utils::AutoPtr<GraphModel> gModel;
More information about the gephex-devel
mailing list