/* * Author: Patrick-Christopher Mattulat * Company: Lynar Studios * E-Mail: webmaster@lynarstudios.com * Created: 2023-04-07 * Changed: 2023-04-11 * * */ #ifndef LS_STD_I_JNI_API_HPP #define LS_STD_I_JNI_API_HPP #include #include #include namespace ls::std::core::experimental::interface_type { class LS_STD_DYNAMIC_GOAL IJniApi { public: IJniApi(); virtual ~IJniApi(); virtual jboolean callBooleanMethod(jobject _javaObject, jmethodID _methodId) = 0; virtual jbyte callByteMethod(jobject _javaObject, jmethodID _methodId) = 0; virtual jchar callCharMethod(jobject _javaObject, jmethodID _methodId) = 0; virtual jdouble callDoubleMethod(jobject _javaObject, jmethodID _methodId) = 0; virtual jfloat callFloatMethod(jobject _javaObject, jmethodID _methodId) = 0; virtual jint callIntMethod(jobject _javaObject, jmethodID _methodId) = 0; virtual jlong callLongMethod(jobject _javaObject, jmethodID _methodId) = 0; virtual jshort callShortMethod(jobject _javaObject, jmethodID _methodId) = 0; virtual jclass findClass(const ::std::string &_classPath) = 0; virtual jmethodID getMethodId(jclass _javaClass, const char *_methodIdentifier, const char *_methodSignature) = 0; }; } #endif