|
@@ -32,16 +32,22 @@
|
|
#define JAVA_CLASS_WRAPPER_H
|
|
#define JAVA_CLASS_WRAPPER_H
|
|
|
|
|
|
#include "core/reference.h"
|
|
#include "core/reference.h"
|
|
|
|
+
|
|
|
|
+#ifdef ANDROID_ENABLED
|
|
#include <android/log.h>
|
|
#include <android/log.h>
|
|
#include <jni.h>
|
|
#include <jni.h>
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
+#ifdef ANDROID_ENABLED
|
|
class JavaObject;
|
|
class JavaObject;
|
|
|
|
+#endif
|
|
|
|
|
|
class JavaClass : public Reference {
|
|
class JavaClass : public Reference {
|
|
|
|
|
|
GDCLASS(JavaClass, Reference);
|
|
GDCLASS(JavaClass, Reference);
|
|
|
|
|
|
- enum ArgumentType {
|
|
|
|
|
|
+#ifdef ANDROID_ENABLED
|
|
|
|
+ enum ArgumentType{
|
|
|
|
|
|
ARG_TYPE_VOID,
|
|
ARG_TYPE_VOID,
|
|
ARG_TYPE_BOOLEAN,
|
|
ARG_TYPE_BOOLEAN,
|
|
@@ -159,6 +165,7 @@ class JavaClass : public Reference {
|
|
friend class JavaClassWrapper;
|
|
friend class JavaClassWrapper;
|
|
Map<StringName, List<MethodInfo> > methods;
|
|
Map<StringName, List<MethodInfo> > methods;
|
|
jclass _class;
|
|
jclass _class;
|
|
|
|
+#endif
|
|
|
|
|
|
public:
|
|
public:
|
|
virtual Variant call(const StringName &p_method, const Variant **p_args, int p_argcount, Variant::CallError &r_error);
|
|
virtual Variant call(const StringName &p_method, const Variant **p_args, int p_argcount, Variant::CallError &r_error);
|
|
@@ -170,22 +177,27 @@ class JavaObject : public Reference {
|
|
|
|
|
|
GDCLASS(JavaObject, Reference);
|
|
GDCLASS(JavaObject, Reference);
|
|
|
|
|
|
|
|
+#ifdef ANDROID_ENABLED
|
|
Ref<JavaClass> base_class;
|
|
Ref<JavaClass> base_class;
|
|
friend class JavaClass;
|
|
friend class JavaClass;
|
|
|
|
|
|
jobject instance;
|
|
jobject instance;
|
|
|
|
+#endif
|
|
|
|
|
|
public:
|
|
public:
|
|
virtual Variant call(const StringName &p_method, const Variant **p_args, int p_argcount, Variant::CallError &r_error);
|
|
virtual Variant call(const StringName &p_method, const Variant **p_args, int p_argcount, Variant::CallError &r_error);
|
|
|
|
|
|
|
|
+#ifdef ANDROID_ENABLED
|
|
JavaObject(const Ref<JavaClass> &p_base, jobject *p_instance);
|
|
JavaObject(const Ref<JavaClass> &p_base, jobject *p_instance);
|
|
~JavaObject();
|
|
~JavaObject();
|
|
|
|
+#endif
|
|
};
|
|
};
|
|
|
|
|
|
class JavaClassWrapper : public Object {
|
|
class JavaClassWrapper : public Object {
|
|
|
|
|
|
GDCLASS(JavaClassWrapper, Object);
|
|
GDCLASS(JavaClassWrapper, Object);
|
|
|
|
|
|
|
|
+#ifdef ANDROID_ENABLED
|
|
Map<String, Ref<JavaClass> > class_cache;
|
|
Map<String, Ref<JavaClass> > class_cache;
|
|
friend class JavaClass;
|
|
friend class JavaClass;
|
|
jclass activityClass;
|
|
jclass activityClass;
|
|
@@ -211,6 +223,7 @@ class JavaClassWrapper : public Object {
|
|
jobject classLoader;
|
|
jobject classLoader;
|
|
|
|
|
|
bool _get_type_sig(JNIEnv *env, jobject obj, uint32_t &sig, String &strsig);
|
|
bool _get_type_sig(JNIEnv *env, jobject obj, uint32_t &sig, String &strsig);
|
|
|
|
+#endif
|
|
|
|
|
|
static JavaClassWrapper *singleton;
|
|
static JavaClassWrapper *singleton;
|
|
|
|
|
|
@@ -222,7 +235,11 @@ public:
|
|
|
|
|
|
Ref<JavaClass> wrap(const String &p_class);
|
|
Ref<JavaClass> wrap(const String &p_class);
|
|
|
|
|
|
|
|
+#ifdef ANDROID_ENABLED
|
|
JavaClassWrapper(jobject p_activity = NULL);
|
|
JavaClassWrapper(jobject p_activity = NULL);
|
|
|
|
+#else
|
|
|
|
+ JavaClassWrapper();
|
|
|
|
+#endif
|
|
};
|
|
};
|
|
|
|
|
|
#endif // JAVA_CLASS_WRAPPER_H
|
|
#endif // JAVA_CLASS_WRAPPER_H
|