-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathJniJavaObjectOtherDefs.h
More file actions
34 lines (26 loc) · 860 Bytes
/
Copy pathJniJavaObjectOtherDefs.h
File metadata and controls
34 lines (26 loc) · 860 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#pragma once
#ifndef JNI_JAVA_OBJECT_OTHER_DEFS_H
#define JNI_JAVA_OBJECT_OTHER_DEFS_H
#include <JniForwards.h>
#include <JniJavaEnv.h>
#include <JniJavaObjectClassDef.h>
#include <JniJavaClassClassDef.h>
namespace JNI {
template<typename T>
JavaMethod<T> JavaObject::GetMethod(const char * name) const {
return GetClass().GetMethod<T>(*this, name);
}
template<typename T>
JavaField<T> JavaObject::GetField(const char * name) const {
return GetClass().GetField<T>(*this, name);
}
template<typename R, typename ... Args>
JavaObject JavaObject::New(const JavaClass& cls, Args&& ... args) {
return cls.NewObject<R, Args...>(std::forward<Args>(args)...);
}
template<typename R, typename ... Args>
JavaObject JavaObject::New(JavaEnv env, const std::string& cls, Args&& ... args) {
return New(env.FindClass(cls), std::forward<Args>(args)...);
}
}
#endif