api.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #include "api.h"
  2. #include "core/engine.h"
  3. #include "java_class_wrapper.h"
  4. #if !defined(ANDROID_ENABLED)
  5. static JavaClassWrapper *java_class_wrapper = NULL;
  6. #endif
  7. void register_android_api() {
  8. #if !defined(ANDROID_ENABLED)
  9. java_class_wrapper = memnew(JavaClassWrapper); // Dummy
  10. #endif
  11. ClassDB::register_class<JavaClass>();
  12. ClassDB::register_class<JavaClassWrapper>();
  13. Engine::get_singleton()->add_singleton(Engine::Singleton("JavaClassWrapper", JavaClassWrapper::get_singleton()));
  14. }
  15. void unregister_android_api() {
  16. #if !defined(ANDROID_ENABLED)
  17. memdelete(java_class_wrapper);
  18. #endif
  19. }
  20. void JavaClassWrapper::_bind_methods() {
  21. ClassDB::bind_method(D_METHOD("wrap", "name"), &JavaClassWrapper::wrap);
  22. }
  23. #if !defined(ANDROID_ENABLED)
  24. Variant JavaClass::call(const StringName &, const Variant **, int, Variant::CallError &) {
  25. return Variant();
  26. }
  27. JavaClass::JavaClass() {
  28. }
  29. Variant JavaObject::call(const StringName &, const Variant **, int, Variant::CallError &) {
  30. return Variant();
  31. }
  32. JavaClassWrapper *JavaClassWrapper::singleton = NULL;
  33. Ref<JavaClass> JavaClassWrapper::wrap(const String &) {
  34. return Ref<JavaClass>();
  35. }
  36. JavaClassWrapper::JavaClassWrapper() {
  37. singleton = this;
  38. }
  39. #endif