[Scummvm-cvs-logs] SF.net SVN: scummvm: [28027] scummex/branches/gsoc2007-gameresbrowser/src

zbychs at users.sourceforge.net zbychs at users.sourceforge.net
Wed Jul 11 15:09:31 CEST 2007


Revision: 28027
          http://scummvm.svn.sourceforge.net/scummvm/?rev=28027&view=rev
Author:   zbychs
Date:     2007-07-11 06:09:31 -0700 (Wed, 11 Jul 2007)

Log Message:
-----------
Changing the project structure.
The building is broken at the moment.
Last good version is 28025.

Added Paths:
-----------
    scummex/branches/gsoc2007-gameresbrowser/src/browser/FileTypeRegistry.h
    scummex/branches/gsoc2007-gameresbrowser/src/browser/ftregistry.cpp

Removed Paths:
-------------
    scummex/branches/gsoc2007-gameresbrowser/src/core/FileTypeRegistry.h
    scummex/branches/gsoc2007-gameresbrowser/src/core/ftregistry.cpp

Copied: scummex/branches/gsoc2007-gameresbrowser/src/browser/FileTypeRegistry.h (from rev 28026, scummex/branches/gsoc2007-gameresbrowser/src/core/FileTypeRegistry.h)
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/browser/FileTypeRegistry.h	                        (rev 0)
+++ scummex/branches/gsoc2007-gameresbrowser/src/browser/FileTypeRegistry.h	2007-07-11 13:09:31 UTC (rev 28027)
@@ -0,0 +1,54 @@
+/////////////////////////////////////////////////////////////////////////////
+// FileTypeRegistry.h
+//
+// Declares FileTypeRegistry
+// Plugins are registered into FileTypeRegistry by ObjectRegistry.
+//
+
+#pragma once
+#ifndef _FILE_TYPE_REGISTRY_H_
+#define _FILE_TYPE_REGISTRY_H_
+
+#include "plugin.h"
+
+#include "FileTypeRecognizer.h"
+
+#include <list>
+
+namespace Browser {
+
+/////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////
+// The FileTypeRegistry
+
+class VirtualFile;
+
+class FileTypeRegistry {
+public:
+	typedef std::list< RCPtr<BObject> > object_list;
+	object_list _recognizers;
+	object_list _resolvers;
+
+	void registerPlugins();
+
+	//return properly sorted list of fileTypes
+	RecognizedFileTypes recognizeFileType(VirtualFile* file);
+
+	guid_list resolveParsers(VirtualFile* file, RecognizedFileType& outFileType);
+
+	ResolvedFileTypeParsers resolveParsers(const BGUID& fileType);
+
+	static FileTypeRegistry* get();
+	static void release();
+private:
+	static FileTypeRegistry* _instance;
+	FileTypeRegistry() {}
+
+};
+
+/////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////
+
+} // namespace Browser
+
+#endif /* _FILE_TYPE_REGISTRY_H_ */

Copied: scummex/branches/gsoc2007-gameresbrowser/src/browser/ftregistry.cpp (from rev 28026, scummex/branches/gsoc2007-gameresbrowser/src/core/ftregistry.cpp)
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/browser/ftregistry.cpp	                        (rev 0)
+++ scummex/branches/gsoc2007-gameresbrowser/src/browser/ftregistry.cpp	2007-07-11 13:09:31 UTC (rev 28027)
@@ -0,0 +1,151 @@
+/////////////////////////////////////////////////////////////////////////////
+// FileTypeRegistry.cpp
+//
+// Declares FileTypeRegistry
+// Plugins are registered into FileTypeRegistry by ObjectRegistry.
+//
+
+#include "plugins_stdafx.h"
+
+#include "FileTypeRegistry.h"
+#include "ObjectRegistry.h"
+
+#include <algorithm>
+#include <vector>
+
+#include "debugmem.h"
+
+namespace Browser {
+
+/////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////
+// The FileTypeRegistry
+
+FileTypeRegistry* FileTypeRegistry::_instance = NULL;
+
+/*static*/ FileTypeRegistry* FileTypeRegistry::get() {
+	if (!_instance)
+		_instance = new FileTypeRegistry();
+
+	return _instance;
+}
+
+/*static*/ void FileTypeRegistry::release() {
+	if (_instance)
+		delete _instance;
+	_instance = NULL;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////
+// Plugin registration
+
+void FileTypeRegistry::registerPlugins() {
+
+	std::list<const ObjectPlugin*> plugins;
+	std::list<const ObjectPlugin*>::const_iterator j;
+	object_list::iterator i;
+	
+	plugins = ObjectRegistry::get()->findObjectsWithFlags(IS_FILE_TYPE_RECOGNIZER);
+	for (j = plugins.begin(); j != plugins.end(); ++j) {
+		const ObjectPlugin* oplug = *j;
+		const BGUID& objGUID = oplug->getObjectGUID();
+		for (i = _recognizers.begin(); i != _recognizers.end(); ++i) {
+			RCPtr<BObject> recognizer = *i;
+			if (recognizer->get_GUID() == objGUID)
+				goto skip_recognizer;
+		}
+		RCPtr<BObject> recognizer( oplug->newInstance() );
+		_recognizers.push_back(recognizer);
+skip_recognizer:
+	}
+
+	plugins = ObjectRegistry::get()->findObjectsWithFlags(IS_FILE_TYPE_RESOLVER);
+	for (j = plugins.begin(); j != plugins.end(); ++j) {
+		const ObjectPlugin* oplug = *j;
+		const BGUID& objGUID = oplug->getObjectGUID();
+		for (i = _resolvers.begin(); i != _resolvers.end(); ++i) {
+			RCPtr<BObject> resolver = *i;
+			if (resolver->get_GUID() == objGUID)
+				goto skip_resolver;
+		}
+		RCPtr<BObject> resolver( oplug->newInstance() );
+		_resolvers.push_back(resolver);
+skip_resolver:
+	}
+}
+
+/////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////
+// File type recognition
+
+//return properly sorted list of fileTypes
+RecognizedFileTypes FileTypeRegistry::recognizeFileType(VirtualFile* file) {
+	RecognizedFileTypes fileTypes;
+
+	object_list::iterator i;
+	for (i = _recognizers.begin(); i != _recognizers.end(); ++i) {
+		BObject* obj = (*i).get();
+		FileTypeRecognizer* recognizer = dynamic_cast<FileTypeRecognizer*>(obj);
+		ASSERT(recognizer);
+		RecognizedFileType fileType = recognizer->recognize(file);
+		if (fileType.isOk())
+			fileTypes.push_back( fileType );
+	}
+
+	//FIXME: VC++'s STL can't sort std::list - Ughhh...
+	std::vector<RecognizedFileType> types( fileTypes.begin(), fileTypes.end() );
+	std::sort( types.begin(), types.end() );
+	RecognizedFileTypes outTypes( types.begin(), types.end() );
+
+	return outTypes;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////
+// Parser resolving
+
+guid_list FileTypeRegistry::resolveParsers(VirtualFile* file, RecognizedFileType& outFileType) {
+	RecognizedFileTypes fileTypes( recognizeFileType(file) );
+
+	RecognizedFileTypes::iterator i;
+	for (i = fileTypes.begin(); i != fileTypes.end(); ++i) {
+		BGUID fileType = i->getFileTypeGUID();
+
+		ResolvedFileTypeParsers parsers( resolveParsers(fileType) );
+		if (parsers.isOk()) {
+			outFileType = *i;
+			return parsers._parserGUIDs;
+		}
+	}
+
+	outFileType = RecognizedFileType::NotRecognized();
+	return guid_list();
+}
+
+ResolvedFileTypeParsers FileTypeRegistry::resolveParsers(const BGUID& fileType) {
+	ResolvedFileTypeParsers bestParsers(ResolvedFileTypeParsers::NoParsers());
+
+	object_list::iterator i;
+	for (i = _resolvers.begin(); i != _resolvers.end(); ++i) {
+		BObject* obj = (*i).get();
+		FileTypeParserResolver* resolver = dynamic_cast<FileTypeParserResolver*>(obj);
+		ASSERT(resolver);
+		ResolvedFileTypeParsers parsers = resolver->resolve(fileType);
+		if (parsers.isOk()) {
+			if (!bestParsers.isOk())
+				bestParsers = parsers;
+			if (parsers < bestParsers)
+				bestParsers = parsers;
+			if (bestParsers._priority == IDEAL_PARSERS)
+				return bestParsers;
+		}
+	}
+
+	return bestParsers;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////
+
+} // namespace Browser

Deleted: scummex/branches/gsoc2007-gameresbrowser/src/core/FileTypeRegistry.h
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/FileTypeRegistry.h	2007-07-11 13:04:06 UTC (rev 28026)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/FileTypeRegistry.h	2007-07-11 13:09:31 UTC (rev 28027)
@@ -1,54 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-// FileTypeRegistry.h
-//
-// Declares FileTypeRegistry
-// Plugins are registered into FileTypeRegistry by ObjectRegistry.
-//
-
-#pragma once
-#ifndef _FILE_TYPE_REGISTRY_H_
-#define _FILE_TYPE_REGISTRY_H_
-
-#include "plugin.h"
-
-#include "FileTypeRecognizer.h"
-
-#include <list>
-
-namespace Browser {
-
-/////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////
-// The FileTypeRegistry
-
-class VirtualFile;
-
-class FileTypeRegistry {
-public:
-	typedef std::list< RCPtr<BObject> > object_list;
-	object_list _recognizers;
-	object_list _resolvers;
-
-	void registerPlugins();
-
-	//return properly sorted list of fileTypes
-	RecognizedFileTypes recognizeFileType(VirtualFile* file);
-
-	guid_list resolveParsers(VirtualFile* file, RecognizedFileType& outFileType);
-
-	ResolvedFileTypeParsers resolveParsers(const BGUID& fileType);
-
-	static FileTypeRegistry* get();
-	static void release();
-private:
-	static FileTypeRegistry* _instance;
-	FileTypeRegistry() {}
-
-};
-
-/////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////
-
-} // namespace Browser
-
-#endif /* _FILE_TYPE_REGISTRY_H_ */

Deleted: scummex/branches/gsoc2007-gameresbrowser/src/core/ftregistry.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/ftregistry.cpp	2007-07-11 13:04:06 UTC (rev 28026)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/ftregistry.cpp	2007-07-11 13:09:31 UTC (rev 28027)
@@ -1,151 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-// FileTypeRegistry.cpp
-//
-// Declares FileTypeRegistry
-// Plugins are registered into FileTypeRegistry by ObjectRegistry.
-//
-
-#include "plugins_stdafx.h"
-
-#include "FileTypeRegistry.h"
-#include "ObjectRegistry.h"
-
-#include <algorithm>
-#include <vector>
-
-#include "debugmem.h"
-
-namespace Browser {
-
-/////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////
-// The FileTypeRegistry
-
-FileTypeRegistry* FileTypeRegistry::_instance = NULL;
-
-/*static*/ FileTypeRegistry* FileTypeRegistry::get() {
-	if (!_instance)
-		_instance = new FileTypeRegistry();
-
-	return _instance;
-}
-
-/*static*/ void FileTypeRegistry::release() {
-	if (_instance)
-		delete _instance;
-	_instance = NULL;
-}
-
-/////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////
-// Plugin registration
-
-void FileTypeRegistry::registerPlugins() {
-
-	std::list<const ObjectPlugin*> plugins;
-	std::list<const ObjectPlugin*>::const_iterator j;
-	object_list::iterator i;
-	
-	plugins = ObjectRegistry::get()->findObjectsWithFlags(IS_FILE_TYPE_RECOGNIZER);
-	for (j = plugins.begin(); j != plugins.end(); ++j) {
-		const ObjectPlugin* oplug = *j;
-		const BGUID& objGUID = oplug->getObjectGUID();
-		for (i = _recognizers.begin(); i != _recognizers.end(); ++i) {
-			RCPtr<BObject> recognizer = *i;
-			if (recognizer->get_GUID() == objGUID)
-				goto skip_recognizer;
-		}
-		RCPtr<BObject> recognizer( oplug->newInstance() );
-		_recognizers.push_back(recognizer);
-skip_recognizer:
-	}
-
-	plugins = ObjectRegistry::get()->findObjectsWithFlags(IS_FILE_TYPE_RESOLVER);
-	for (j = plugins.begin(); j != plugins.end(); ++j) {
-		const ObjectPlugin* oplug = *j;
-		const BGUID& objGUID = oplug->getObjectGUID();
-		for (i = _resolvers.begin(); i != _resolvers.end(); ++i) {
-			RCPtr<BObject> resolver = *i;
-			if (resolver->get_GUID() == objGUID)
-				goto skip_resolver;
-		}
-		RCPtr<BObject> resolver( oplug->newInstance() );
-		_resolvers.push_back(resolver);
-skip_resolver:
-	}
-}
-
-/////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////
-// File type recognition
-
-//return properly sorted list of fileTypes
-RecognizedFileTypes FileTypeRegistry::recognizeFileType(VirtualFile* file) {
-	RecognizedFileTypes fileTypes;
-
-	object_list::iterator i;
-	for (i = _recognizers.begin(); i != _recognizers.end(); ++i) {
-		BObject* obj = (*i).get();
-		FileTypeRecognizer* recognizer = dynamic_cast<FileTypeRecognizer*>(obj);
-		ASSERT(recognizer);
-		RecognizedFileType fileType = recognizer->recognize(file);
-		if (fileType.isOk())
-			fileTypes.push_back( fileType );
-	}
-
-	//FIXME: VC++'s STL can't sort std::list - Ughhh...
-	std::vector<RecognizedFileType> types( fileTypes.begin(), fileTypes.end() );
-	std::sort( types.begin(), types.end() );
-	RecognizedFileTypes outTypes( types.begin(), types.end() );
-
-	return outTypes;
-}
-
-/////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////
-// Parser resolving
-
-guid_list FileTypeRegistry::resolveParsers(VirtualFile* file, RecognizedFileType& outFileType) {
-	RecognizedFileTypes fileTypes( recognizeFileType(file) );
-
-	RecognizedFileTypes::iterator i;
-	for (i = fileTypes.begin(); i != fileTypes.end(); ++i) {
-		BGUID fileType = i->getFileTypeGUID();
-
-		ResolvedFileTypeParsers parsers( resolveParsers(fileType) );
-		if (parsers.isOk()) {
-			outFileType = *i;
-			return parsers._parserGUIDs;
-		}
-	}
-
-	outFileType = RecognizedFileType::NotRecognized();
-	return guid_list();
-}
-
-ResolvedFileTypeParsers FileTypeRegistry::resolveParsers(const BGUID& fileType) {
-	ResolvedFileTypeParsers bestParsers(ResolvedFileTypeParsers::NoParsers());
-
-	object_list::iterator i;
-	for (i = _resolvers.begin(); i != _resolvers.end(); ++i) {
-		BObject* obj = (*i).get();
-		FileTypeParserResolver* resolver = dynamic_cast<FileTypeParserResolver*>(obj);
-		ASSERT(resolver);
-		ResolvedFileTypeParsers parsers = resolver->resolve(fileType);
-		if (parsers.isOk()) {
-			if (!bestParsers.isOk())
-				bestParsers = parsers;
-			if (parsers < bestParsers)
-				bestParsers = parsers;
-			if (bestParsers._priority == IDEAL_PARSERS)
-				return bestParsers;
-		}
-	}
-
-	return bestParsers;
-}
-
-/////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////
-
-} // namespace Browser


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list