summaryrefslogtreecommitdiffstats
path: root/core/extension
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-05-30 11:47:43 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-05-30 11:47:43 +0200
commit9d4a736d0c7badbb636c27375a26ade423e62303 (patch)
treea7f568876a1690db33f5a569abe5bb80a9f9bab1 /core/extension
parentaa147b74eac36a5cf8d7abfa220e0295c1508943 (diff)
parent0e5e7432580166a6c7fc75bc35b091b101630d1e (diff)
downloadredot-engine-9d4a736d0c7badbb636c27375a26ade423e62303.tar.gz
Merge pull request #91502 from lyuma/gdextension_open_library_compat
Bind compatibility GDExtension methods removed in #88418
Diffstat (limited to 'core/extension')
-rw-r--r--core/extension/gdextension.compat.inc49
-rw-r--r--core/extension/gdextension.cpp2
-rw-r--r--core/extension/gdextension.h9
3 files changed, 60 insertions, 0 deletions
diff --git a/core/extension/gdextension.compat.inc b/core/extension/gdextension.compat.inc
new file mode 100644
index 0000000000..9dea865dbd
--- /dev/null
+++ b/core/extension/gdextension.compat.inc
@@ -0,0 +1,49 @@
+/**************************************************************************/
+/* gdextension.compat.inc */
+/**************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/**************************************************************************/
+/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
+/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/**************************************************************************/
+
+#ifndef DISABLE_DEPRECATED
+
+Error GDExtension::_open_library_bind_compat_88418(const String &p_path, const String &p_entry_symbol) {
+ return ERR_UNAVAILABLE;
+}
+
+void GDExtension::_close_library_bind_compat_88418() {
+}
+
+void GDExtension::_initialize_library_bind_compat_88418(InitializationLevel p_level) {
+}
+
+void GDExtension::_bind_compatibility_methods() {
+ ClassDB::bind_compatibility_method(D_METHOD("open_library", "path", "entry_symbol"), &GDExtension::_open_library_bind_compat_88418);
+ ClassDB::bind_compatibility_method(D_METHOD("close_library"), &GDExtension::_close_library_bind_compat_88418);
+ ClassDB::bind_compatibility_method(D_METHOD("initialize_library", "level"), &GDExtension::_initialize_library_bind_compat_88418);
+}
+
+#endif
diff --git a/core/extension/gdextension.cpp b/core/extension/gdextension.cpp
index a26bb3e8f3..47628e4ea0 100644
--- a/core/extension/gdextension.cpp
+++ b/core/extension/gdextension.cpp
@@ -29,6 +29,8 @@
/**************************************************************************/
#include "gdextension.h"
+#include "gdextension.compat.inc"
+
#include "core/config/project_settings.h"
#include "core/io/dir_access.h"
#include "core/object/class_db.h"
diff --git a/core/extension/gdextension.h b/core/extension/gdextension.h
index 3b15639890..9393e7399b 100644
--- a/core/extension/gdextension.h
+++ b/core/extension/gdextension.h
@@ -137,6 +137,15 @@ public:
INITIALIZATION_LEVEL_EDITOR = GDEXTENSION_INITIALIZATION_EDITOR
};
+protected:
+#ifndef DISABLE_DEPRECATED
+ Error _open_library_bind_compat_88418(const String &p_path, const String &p_entry_symbol);
+ void _close_library_bind_compat_88418();
+ void _initialize_library_bind_compat_88418(InitializationLevel p_level);
+ static void _bind_compatibility_methods();
+#endif
+
+public:
bool is_library_open() const;
#ifdef TOOLS_ENABLED