static HasherProxy() { JniEnvWrapper env = JvmManager.INSTANCE.GetEnv(); classRef = env.FindClass("ru/gnkoshelev/j4net/sample/hash/lib/Hasher"); methodRef = env.GetStaticMethodId(classRef.Ptr, "compute", "(Ljava/lang/String;[B)Ljava/lang/String;"); }
public static string Compute(string algorithm, byte[] bytes) { JniEnvWrapper env = JvmManager.INSTANCE.GetEnv(); using (var jString = env.NewStringUtf(algorithm)) { using (var jByteArray = env.NewByteArray(bytes)) { using (var localRef = env.CallStaticObjectMethod(classRef.Ptr, methodRef.Ptr, new JValue { PointerValue = jString.Ptr }, new JValue { PointerValue = jByteArray.Ptr })) { return(env.GetString(localRef.Ptr)); } } } }
internal JniEnvExceptionsWrapper(JniEnvWrapper jniEnvWrapper) { Debug.Assert(jniEnvWrapper != null); _jniEnvWrapper = jniEnvWrapper; InitFunctions(); }
public ProxyFactory(JniEnvWrapper jniEnvWrapper) { Debug.Assert(jniEnvWrapper != null); _jniEnvWrapper = jniEnvWrapper; }
internal JniEnvStringsWrapper(JniEnvWrapper jniEnvWrapper) { if (jniEnvWrapper == null) throw new ArgumentNullException(nameof(jniEnvWrapper)); _jniEnvWrapper = jniEnvWrapper; InitFunctions(); }