summaryrefslogtreecommitdiff
path: root/src/fs/virtfs
diff options
context:
space:
mode:
Diffstat (limited to 'src/fs/virtfs')
-rw-r--r--src/fs/virtfs/virtfile.cpp36
-rw-r--r--src/fs/virtfs/virtfile.h41
-rw-r--r--src/fs/virtfs/virtfs.cpp6
-rw-r--r--src/fs/virtfs/virtfsdir.cpp6
-rw-r--r--src/fs/virtfs/virtfszip.cpp5
5 files changed, 85 insertions, 9 deletions
diff --git a/src/fs/virtfs/virtfile.cpp b/src/fs/virtfs/virtfile.cpp
new file mode 100644
index 000000000..b60db8c99
--- /dev/null
+++ b/src/fs/virtfs/virtfile.cpp
@@ -0,0 +1,36 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2017 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * 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
+ * any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "fs/virtfs/virtfile.h"
+
+#include "fs/virtfs/virtfileprivate.h"
+
+#include "debug.h"
+
+VirtFile::VirtFile(const VirtFsFuncs *restrict const funcs0) :
+ funcs(funcs0),
+ mPrivate(nullptr)
+{
+}
+
+VirtFile::~VirtFile()
+{
+ delete mPrivate;
+}
diff --git a/src/fs/virtfs/virtfile.h b/src/fs/virtfs/virtfile.h
new file mode 100644
index 000000000..1cb819a6a
--- /dev/null
+++ b/src/fs/virtfs/virtfile.h
@@ -0,0 +1,41 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2017 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * 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
+ * any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef UTILS_VIRTFILE_H
+#define UTILS_VIRTFILE_H
+
+#include "localconsts.h"
+
+struct VirtFilePrivate;
+struct VirtFsFuncs;
+
+struct VirtFile final
+{
+ explicit VirtFile(const VirtFsFuncs *restrict const funcs0);
+
+ A_DELETE_COPY(VirtFile)
+
+ ~VirtFile();
+
+ const VirtFsFuncs *funcs;
+ VirtFilePrivate *mPrivate;
+};
+
+#endif // UTILS_VIRTFILE_H
diff --git a/src/fs/virtfs/virtfs.cpp b/src/fs/virtfs/virtfs.cpp
index 8718a9738..19e42fab7 100644
--- a/src/fs/virtfs/virtfs.cpp
+++ b/src/fs/virtfs/virtfs.cpp
@@ -22,13 +22,13 @@
#include "fs/files.h"
#include "fs/paths.h"
-#include "fs/virtfile.h"
-#include "fs/virtfsfuncs.h"
-#include "fs/virtlist.h"
#include "fs/virtfs/virtdirentry.h"
+#include "fs/virtfs/virtfile.h"
#include "fs/virtfs/virtfsdir.h"
+#include "fs/virtfsfuncs.h"
#include "fs/virtfs/virtfszip.h"
+#include "fs/virtlist.h"
#include "fs/virtfs/virtzipentry.h"
#include "fs/virtfs/zip.h"
diff --git a/src/fs/virtfs/virtfsdir.cpp b/src/fs/virtfs/virtfsdir.cpp
index 357702de6..ba1961649 100644
--- a/src/fs/virtfs/virtfsdir.cpp
+++ b/src/fs/virtfs/virtfsdir.cpp
@@ -23,12 +23,12 @@
#include "fs/files.h"
#include "fs/mkdir.h"
#include "fs/paths.h"
-#include "fs/virtfile.h"
-#include "fs/virtfsfuncs.h"
-#include "fs/virtlist.h"
#include "fs/virtfs/virtdirentry.h"
+#include "fs/virtfs/virtfile.h"
#include "fs/virtfs/virtfileprivate.h"
+#include "fs/virtfsfuncs.h"
+#include "fs/virtlist.h"
#include "utils/checkutils.h"
#include "utils/stringutils.h"
diff --git a/src/fs/virtfs/virtfszip.cpp b/src/fs/virtfs/virtfszip.cpp
index e9414136f..a28f4d89f 100644
--- a/src/fs/virtfs/virtfszip.cpp
+++ b/src/fs/virtfs/virtfszip.cpp
@@ -20,11 +20,10 @@
#include "fs/virtfs/virtfszip.h"
+#include "fs/virtfs/virtfile.h"
+#include "fs/virtfs/virtfileprivate.h"
#include "fs/virtfsfuncs.h"
-#include "fs/virtfile.h"
#include "fs/virtlist.h"
-
-#include "fs/virtfs/virtfileprivate.h"
#include "fs/virtfs/virtzipentry.h"
#include "fs/virtfs/zip.h"
#include "fs/virtfs/ziplocalheader.h"