You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
add GDSOFTCLASS to FileAccess and DirAccess derived classes
This commit is contained in:
@@ -34,6 +34,7 @@
|
|||||||
#include "core/io/file_access.h"
|
#include "core/io/file_access.h"
|
||||||
|
|
||||||
class FileAccessCompressed : public FileAccess {
|
class FileAccessCompressed : public FileAccess {
|
||||||
|
GDSOFTCLASS(FileAccessCompressed, FileAccess);
|
||||||
Compression::Mode cmode = Compression::MODE_ZSTD;
|
Compression::Mode cmode = Compression::MODE_ZSTD;
|
||||||
bool writing = false;
|
bool writing = false;
|
||||||
uint64_t write_pos = 0;
|
uint64_t write_pos = 0;
|
||||||
|
|||||||
@@ -36,6 +36,8 @@
|
|||||||
#define ENCRYPTED_HEADER_MAGIC 0x43454447
|
#define ENCRYPTED_HEADER_MAGIC 0x43454447
|
||||||
|
|
||||||
class FileAccessEncrypted : public FileAccess {
|
class FileAccessEncrypted : public FileAccess {
|
||||||
|
GDSOFTCLASS(FileAccessEncrypted, FileAccess);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
enum Mode : int32_t {
|
enum Mode : int32_t {
|
||||||
MODE_READ,
|
MODE_READ,
|
||||||
|
|||||||
@@ -33,6 +33,7 @@
|
|||||||
#include "core/io/file_access.h"
|
#include "core/io/file_access.h"
|
||||||
|
|
||||||
class FileAccessMemory : public FileAccess {
|
class FileAccessMemory : public FileAccess {
|
||||||
|
GDSOFTCLASS(FileAccessMemory, FileAccess);
|
||||||
uint8_t *data = nullptr;
|
uint8_t *data = nullptr;
|
||||||
uint64_t length = 0;
|
uint64_t length = 0;
|
||||||
mutable uint64_t pos = 0;
|
mutable uint64_t pos = 0;
|
||||||
|
|||||||
@@ -157,6 +157,7 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
class FileAccessPack : public FileAccess {
|
class FileAccessPack : public FileAccess {
|
||||||
|
GDSOFTCLASS(FileAccessPack, FileAccess);
|
||||||
PackedData::PackedFile pf;
|
PackedData::PackedFile pf;
|
||||||
|
|
||||||
mutable uint64_t pos;
|
mutable uint64_t pos;
|
||||||
@@ -241,6 +242,7 @@ bool PackedData::has_directory(const String &p_path) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class DirAccessPack : public DirAccess {
|
class DirAccessPack : public DirAccess {
|
||||||
|
GDSOFTCLASS(DirAccessPack, DirAccess);
|
||||||
PackedData::PackedDir *current;
|
PackedData::PackedDir *current;
|
||||||
|
|
||||||
List<String> list_dirs;
|
List<String> list_dirs;
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
class FileAccessZip : public FileAccess {
|
class FileAccessZip : public FileAccess {
|
||||||
|
GDSOFTCLASS(FileAccessZip, FileAccess);
|
||||||
unzFile zfile = nullptr;
|
unzFile zfile = nullptr;
|
||||||
unz_file_info64 file_info;
|
unz_file_info64 file_info;
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,7 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
class DirAccessUnix : public DirAccess {
|
class DirAccessUnix : public DirAccess {
|
||||||
|
GDSOFTCLASS(DirAccessUnix, DirAccess);
|
||||||
DIR *dir_stream = nullptr;
|
DIR *dir_stream = nullptr;
|
||||||
|
|
||||||
bool _cisdir = false;
|
bool _cisdir = false;
|
||||||
|
|||||||
@@ -38,6 +38,7 @@
|
|||||||
#if defined(UNIX_ENABLED)
|
#if defined(UNIX_ENABLED)
|
||||||
|
|
||||||
class FileAccessUnix : public FileAccess {
|
class FileAccessUnix : public FileAccess {
|
||||||
|
GDSOFTCLASS(FileAccessUnix, FileAccess);
|
||||||
FILE *f = nullptr;
|
FILE *f = nullptr;
|
||||||
int flags = 0;
|
int flags = 0;
|
||||||
void check_errors(bool p_write = false) const;
|
void check_errors(bool p_write = false) const;
|
||||||
|
|||||||
@@ -38,6 +38,7 @@
|
|||||||
#if defined(UNIX_ENABLED)
|
#if defined(UNIX_ENABLED)
|
||||||
|
|
||||||
class FileAccessUnixPipe : public FileAccess {
|
class FileAccessUnixPipe : public FileAccess {
|
||||||
|
GDSOFTCLASS(FileAccessUnixPipe, FileAccess);
|
||||||
bool unlink_on_close = false;
|
bool unlink_on_close = false;
|
||||||
|
|
||||||
int fd[2] = { -1, -1 };
|
int fd[2] = { -1, -1 };
|
||||||
|
|||||||
@@ -37,6 +37,7 @@
|
|||||||
struct DirAccessWindowsPrivate;
|
struct DirAccessWindowsPrivate;
|
||||||
|
|
||||||
class DirAccessWindows : public DirAccess {
|
class DirAccessWindows : public DirAccess {
|
||||||
|
GDSOFTCLASS(DirAccessWindows, DirAccess);
|
||||||
enum {
|
enum {
|
||||||
MAX_DRIVES = 26
|
MAX_DRIVES = 26
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -38,6 +38,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
class FileAccessWindows : public FileAccess {
|
class FileAccessWindows : public FileAccess {
|
||||||
|
GDSOFTCLASS(FileAccessWindows, FileAccess);
|
||||||
FILE *f = nullptr;
|
FILE *f = nullptr;
|
||||||
int flags = 0;
|
int flags = 0;
|
||||||
void check_errors(bool p_write = false) const;
|
void check_errors(bool p_write = false) const;
|
||||||
|
|||||||
@@ -37,7 +37,9 @@
|
|||||||
|
|
||||||
#define WIN32_LEAN_AND_MEAN
|
#define WIN32_LEAN_AND_MEAN
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
|
||||||
class FileAccessWindowsPipe : public FileAccess {
|
class FileAccessWindowsPipe : public FileAccess {
|
||||||
|
GDSOFTCLASS(FileAccessWindowsPipe, FileAccess);
|
||||||
HANDLE fd[2] = { nullptr, nullptr };
|
HANDLE fd[2] = { nullptr, nullptr };
|
||||||
|
|
||||||
mutable Error last_error = OK;
|
mutable Error last_error = OK;
|
||||||
|
|||||||
@@ -42,6 +42,7 @@
|
|||||||
/// The implementation use jni in order to comply with Android filesystem
|
/// The implementation use jni in order to comply with Android filesystem
|
||||||
/// access restriction.
|
/// access restriction.
|
||||||
class DirAccessJAndroid : public DirAccessUnix {
|
class DirAccessJAndroid : public DirAccessUnix {
|
||||||
|
GDSOFTCLASS(DirAccessJAndroid, DirAccessUnix);
|
||||||
static jobject dir_access_handler;
|
static jobject dir_access_handler;
|
||||||
static jclass cls;
|
static jclass cls;
|
||||||
|
|
||||||
|
|||||||
@@ -38,6 +38,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
class FileAccessAndroid : public FileAccess {
|
class FileAccessAndroid : public FileAccess {
|
||||||
|
GDSOFTCLASS(FileAccessAndroid, FileAccess);
|
||||||
static AAssetManager *asset_manager;
|
static AAssetManager *asset_manager;
|
||||||
static jobject j_asset_manager;
|
static jobject j_asset_manager;
|
||||||
|
|
||||||
|
|||||||
@@ -35,6 +35,7 @@
|
|||||||
#include "core/io/file_access.h"
|
#include "core/io/file_access.h"
|
||||||
|
|
||||||
class FileAccessFilesystemJAndroid : public FileAccess {
|
class FileAccessFilesystemJAndroid : public FileAccess {
|
||||||
|
GDSOFTCLASS(FileAccessFilesystemJAndroid, FileAccess);
|
||||||
static jobject file_access_handler;
|
static jobject file_access_handler;
|
||||||
static jclass cls;
|
static jclass cls;
|
||||||
|
|
||||||
|
|||||||
@@ -41,6 +41,8 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
class DirAccessMacOS : public DirAccessUnix {
|
class DirAccessMacOS : public DirAccessUnix {
|
||||||
|
GDSOFTCLASS(DirAccessMacOS, DirAccessUnix);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual String fix_unicode_name(const char *p_name) const override;
|
virtual String fix_unicode_name(const char *p_name) const override;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user