From de1e941370b7e2fad704e072eccfb79b3db1399b Mon Sep 17 00:00:00 2001 From: Tony Puccinelli Date: Sat, 7 Aug 2010 22:27:23 +0000 Subject: refined constructors, removed destructors, got rid of unneccessary method duplication in DLObject and its subtypes svn-id: r51845 --- backends/plugins/ds/ds-provider.cpp | 36 ++---------------------------------- 1 file changed, 2 insertions(+), 34 deletions(-) (limited to 'backends/plugins/ds') diff --git a/backends/plugins/ds/ds-provider.cpp b/backends/plugins/ds/ds-provider.cpp index 66e063f151..7365a2e6e9 100644 --- a/backends/plugins/ds/ds-provider.cpp +++ b/backends/plugins/ds/ds-provider.cpp @@ -32,41 +32,9 @@ class DSPlugin : public ELFPlugin { public: - DSPlugin(const Common::String &filename) { - _dlHandle = 0; - _filename = filename; - } + DSPlugin(const Common::String &filename) : ELFPlugin(filename) {} - ~DSPlugin() { - if (_dlHandle) - unloadPlugin(); - } - - bool loadPlugin(); -}; - -bool DSPlugin::loadPlugin() { - assert(!_dlHandle); - DLObject *obj = new ARMDLObject(); - if (obj->open(_filename.c_str())) { - _dlHandle = obj; - } else { - delete obj; - _dlHandle = NULL; - } - - if (!_dlHandle) { - warning("Failed loading plugin '%s'", _filename.c_str()); - return false; - } - - bool ret = DynamicPlugin::loadPlugin(); - - if (ret && _dlHandle) { - _dlHandle->discard_symtab(); - } - - return ret; + DLObject *makeDLObject() { return new ARMDLObject(); } }; Plugin* DSPluginProvider::createPlugin(const Common::FSNode &node) const { -- cgit v1.2.3