aboutsummaryrefslogtreecommitdiff
path: root/engines/sword25/kernel
diff options
context:
space:
mode:
authorPaul Gilbert2010-07-31 07:14:47 +0000
committerEugene Sandulenko2010-10-12 22:00:10 +0000
commitee24f79ca122a82780f03fdf068d5c271cfe82a5 (patch)
tree908f13ce65acdb8a139321eaf111d6ff68573135 /engines/sword25/kernel
parente78b19a650e27fe9a24d0e4c9c938294c7b08650 (diff)
downloadscummvm-rg350-ee24f79ca122a82780f03fdf068d5c271cfe82a5.tar.gz
scummvm-rg350-ee24f79ca122a82780f03fdf068d5c271cfe82a5.tar.bz2
scummvm-rg350-ee24f79ca122a82780f03fdf068d5c271cfe82a5.zip
SWORD25: Added and fixed the remaining engine setup/execution/free code
svn-id: r53185
Diffstat (limited to 'engines/sword25/kernel')
-rwxr-xr-xengines/sword25/kernel/filesystemutil.h151
1 files changed, 73 insertions, 78 deletions
diff --git a/engines/sword25/kernel/filesystemutil.h b/engines/sword25/kernel/filesystemutil.h
index 1835698d14..2c650e2af2 100755
--- a/engines/sword25/kernel/filesystemutil.h
+++ b/engines/sword25/kernel/filesystemutil.h
@@ -1,29 +1,33 @@
-// -----------------------------------------------------------------------------
-// This file is part of Broken Sword 2.5
-// Copyright (c) Malte Thiesen, Daniel Queteschiner and Michael Elsdörfer
-//
-// Broken Sword 2.5 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.
-//
-// Broken Sword 2.5 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 Broken Sword 2.5; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-// -----------------------------------------------------------------------------
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * 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.
-/*
- Die Klasse BS_FileSystemUtil stellt einen Wrapper für dateisystemspezifische Operationen dar, die nicht über die C/C++ Bibliotheken
- abgedeckt werden.
+ * 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.
- Jede unterstützte Plattform muss dieses Interface implementieren und die Singleton-Methode BS_FileSystemUtil::GetInstance()
- implementieren.
-*/
+ * 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.
+ *
+ * $URL$
+ * $Id$
+ *
+ *
+ * The class BS_FileSystemUtil represents a wrapper for file system specific
+ * operations that do not have equivalents in the C/C++ libraries.
+ *
+ * Each supported platform must implement this interface, and the method
+ * BS_FileSystemUtil Singleton::getInstance()
+ */
#ifndef SWORD25_FILESYSTEMUTIL_H
#define SWORD25_FILESYSTEMUTIL_H
@@ -32,71 +36,62 @@
// Includes
// -----------------------------------------------------------------------------
+#include "common/str.h"
#include "sword25/kernel/common.h"
#include "sword25/kernel/bs_stdint.h"
-#include "sword25/kernel/memlog_off.h"
-#include <string>
-#include <vector>
-#include <ctime>
-#include "sword25/kernel/memlog_on.h"
-
// -----------------------------------------------------------------------------
-// Klassendefinition
+// Class definitions
// -----------------------------------------------------------------------------
class BS_FileSystemUtil
{
public:
- static BS_FileSystemUtil & GetInstance();
+ static BS_FileSystemUtil &GetInstance();
virtual ~BS_FileSystemUtil() {};
- /*
- Diese Funktion gibt den Namen des Verzeichnisses zurück, in dem sämtliche Benutzerdaten gespeichert werden sollen.
-
- Dieses sind z.B. Screenshots, Spielstände, Konfigurationsdateien, Logdateien, ...
- Unter Windows Vista ist dieses beispielsweise: C:\Users\Malte\Documents\Broken Sword 2.5
- Falls dieses Verzeichnis noch nicht existiert, wird es automatisch erstellt.
-
- @return Gibt den Namen des Verzeichnisses für Benutzerdaten zurück.
- */
- virtual std::string GetUserdataDirectory() = 0;
- /*
- @return Gibt den Pfadtrenner zurück (z.B. \ unter Windows und / unter Linux).
- */
- virtual std::string GetPathSeparator() = 0;
- /*
- @param Filename der Pfad zu einer Datei.
- @return Gibt die Größe der angegebenen Datei zurück. Falls die Größe nicht bestimmt werden konnte, oder die Datei nicht existiert wird -1 zurückgegeben.
- */
- virtual uint64_t GetFileSize(const std::string & Filename) = 0;
- /*
- @param Filename der Pfad zu einer Datei.
- @return Gibt den Zeitstempel des Zeitpunktes zurück an dem die Datei zuletzt verändert wurde. Bei einem Fehler wird 0 zurückgegeben.
- */
- virtual time_t GetFileTime(const std::string & Filename) = 0;
- /*
- @param Filename der Pfad zu einer Datei.
- @return Gibt true zurück, wenn die Datei existiert.
- */
- virtual bool FileExists(const std::string & Filename) = 0;
- /*
- Diese Funktion erstellt einen Verzeichnis mit sämtlichen Unterverzeichnissen.
-
- Wenn des Parameter "\b\c\d\e" ist und der Pfad "\b\c" bereits existiert, werden die Verzeichnisse
- "d" und "e" erstellt.
-
- @param DirectoryName der Name des zu erstellenden Verzeichnisses.
- @return Gibt true zurück, wenn die Verzeichnisse erstellt werden konnten, ansonsten false.
- */
- virtual bool CreateDirectory(const std::string & DirectoryName) = 0;
- /*
- Erstellt eine Liste aller Dateinamen in einem Verzeichnis.
-
- @param Directory das zu durchsuchende Verzeichnis.
- @return Gibt einen vector mit allen gefundenen Dateinamen zurück.
- */
- virtual std::vector<std::string> GetFilesInDirectory(const std::string & Path) = 0;
+ /**
+ * This function returns the name of the directory in which all user data is to be stored.
+ *
+ * These are for example Screenshots, game saves, configuration files, log files, ...
+ * @return Returns the name of the directory for user data.
+ */
+ virtual Common::String GetUserdataDirectory() = 0;
+ /**
+ * @return Returns the path seperator
+ */
+ virtual Common::String GetPathSeparator() = 0;
+ /**
+ * @param Filename The path to a file.
+ * @return Returns the size of the specified file. If the size could not be
+ * determined, or the file does not exist, returns -1
+ */
+ virtual uint64_t GetFileSize(const Common::String &Filename) = 0;
+ /**
+ * @param Filename The path to a file.
+ * @return Returns the timestamp of the specified file. On error it returns 0
+ */
+ virtual time_t GetFileTime(const Common::String &Filename) = 0;
+ /**
+ * @param Filename The path to a file.
+ * @return Returns true if the file exists.
+ */
+ virtual bool FileExists(const Common::String &Filename) = 0;
+ /**
+ * This function creates a directory
+ *
+ * If the parameter is "\b\c\d\e" is passed, and "\b\c" already exists, then folder 'd'
+ * will be created, and subdirectory 'e' under it.
+ * @param DirectoryName The name of the directory to be created
+ * @return Returns true if the folder(s) could be created, otherwise false.
+ */
+ virtual bool CreateDirectory(const Common::String &DirectoryName) = 0;
+ /**
+ * Creates a list of filenames in a given directory.
+ * @param Directory The directory to search
+ * @return Returns a vector containing all of the found filenames
+ */
+ virtual Common::StringArray GetFilesInDirectory(const Common::String &Path) = 0;
};
#endif