diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2020-01-19 22:24:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-19 22:24:23 +0100 |
commit | 8cc9bb2539f248b53dc3de166dbdaf3c87f7151f (patch) | |
tree | 88a888da5ddfac0a156d1696138a231a368f9084 /platform/android/api/api.cpp | |
parent | 5358254b6ca752b88138a2b523767093f572ca4c (diff) | |
parent | a6105c8ea0bdae9d56d1943409d89cc71288306a (diff) | |
download | redot-engine-8cc9bb2539f248b53dc3de166dbdaf3c87f7151f.tar.gz |
Merge pull request #35326 from neikeq/issue-30496
Fix ClassDB API portability with some android and editor classes
Diffstat (limited to 'platform/android/api/api.cpp')
-rw-r--r-- | platform/android/api/api.cpp | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/platform/android/api/api.cpp b/platform/android/api/api.cpp new file mode 100644 index 0000000000..7a8ff93414 --- /dev/null +++ b/platform/android/api/api.cpp @@ -0,0 +1,56 @@ +#include "api.h" + +#include "core/engine.h" +#include "java_class_wrapper.h" + +#if !defined(ANDROID_ENABLED) +static JavaClassWrapper *java_class_wrapper = NULL; +#endif + +void register_android_api() { + +#if !defined(ANDROID_ENABLED) + java_class_wrapper = memnew(JavaClassWrapper); // Dummy +#endif + + ClassDB::register_class<JavaClass>(); + ClassDB::register_class<JavaClassWrapper>(); + Engine::get_singleton()->add_singleton(Engine::Singleton("JavaClassWrapper", JavaClassWrapper::get_singleton())); +} + +void unregister_android_api() { + +#if !defined(ANDROID_ENABLED) + memdelete(java_class_wrapper); +#endif +} + +void JavaClassWrapper::_bind_methods() { + + ClassDB::bind_method(D_METHOD("wrap", "name"), &JavaClassWrapper::wrap); +} + +#if !defined(ANDROID_ENABLED) + +Variant JavaClass::call(const StringName &, const Variant **, int, Variant::CallError &) { + return Variant(); +} + +JavaClass::JavaClass() { +} + +Variant JavaObject::call(const StringName &, const Variant **, int, Variant::CallError &) { + return Variant(); +} + +JavaClassWrapper *JavaClassWrapper::singleton = NULL; + +Ref<JavaClass> JavaClassWrapper::wrap(const String &) { + return Ref<JavaClass>(); +} + +JavaClassWrapper::JavaClassWrapper() { + singleton = this; +} + +#endif |