summaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/physfscheckutils.cpp4
-rw-r--r--src/utils/physfsrwops.h86
-rw-r--r--src/utils/virtfsrwops.cpp (renamed from src/utils/physfsrwops.cpp)29
-rw-r--r--src/utils/virtfsrwops.h45
4 files changed, 62 insertions, 102 deletions
diff --git a/src/utils/physfscheckutils.cpp b/src/utils/physfscheckutils.cpp
index 0dc3033eb..3c0382f0c 100644
--- a/src/utils/physfscheckutils.cpp
+++ b/src/utils/physfscheckutils.cpp
@@ -27,7 +27,7 @@
#include "utils/stringutils.h"
#include "utils/physfsmemoryobject.h"
-#include "utils/physfsrwops.h"
+#include "utils/virtfsrwops.h"
#include <map>
@@ -75,7 +75,7 @@ SDL_RWops *FakePHYSFSRWOPS_openRead(const char *restrict const name,
const char *restrict const file,
const unsigned line)
{
- return addRWops(PHYSFSRWOPS_openRead(name), name, file, line);
+ return addRWops(VirtFs::RWopsOpenRead(name), name, file, line);
}
void FakePhysFSClose(SDL_RWops *const rwops)
diff --git a/src/utils/physfsrwops.h b/src/utils/physfsrwops.h
deleted file mode 100644
index 98608458c..000000000
--- a/src/utils/physfsrwops.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * This code provides a glue layer between PhysicsFS and Simple Directmedia
- * Layer's (SDL) RWops i/o abstraction.
- *
- * License: this code is public domain. I make no warranty that it is useful,
- * correct, harmless, or environmentally safe.
- *
- * This particular file may be used however you like, including copying it
- * verbatim into a closed-source project, exploiting it commercially, and
- * removing any trace of my name from the source (although I hope you won't
- * do that). I welcome enhancements and corrections to this file, but I do
- * not require you to send me patches if you make changes. This code has
- * NO WARRANTY.
- *
- * Unless otherwise stated, the rest of PhysicsFS falls under the zlib license.
- * Please see LICENSE.txt in the root of the source tree.
- *
- * SDL falls under the LGPL license. You can get SDL at http://www.libsdl.org/
- *
- * This file was written by Ryan C. Gordon. (icculus@icculus.org).
- *
- * Copyright (C) 2012-2017 The ManaPlus Developers
- */
-
-#ifndef UTILS_PHYSFSRWOPS_H
-#define UTILS_PHYSFSRWOPS_H
-
-#include "localconsts.h"
-
-#include <SDL_rwops.h>
-
-#include "utils/virtfs.h"
-
-/**
- * Open a platform-independent filename for reading, and make it accessible
- * via an SDL_RWops structure. The file will be closed in PhysicsFS when the
- * RWops is closed. PhysicsFS should be configured to your liking before
- * opening files through this method.
- *
- * @param fname File to open in platform-independent notation.
- * @return A valid SDL_RWops structure on success, NULL on error. Specifics
- * of the error can be gleaned from PHYSFS_getLastError().
- */
-SDL_RWops *PHYSFSRWOPS_openRead(const char *const fname) A_WARN_UNUSED;
-
-/**
- * Open a platform-independent filename for writing, and make it accessible
- * via an SDL_RWops structure. The file will be closed in PhysicsFS when the
- * RWops is closed. PhysicsFS should be configured to your liking before
- * opening files through this method.
- *
- * @param fname File to open in platform-independent notation.
- * @return A valid SDL_RWops structure on success, NULL on error. Specifics
- * of the error can be gleaned from PHYSFS_getLastError().
- */
-SDL_RWops *PHYSFSRWOPS_openWrite(const char *const fname) A_WARN_UNUSED;
-
-/**
- * Open a platform-independent filename for appending, and make it accessible
- * via an SDL_RWops structure. The file will be closed in PhysicsFS when the
- * RWops is closed. PhysicsFS should be configured to your liking before
- * opening files through this method.
- *
- * @param fname File to open in platform-independent notation.
- * @return A valid SDL_RWops structure on success, NULL on error. Specifics
- * of the error can be gleaned from PHYSFS_getLastError().
- */
-SDL_RWops *PHYSFSRWOPS_openAppend(const char *const fname) A_WARN_UNUSED;
-
-/**
- * Make a SDL_RWops from an existing PhysicsFS file handle. You should
- * dispose of any references to the handle after successful creation of
- * the RWops. The actual PhysicsFS handle will be destroyed when the
- * RWops is closed.
- *
- * @param handle a valid PhysicsFS file handle.
- * @return A valid SDL_RWops structure on success, NULL on error. Specifics
- * of the error can be gleaned from PHYSFS_getLastError().
- */
-SDL_RWops *PHYSFSRWOPS_makeRWops(PHYSFS_file *const handle) A_WARN_UNUSED;
-
-#ifdef DUMP_LEAKED_RESOURCES
-void reportRWops();
-#endif // DUMP_LEAKED_RESOURCES
-
-#endif // UTILS_PHYSFSRWOPS_H
diff --git a/src/utils/physfsrwops.cpp b/src/utils/virtfsrwops.cpp
index e642f71aa..adcfa2784 100644
--- a/src/utils/physfsrwops.cpp
+++ b/src/utils/virtfsrwops.cpp
@@ -22,7 +22,7 @@
* Copyright (C) 2012-2017 The ManaPlus Developers
*/
-#include "utils/physfsrwops.h"
+#include "utils/virtfsrwops.h"
#include "logger.h"
@@ -43,7 +43,8 @@
static int openedRWops = 0;
#endif // DUMP_LEAKED_RESOURCES
-static PHYSFSINT physfsrwops_seek(SDL_RWops *const rw, const PHYSFSINT offset,
+static PHYSFSINT physfsrwops_seek(SDL_RWops *const rw,
+ const PHYSFSINT offset,
const int whence)
{
if (!rw)
@@ -234,13 +235,13 @@ static SDL_RWops *create_rwops(PHYSFS_file *const handle)
return retval;
} /* create_rwops */
-SDL_RWops *PHYSFSRWOPS_makeRWops(PHYSFS_file *const handle)
+SDL_RWops *VirtFs::MakeRWops(PHYSFS_file *const handle)
{
SDL_RWops *retval = nullptr;
if (!handle)
{
logger->assertLog("physfsrwops_seek: NULL pointer passed to "
- "PHYSFSRWOPS_makeRWops().");
+ "RWopsmakeRWops().");
}
else
{
@@ -248,7 +249,7 @@ SDL_RWops *PHYSFSRWOPS_makeRWops(PHYSFS_file *const handle)
}
return retval;
-} /* PHYSFSRWOPS_makeRWops */
+} /* RWopsmakeRWops */
#ifdef __APPLE__
static bool checkFilePath(const char *const fname)
@@ -261,9 +262,9 @@ static bool checkFilePath(const char *const fname)
}
#endif // __APPLE__
-SDL_RWops *PHYSFSRWOPS_openRead(const char *const fname)
+SDL_RWops *VirtFs::RWopsOpenRead(const char *const fname)
{
- BLOCK_START("PHYSFSRWOPS_openRead")
+ BLOCK_START("RWopsopenRead")
#ifdef __APPLE__
if (!checkFilePath(fname))
return nullptr;
@@ -274,15 +275,15 @@ SDL_RWops *PHYSFSRWOPS_openRead(const char *const fname)
#endif // USE_FUZZER
#ifdef USE_PROFILER
SDL_RWops *const ret = create_rwops(VirtFs::openRead(fname));
- BLOCK_END("PHYSFSRWOPS_openRead")
+ BLOCK_END("RWopsopenRead")
return ret;
#else // USE_PROFILER
return create_rwops(VirtFs::openRead(fname));
#endif // USE_PROFILER
-} /* PHYSFSRWOPS_openRead */
+} /* RWopsopenRead */
-SDL_RWops *PHYSFSRWOPS_openWrite(const char *const fname)
+SDL_RWops *VirtFs::RWopsOpenWrite(const char *const fname)
{
#ifdef __APPLE__
if (!checkFilePath(fname))
@@ -290,9 +291,9 @@ SDL_RWops *PHYSFSRWOPS_openWrite(const char *const fname)
#endif // __APPLE__
return create_rwops(VirtFs::openWrite(fname));
-} /* PHYSFSRWOPS_openWrite */
+} /* RWopsopenWrite */
-SDL_RWops *PHYSFSRWOPS_openAppend(const char *const fname)
+SDL_RWops *VirtFs::RWopsOpenAppend(const char *const fname)
{
#ifdef __APPLE__
if (!checkFilePath(fname))
@@ -300,10 +301,10 @@ SDL_RWops *PHYSFSRWOPS_openAppend(const char *const fname)
#endif // __APPLE__
return create_rwops(VirtFs::openAppend(fname));
-} /* PHYSFSRWOPS_openAppend */
+} /* RWopsopenAppend */
#ifdef DUMP_LEAKED_RESOURCES
-void reportRWops()
+void VirtFs::reportRWops()
{
if (openedRWops)
{
diff --git a/src/utils/virtfsrwops.h b/src/utils/virtfsrwops.h
new file mode 100644
index 000000000..83aa79996
--- /dev/null
+++ b/src/utils/virtfsrwops.h
@@ -0,0 +1,45 @@
+/*
+ * This code provides a glue layer between PhysicsFS and Simple Directmedia
+ * Layer's (SDL) RWops i/o abstraction.
+ *
+ * License: this code is public domain. I make no warranty that it is useful,
+ * correct, harmless, or environmentally safe.
+ *
+ * This particular file may be used however you like, including copying it
+ * verbatim into a closed-source project, exploiting it commercially, and
+ * removing any trace of my name from the source (although I hope you won't
+ * do that). I welcome enhancements and corrections to this file, but I do
+ * not require you to send me patches if you make changes. This code has
+ * NO WARRANTY.
+ *
+ * Unless otherwise stated, the rest of PhysicsFS falls under the zlib license.
+ * Please see LICENSE.txt in the root of the source tree.
+ *
+ * SDL falls under the LGPL license. You can get SDL at http://www.libsdl.org/
+ *
+ * This file was written by Ryan C. Gordon. (icculus@icculus.org).
+ *
+ * Copyright (C) 2012-2017 The ManaPlus Developers
+ */
+
+#ifndef UTILS_PHYSFSRWOPS_H
+#define UTILS_PHYSFSRWOPS_H
+
+#include "localconsts.h"
+
+#include <SDL_rwops.h>
+
+#include "utils/virtfs.h"
+
+namespace VirtFs
+{
+ SDL_RWops *RWopsOpenRead(const char *const fname) A_WARN_UNUSED;
+ SDL_RWops *RWopsOpenWrite(const char *const fname) A_WARN_UNUSED;
+ SDL_RWops *RWopsOpenAppend(const char *const fname) A_WARN_UNUSED;
+ SDL_RWops *MakeRWops(PHYSFS_file *const handle) A_WARN_UNUSED;
+#ifdef DUMP_LEAKED_RESOURCES
+ void reportRWops();
+#endif // DUMP_LEAKED_RESOURCES
+} // namespace VirtFs
+
+#endif // UTILS_PHYSFSRWOPS_H