LibreOffice Module bridges (master) 1
Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
jni_uno::JNI_info Class Reference

#include <jni_info.h>

Collaboration diagram for jni_uno::JNI_info:
[legend]

Public Member Functions

 JNI_info (const JNI_info &)=delete
 
const JNI_infooperator= (const JNI_info &)=delete
 
JNI_type_info const * get_type_info (JNI_context const &jni, typelib_TypeDescription *type) const
 
JNI_type_info const * get_type_info (JNI_context const &jni, typelib_TypeDescriptionReference *type) const
 
JNI_type_info const * get_type_info (JNI_context const &jni, OUString const &uno_name) const
 
void destroy (JNIEnv *jni_env)
 

Static Public Member Functions

static void append_sig (OStringBuffer *buf, typelib_TypeDescriptionReference *type, bool use_Object_for_type_XInterface=true, bool use_slashes=true)
 
static JNI_info const * get_jni_info (rtl::Reference< jvmaccess::UnoVirtualMachine > const &uno_vm)
 

Public Attributes

jclass m_class_Class
 
jmethodID m_method_Class_forName
 
jobject m_object_java_env
 
jobject m_object_Any_VOID
 
jobject m_object_Type_UNSIGNED_SHORT
 
jobject m_object_Type_UNSIGNED_LONG
 
jobject m_object_Type_UNSIGNED_HYPER
 
jclass m_class_Object
 
jclass m_class_Character
 
jclass m_class_Boolean
 
jclass m_class_Byte
 
jclass m_class_Short
 
jclass m_class_Integer
 
jclass m_class_Long
 
jclass m_class_Float
 
jclass m_class_Double
 
jclass m_class_String
 
jclass m_class_UnoRuntime
 
jclass m_class_RuntimeException
 
jclass m_class_Any
 
jclass m_class_Type
 
jclass m_class_TypeClass
 
jclass m_class_JNI_proxy
 
jclass m_class_AsynchronousFinalizer
 
jmethodID m_method_Object_toString
 
jmethodID m_method_Class_getName
 
jmethodID m_method_Throwable_getMessage
 
jmethodID m_ctor_Character_with_char
 
jmethodID m_ctor_Boolean_with_boolean
 
jmethodID m_ctor_Byte_with_byte
 
jmethodID m_ctor_Short_with_short
 
jmethodID m_ctor_Integer_with_int
 
jmethodID m_ctor_Long_with_long
 
jmethodID m_ctor_Float_with_float
 
jmethodID m_ctor_Double_with_double
 
jmethodID m_method_Boolean_booleanValue
 
jmethodID m_method_Byte_byteValue
 
jmethodID m_method_Character_charValue
 
jmethodID m_method_Double_doubleValue
 
jmethodID m_method_Float_floatValue
 
jmethodID m_method_Integer_intValue
 
jmethodID m_method_Long_longValue
 
jmethodID m_method_Short_shortValue
 
jmethodID m_method_IEnvironment_getRegisteredInterface
 
jmethodID m_method_IEnvironment_registerInterface
 
jmethodID m_method_UnoRuntime_generateOid
 
jmethodID m_method_UnoRuntime_queryInterface
 
jmethodID m_ctor_Any_with_Type_Object
 
jfieldID m_field_Any_type
 
jfieldID m_field_Any_object
 
jmethodID m_ctor_Type_with_Class
 
jmethodID m_ctor_Type_with_Name_TypeClass
 
jfieldID m_field_Type_typeName
 
jmethodID m_method_TypeClass_fromInt
 
jfieldID m_field_Enum_m_value
 
jmethodID m_method_JNI_proxy_get_proxy_ctor
 
jmethodID m_method_JNI_proxy_create
 
jfieldID m_field_JNI_proxy_m_receiver_handle
 
jfieldID m_field_JNI_proxy_m_td_handle
 
jfieldID m_field_JNI_proxy_m_type
 
jfieldID m_field_JNI_proxy_m_oid
 
jmethodID m_ctor_AsynchronousFinalizer
 
jmethodID m_method_AsynchronousFinalizer_drain
 
::com::sun::star::uno::TypeDescription m_XInterface_queryInterface_td
 
::com::sun::star::uno::Type const & m_Exception_type
 
::com::sun::star::uno::Type const & m_RuntimeException_type
 
::com::sun::star::uno::Type const & m_void_type
 
JNI_interface_type_info const * m_XInterface_type_info
 

Private Member Functions

JNI_type_info const * create_type_info (JNI_context const &jni, typelib_TypeDescription *td) const
 
void destruct (JNIEnv *jni_env)
 
 JNI_info (JNIEnv *jni_env, jobject class_loader, jclass classClass, jmethodID methodForName)
 
 ~JNI_info ()
 

Private Attributes

std::mutex m_mutex
 
t_str2type m_type_map
 

Detailed Description

Definition at line 123 of file jni_info.h.

Constructor & Destructor Documentation

◆ JNI_info() [1/2]

jni_uno::JNI_info::JNI_info ( const JNI_info )
delete

Referenced by get_jni_info().

◆ JNI_info() [2/2]

jni_uno::JNI_info::JNI_info ( JNIEnv *  jni_env,
jobject  class_loader,
jclass  classClass,
jmethodID  methodForName 
)
private

Definition at line 461 of file jni_info.cxx.

References args, destruct(), jni_uno::JNI_context::ensure_no_exception(), Exception, jni_uno::find_class(), jni_uno::JLocalAutoRef::get(), get(), m_class_Any, m_class_AsynchronousFinalizer, m_class_Boolean, m_class_Byte, m_class_Character, m_class_Class, m_class_Double, m_class_Float, m_class_Integer, m_class_JNI_proxy, m_class_Long, m_class_Object, m_class_RuntimeException, m_class_Short, m_class_String, m_class_Type, m_class_TypeClass, m_class_UnoRuntime, m_ctor_Any_with_Type_Object, m_ctor_AsynchronousFinalizer, m_ctor_Boolean_with_boolean, m_ctor_Byte_with_byte, m_ctor_Character_with_char, m_ctor_Double_with_double, m_ctor_Float_with_float, m_ctor_Integer_with_int, m_ctor_Long_with_long, m_ctor_Short_with_short, m_ctor_Type_with_Class, m_ctor_Type_with_Name_TypeClass, m_field_Any_object, m_field_Any_type, m_field_Enum_m_value, m_field_JNI_proxy_m_oid, m_field_JNI_proxy_m_receiver_handle, m_field_JNI_proxy_m_td_handle, m_field_JNI_proxy_m_type, m_field_Type_typeName, m_method_AsynchronousFinalizer_drain, m_method_Boolean_booleanValue, m_method_Byte_byteValue, m_method_Character_charValue, m_method_Class_getName, m_method_Double_doubleValue, m_method_Float_floatValue, m_method_IEnvironment_getRegisteredInterface, m_method_IEnvironment_registerInterface, m_method_Integer_intValue, m_method_JNI_proxy_create, m_method_JNI_proxy_get_proxy_ctor, m_method_Long_longValue, m_method_Object_toString, m_method_Short_shortValue, m_method_Throwable_getMessage, m_method_TypeClass_fromInt, m_method_UnoRuntime_generateOid, m_method_UnoRuntime_queryInterface, m_object_Any_VOID, m_object_java_env, m_object_Type_UNSIGNED_HYPER, m_object_Type_UNSIGNED_LONG, m_object_Type_UNSIGNED_SHORT, m_XInterface_type_info, and jni_uno::ustring_to_jstring().

◆ ~JNI_info()

jni_uno::JNI_info::~JNI_info ( )
inlineprivate

Definition at line 237 of file jni_info.h.

Member Function Documentation

◆ append_sig()

void jni_uno::JNI_info::append_sig ( OStringBuffer *  buf,
typelib_TypeDescriptionReference *  type,
bool  use_Object_for_type_XInterface = true,
bool  use_slashes = true 
)
inlinestatic

◆ create_type_info()

JNI_type_info const * jni_uno::JNI_info::create_type_info ( JNI_context const &  jni,
typelib_TypeDescription td 
) const
private

◆ destroy()

void jni_uno::JNI_info::destroy ( JNIEnv *  jni_env)
inline

◆ destruct()

void jni_uno::JNI_info::destruct ( JNIEnv *  jni_env)
private

◆ get_jni_info()

JNI_info const * jni_uno::JNI_info::get_jni_info ( rtl::Reference< jvmaccess::UnoVirtualMachine > const &  uno_vm)
static

◆ get_type_info() [1/3]

JNI_type_info const * jni_uno::JNI_info::get_type_info ( JNI_context const &  jni,
OUString const &  uno_name 
) const

◆ get_type_info() [2/3]

JNI_type_info const * jni_uno::JNI_info::get_type_info ( JNI_context const &  jni,
typelib_TypeDescription type 
) const

◆ get_type_info() [3/3]

JNI_type_info const * jni_uno::JNI_info::get_type_info ( JNI_context const &  jni,
typelib_TypeDescriptionReference *  type 
) const

◆ operator=()

const JNI_info & jni_uno::JNI_info::operator= ( const JNI_info )
delete

Member Data Documentation

◆ m_class_Any

jclass jni_uno::JNI_info::m_class_Any

Definition at line 152 of file jni_info.h.

Referenced by destruct(), and JNI_info().

◆ m_class_AsynchronousFinalizer

jclass jni_uno::JNI_info::m_class_AsynchronousFinalizer

Definition at line 156 of file jni_info.h.

Referenced by destruct(), and JNI_info().

◆ m_class_Boolean

jclass jni_uno::JNI_info::m_class_Boolean

Definition at line 141 of file jni_info.h.

Referenced by destruct(), JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_class_Byte

jclass jni_uno::JNI_info::m_class_Byte

Definition at line 142 of file jni_info.h.

Referenced by destruct(), JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_class_Character

jclass jni_uno::JNI_info::m_class_Character

Definition at line 140 of file jni_info.h.

Referenced by destruct(), JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_class_Class

jclass jni_uno::JNI_info::m_class_Class

Definition at line 130 of file jni_info.h.

Referenced by destruct(), jni_uno::find_class(), and JNI_info().

◆ m_class_Double

jclass jni_uno::JNI_info::m_class_Double

Definition at line 147 of file jni_info.h.

Referenced by destruct(), JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_class_Float

jclass jni_uno::JNI_info::m_class_Float

Definition at line 146 of file jni_info.h.

Referenced by destruct(), JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_class_Integer

jclass jni_uno::JNI_info::m_class_Integer

Definition at line 144 of file jni_info.h.

Referenced by destruct(), JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_class_JNI_proxy

jclass jni_uno::JNI_info::m_class_JNI_proxy

◆ m_class_Long

jclass jni_uno::JNI_info::m_class_Long

Definition at line 145 of file jni_info.h.

Referenced by destruct(), JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_class_Object

jclass jni_uno::JNI_info::m_class_Object

Definition at line 139 of file jni_info.h.

Referenced by destruct(), and JNI_info().

◆ m_class_RuntimeException

jclass jni_uno::JNI_info::m_class_RuntimeException

Definition at line 151 of file jni_info.h.

Referenced by destruct(), and JNI_info().

◆ m_class_Short

jclass jni_uno::JNI_info::m_class_Short

Definition at line 143 of file jni_info.h.

Referenced by destruct(), JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_class_String

jclass jni_uno::JNI_info::m_class_String

Definition at line 148 of file jni_info.h.

Referenced by destruct(), JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_class_Type

jclass jni_uno::JNI_info::m_class_Type

Definition at line 153 of file jni_info.h.

Referenced by jni_uno::create_type(), destruct(), and JNI_info().

◆ m_class_TypeClass

jclass jni_uno::JNI_info::m_class_TypeClass

Definition at line 154 of file jni_info.h.

Referenced by jni_uno::create_type(), destruct(), and JNI_info().

◆ m_class_UnoRuntime

jclass jni_uno::JNI_info::m_class_UnoRuntime

Definition at line 150 of file jni_info.h.

Referenced by jni_uno::compute_oid(), destruct(), and JNI_info().

◆ m_ctor_Any_with_Type_Object

jmethodID jni_uno::JNI_info::m_ctor_Any_with_Type_Object

Definition at line 182 of file jni_info.h.

Referenced by JNI_info().

◆ m_ctor_AsynchronousFinalizer

jmethodID jni_uno::JNI_info::m_ctor_AsynchronousFinalizer

Definition at line 198 of file jni_info.h.

Referenced by JNI_info().

◆ m_ctor_Boolean_with_boolean

jmethodID jni_uno::JNI_info::m_ctor_Boolean_with_boolean

Definition at line 162 of file jni_info.h.

Referenced by JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_ctor_Byte_with_byte

jmethodID jni_uno::JNI_info::m_ctor_Byte_with_byte

Definition at line 163 of file jni_info.h.

Referenced by JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_ctor_Character_with_char

jmethodID jni_uno::JNI_info::m_ctor_Character_with_char

Definition at line 161 of file jni_info.h.

Referenced by JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_ctor_Double_with_double

jmethodID jni_uno::JNI_info::m_ctor_Double_with_double

Definition at line 168 of file jni_info.h.

Referenced by JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_ctor_Float_with_float

jmethodID jni_uno::JNI_info::m_ctor_Float_with_float

Definition at line 167 of file jni_info.h.

Referenced by JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_ctor_Integer_with_int

jmethodID jni_uno::JNI_info::m_ctor_Integer_with_int

Definition at line 165 of file jni_info.h.

Referenced by JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_ctor_Long_with_long

jmethodID jni_uno::JNI_info::m_ctor_Long_with_long

Definition at line 166 of file jni_info.h.

Referenced by JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_ctor_Short_with_short

jmethodID jni_uno::JNI_info::m_ctor_Short_with_short

Definition at line 164 of file jni_info.h.

Referenced by JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_ctor_Type_with_Class

jmethodID jni_uno::JNI_info::m_ctor_Type_with_Class

Definition at line 185 of file jni_info.h.

Referenced by jni_uno::create_type(), and JNI_info().

◆ m_ctor_Type_with_Name_TypeClass

jmethodID jni_uno::JNI_info::m_ctor_Type_with_Name_TypeClass

Definition at line 186 of file jni_info.h.

Referenced by jni_uno::create_type(), and JNI_info().

◆ m_Exception_type

::com::sun::star::uno::Type const& jni_uno::JNI_info::m_Exception_type

Definition at line 202 of file jni_info.h.

Referenced by jni_uno::JNI_compound_type_info::JNI_compound_type_info().

◆ m_field_Any_object

jfieldID jni_uno::JNI_info::m_field_Any_object

Definition at line 184 of file jni_info.h.

Referenced by JNI_info().

◆ m_field_Any_type

jfieldID jni_uno::JNI_info::m_field_Any_type

Definition at line 183 of file jni_info.h.

Referenced by JNI_info().

◆ m_field_Enum_m_value

jfieldID jni_uno::JNI_info::m_field_Enum_m_value

Definition at line 189 of file jni_info.h.

Referenced by JNI_info(), and jni_uno::Bridge::map_to_uno().

◆ m_field_JNI_proxy_m_oid

jfieldID jni_uno::JNI_info::m_field_JNI_proxy_m_oid

Definition at line 196 of file jni_info.h.

Referenced by JNI_info().

◆ m_field_JNI_proxy_m_receiver_handle

jfieldID jni_uno::JNI_info::m_field_JNI_proxy_m_receiver_handle

Definition at line 193 of file jni_info.h.

Referenced by JNI_info().

◆ m_field_JNI_proxy_m_td_handle

jfieldID jni_uno::JNI_info::m_field_JNI_proxy_m_td_handle

Definition at line 194 of file jni_info.h.

Referenced by JNI_info().

◆ m_field_JNI_proxy_m_type

jfieldID jni_uno::JNI_info::m_field_JNI_proxy_m_type

Definition at line 195 of file jni_info.h.

Referenced by JNI_info().

◆ m_field_Type_typeName

jfieldID jni_uno::JNI_info::m_field_Type_typeName

Definition at line 187 of file jni_info.h.

Referenced by JNI_info().

◆ m_method_AsynchronousFinalizer_drain

jmethodID jni_uno::JNI_info::m_method_AsynchronousFinalizer_drain

Definition at line 199 of file jni_info.h.

Referenced by JNI_info().

◆ m_method_Boolean_booleanValue

jmethodID jni_uno::JNI_info::m_method_Boolean_booleanValue

Definition at line 169 of file jni_info.h.

Referenced by JNI_info(), and jni_uno::Bridge::map_to_uno().

◆ m_method_Byte_byteValue

jmethodID jni_uno::JNI_info::m_method_Byte_byteValue

Definition at line 170 of file jni_info.h.

Referenced by JNI_info(), and jni_uno::Bridge::map_to_uno().

◆ m_method_Character_charValue

jmethodID jni_uno::JNI_info::m_method_Character_charValue

Definition at line 171 of file jni_info.h.

Referenced by JNI_info(), and jni_uno::Bridge::map_to_uno().

◆ m_method_Class_forName

jmethodID jni_uno::JNI_info::m_method_Class_forName

Definition at line 131 of file jni_info.h.

Referenced by jni_uno::find_class().

◆ m_method_Class_getName

jmethodID jni_uno::JNI_info::m_method_Class_getName

Definition at line 159 of file jni_info.h.

Referenced by JNI_info().

◆ m_method_Double_doubleValue

jmethodID jni_uno::JNI_info::m_method_Double_doubleValue

Definition at line 172 of file jni_info.h.

Referenced by JNI_info(), and jni_uno::Bridge::map_to_uno().

◆ m_method_Float_floatValue

jmethodID jni_uno::JNI_info::m_method_Float_floatValue

Definition at line 173 of file jni_info.h.

Referenced by JNI_info(), and jni_uno::Bridge::map_to_uno().

◆ m_method_IEnvironment_getRegisteredInterface

jmethodID jni_uno::JNI_info::m_method_IEnvironment_getRegisteredInterface

Definition at line 178 of file jni_info.h.

Referenced by JNI_info().

◆ m_method_IEnvironment_registerInterface

jmethodID jni_uno::JNI_info::m_method_IEnvironment_registerInterface

Definition at line 179 of file jni_info.h.

Referenced by JNI_info().

◆ m_method_Integer_intValue

jmethodID jni_uno::JNI_info::m_method_Integer_intValue

Definition at line 174 of file jni_info.h.

Referenced by JNI_info(), and jni_uno::Bridge::map_to_uno().

◆ m_method_JNI_proxy_create

jmethodID jni_uno::JNI_info::m_method_JNI_proxy_create

Definition at line 192 of file jni_info.h.

Referenced by JNI_info().

◆ m_method_JNI_proxy_get_proxy_ctor

jmethodID jni_uno::JNI_info::m_method_JNI_proxy_get_proxy_ctor

◆ m_method_Long_longValue

jmethodID jni_uno::JNI_info::m_method_Long_longValue

Definition at line 175 of file jni_info.h.

Referenced by JNI_info(), and jni_uno::Bridge::map_to_uno().

◆ m_method_Object_toString

jmethodID jni_uno::JNI_info::m_method_Object_toString

Definition at line 158 of file jni_info.h.

Referenced by JNI_info().

◆ m_method_Short_shortValue

jmethodID jni_uno::JNI_info::m_method_Short_shortValue

Definition at line 176 of file jni_info.h.

Referenced by JNI_info(), and jni_uno::Bridge::map_to_uno().

◆ m_method_Throwable_getMessage

jmethodID jni_uno::JNI_info::m_method_Throwable_getMessage

Definition at line 160 of file jni_info.h.

Referenced by JNI_info().

◆ m_method_TypeClass_fromInt

jmethodID jni_uno::JNI_info::m_method_TypeClass_fromInt

Definition at line 188 of file jni_info.h.

Referenced by jni_uno::create_type(), and JNI_info().

◆ m_method_UnoRuntime_generateOid

jmethodID jni_uno::JNI_info::m_method_UnoRuntime_generateOid

Definition at line 180 of file jni_info.h.

Referenced by jni_uno::compute_oid(), and JNI_info().

◆ m_method_UnoRuntime_queryInterface

jmethodID jni_uno::JNI_info::m_method_UnoRuntime_queryInterface

Definition at line 181 of file jni_info.h.

Referenced by JNI_info().

◆ m_mutex

std::mutex jni_uno::JNI_info::m_mutex
mutableprivate

Definition at line 125 of file jni_info.h.

Referenced by create_type_info(), and get_type_info().

◆ m_object_Any_VOID

jobject jni_uno::JNI_info::m_object_Any_VOID

Definition at line 134 of file jni_info.h.

Referenced by destruct(), and JNI_info().

◆ m_object_java_env

jobject jni_uno::JNI_info::m_object_java_env

Definition at line 133 of file jni_info.h.

Referenced by destruct(), JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_object_Type_UNSIGNED_HYPER

jobject jni_uno::JNI_info::m_object_Type_UNSIGNED_HYPER

Definition at line 137 of file jni_info.h.

Referenced by destruct(), JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_object_Type_UNSIGNED_LONG

jobject jni_uno::JNI_info::m_object_Type_UNSIGNED_LONG

Definition at line 136 of file jni_info.h.

Referenced by destruct(), JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_object_Type_UNSIGNED_SHORT

jobject jni_uno::JNI_info::m_object_Type_UNSIGNED_SHORT

Definition at line 135 of file jni_info.h.

Referenced by destruct(), JNI_info(), and jni_uno::Bridge::map_to_java().

◆ m_RuntimeException_type

::com::sun::star::uno::Type const& jni_uno::JNI_info::m_RuntimeException_type

Definition at line 203 of file jni_info.h.

Referenced by jni_uno::JNI_compound_type_info::JNI_compound_type_info().

◆ m_type_map

t_str2type jni_uno::JNI_info::m_type_map
mutableprivate

Definition at line 126 of file jni_info.h.

Referenced by create_type_info(), destruct(), and get_type_info().

◆ m_void_type

::com::sun::star::uno::Type const& jni_uno::JNI_info::m_void_type

Definition at line 204 of file jni_info.h.

◆ m_XInterface_queryInterface_td

::com::sun::star::uno::TypeDescription jni_uno::JNI_info::m_XInterface_queryInterface_td

Definition at line 201 of file jni_info.h.

◆ m_XInterface_type_info

JNI_interface_type_info const* jni_uno::JNI_info::m_XInterface_type_info

Definition at line 205 of file jni_info.h.

Referenced by destruct(), get_type_info(), and JNI_info().


The documentation for this class was generated from the following files: