From 2d0ae777197ca056ee30f3e4d1f5ca9087b3bc7e Mon Sep 17 00:00:00 2001 From: nikitalita <69168929+nikitalita@users.noreply.github.com> Date: Wed, 9 Apr 2025 18:42:17 +0000 Subject: [PATCH] add GDSOFTCLASS to FileAccess and DirAccess derived classes --- core/io/file_access_compressed.h | 1 + core/io/file_access_encrypted.h | 2 ++ core/io/file_access_memory.h | 1 + core/io/file_access_pack.h | 2 ++ core/io/file_access_zip.h | 1 + drivers/unix/dir_access_unix.h | 1 + drivers/unix/file_access_unix.h | 1 + drivers/unix/file_access_unix_pipe.h | 1 + drivers/windows/dir_access_windows.h | 1 + drivers/windows/file_access_windows.h | 1 + drivers/windows/file_access_windows_pipe.h | 2 ++ platform/android/dir_access_jandroid.h | 1 + platform/android/file_access_android.h | 1 + platform/android/file_access_filesystem_jandroid.h | 1 + platform/macos/dir_access_macos.h | 2 ++ 15 files changed, 19 insertions(+) diff --git a/core/io/file_access_compressed.h b/core/io/file_access_compressed.h index 91d6f54e8e..7c5e6a5f71 100644 --- a/core/io/file_access_compressed.h +++ b/core/io/file_access_compressed.h @@ -34,6 +34,7 @@ #include "core/io/file_access.h" class FileAccessCompressed : public FileAccess { + GDSOFTCLASS(FileAccessCompressed, FileAccess); Compression::Mode cmode = Compression::MODE_ZSTD; bool writing = false; uint64_t write_pos = 0; diff --git a/core/io/file_access_encrypted.h b/core/io/file_access_encrypted.h index 7dd5275821..15cad3a196 100644 --- a/core/io/file_access_encrypted.h +++ b/core/io/file_access_encrypted.h @@ -36,6 +36,8 @@ #define ENCRYPTED_HEADER_MAGIC 0x43454447 class FileAccessEncrypted : public FileAccess { + GDSOFTCLASS(FileAccessEncrypted, FileAccess); + public: enum Mode : int32_t { MODE_READ, diff --git a/core/io/file_access_memory.h b/core/io/file_access_memory.h index d9d76a6be3..2ff638e9ac 100644 --- a/core/io/file_access_memory.h +++ b/core/io/file_access_memory.h @@ -33,6 +33,7 @@ #include "core/io/file_access.h" class FileAccessMemory : public FileAccess { + GDSOFTCLASS(FileAccessMemory, FileAccess); uint8_t *data = nullptr; uint64_t length = 0; mutable uint64_t pos = 0; diff --git a/core/io/file_access_pack.h b/core/io/file_access_pack.h index 4d4fd505c3..9a482db75b 100644 --- a/core/io/file_access_pack.h +++ b/core/io/file_access_pack.h @@ -157,6 +157,7 @@ public: }; class FileAccessPack : public FileAccess { + GDSOFTCLASS(FileAccessPack, FileAccess); PackedData::PackedFile pf; mutable uint64_t pos; @@ -241,6 +242,7 @@ bool PackedData::has_directory(const String &p_path) { } class DirAccessPack : public DirAccess { + GDSOFTCLASS(DirAccessPack, DirAccess); PackedData::PackedDir *current; List list_dirs; diff --git a/core/io/file_access_zip.h b/core/io/file_access_zip.h index bc89204753..e1f4439dfd 100644 --- a/core/io/file_access_zip.h +++ b/core/io/file_access_zip.h @@ -73,6 +73,7 @@ public: }; class FileAccessZip : public FileAccess { + GDSOFTCLASS(FileAccessZip, FileAccess); unzFile zfile = nullptr; unz_file_info64 file_info; diff --git a/drivers/unix/dir_access_unix.h b/drivers/unix/dir_access_unix.h index bfb8600ad5..b683346174 100644 --- a/drivers/unix/dir_access_unix.h +++ b/drivers/unix/dir_access_unix.h @@ -40,6 +40,7 @@ #include class DirAccessUnix : public DirAccess { + GDSOFTCLASS(DirAccessUnix, DirAccess); DIR *dir_stream = nullptr; bool _cisdir = false; diff --git a/drivers/unix/file_access_unix.h b/drivers/unix/file_access_unix.h index 326137e71b..0860b37092 100644 --- a/drivers/unix/file_access_unix.h +++ b/drivers/unix/file_access_unix.h @@ -38,6 +38,7 @@ #if defined(UNIX_ENABLED) class FileAccessUnix : public FileAccess { + GDSOFTCLASS(FileAccessUnix, FileAccess); FILE *f = nullptr; int flags = 0; void check_errors(bool p_write = false) const; diff --git a/drivers/unix/file_access_unix_pipe.h b/drivers/unix/file_access_unix_pipe.h index bf3f6bc851..4081f6d70c 100644 --- a/drivers/unix/file_access_unix_pipe.h +++ b/drivers/unix/file_access_unix_pipe.h @@ -38,6 +38,7 @@ #if defined(UNIX_ENABLED) class FileAccessUnixPipe : public FileAccess { + GDSOFTCLASS(FileAccessUnixPipe, FileAccess); bool unlink_on_close = false; int fd[2] = { -1, -1 }; diff --git a/drivers/windows/dir_access_windows.h b/drivers/windows/dir_access_windows.h index a7e05f7662..9bc4bc7c78 100644 --- a/drivers/windows/dir_access_windows.h +++ b/drivers/windows/dir_access_windows.h @@ -37,6 +37,7 @@ struct DirAccessWindowsPrivate; class DirAccessWindows : public DirAccess { + GDSOFTCLASS(DirAccessWindows, DirAccess); enum { MAX_DRIVES = 26 }; diff --git a/drivers/windows/file_access_windows.h b/drivers/windows/file_access_windows.h index 8f6e83cb28..706fcd0c9d 100644 --- a/drivers/windows/file_access_windows.h +++ b/drivers/windows/file_access_windows.h @@ -38,6 +38,7 @@ #include class FileAccessWindows : public FileAccess { + GDSOFTCLASS(FileAccessWindows, FileAccess); FILE *f = nullptr; int flags = 0; void check_errors(bool p_write = false) const; diff --git a/drivers/windows/file_access_windows_pipe.h b/drivers/windows/file_access_windows_pipe.h index c554b7efe1..38a5d45234 100644 --- a/drivers/windows/file_access_windows_pipe.h +++ b/drivers/windows/file_access_windows_pipe.h @@ -37,7 +37,9 @@ #define WIN32_LEAN_AND_MEAN #include + class FileAccessWindowsPipe : public FileAccess { + GDSOFTCLASS(FileAccessWindowsPipe, FileAccess); HANDLE fd[2] = { nullptr, nullptr }; mutable Error last_error = OK; diff --git a/platform/android/dir_access_jandroid.h b/platform/android/dir_access_jandroid.h index ae8ddd291d..1d85ee1381 100644 --- a/platform/android/dir_access_jandroid.h +++ b/platform/android/dir_access_jandroid.h @@ -42,6 +42,7 @@ /// The implementation use jni in order to comply with Android filesystem /// access restriction. class DirAccessJAndroid : public DirAccessUnix { + GDSOFTCLASS(DirAccessJAndroid, DirAccessUnix); static jobject dir_access_handler; static jclass cls; diff --git a/platform/android/file_access_android.h b/platform/android/file_access_android.h index 05cc42f622..2d5744e810 100644 --- a/platform/android/file_access_android.h +++ b/platform/android/file_access_android.h @@ -38,6 +38,7 @@ #include class FileAccessAndroid : public FileAccess { + GDSOFTCLASS(FileAccessAndroid, FileAccess); static AAssetManager *asset_manager; static jobject j_asset_manager; diff --git a/platform/android/file_access_filesystem_jandroid.h b/platform/android/file_access_filesystem_jandroid.h index 8258f2e553..03b66d4844 100644 --- a/platform/android/file_access_filesystem_jandroid.h +++ b/platform/android/file_access_filesystem_jandroid.h @@ -35,6 +35,7 @@ #include "core/io/file_access.h" class FileAccessFilesystemJAndroid : public FileAccess { + GDSOFTCLASS(FileAccessFilesystemJAndroid, FileAccess); static jobject file_access_handler; static jclass cls; diff --git a/platform/macos/dir_access_macos.h b/platform/macos/dir_access_macos.h index b2943c506b..de82f366ce 100644 --- a/platform/macos/dir_access_macos.h +++ b/platform/macos/dir_access_macos.h @@ -41,6 +41,8 @@ #include class DirAccessMacOS : public DirAccessUnix { + GDSOFTCLASS(DirAccessMacOS, DirAccessUnix); + protected: virtual String fix_unicode_name(const char *p_name) const override;