svn_boolean_t OperationContext::checkTunnel(void *tunnel_baton, const char *tunnel_name) { JNIEnv *env = JNIUtil::getEnv(); jstring jtunnel_name = JNIUtil::makeJString(tunnel_name); if (JNIUtil::isJavaExceptionThrown()) return false; static jmethodID mid = 0; if (0 == mid) { jclass cls = env->FindClass(JAVAHL_CLASS("/callback/TunnelAgent")); if (JNIUtil::isJavaExceptionThrown()) return false; mid = env->GetMethodID(cls, "checkTunnel", "(Ljava/lang/String;)Z"); if (JNIUtil::isJavaExceptionThrown()) return false; } jobject jtunnelcb = jobject(tunnel_baton); jboolean check = env->CallBooleanMethod(jtunnelcb, mid, jtunnel_name); if (JNIUtil::isJavaExceptionThrown()) return false; return svn_boolean_t(check); }
void JNICALL JavaMessageStore_destroy ( JNIEnv *pEnv, jobject obj ) { JVM::set( pEnv ); JVMObject jobject( obj ); FIX::MessageStoreExceptionWrapper* pWrapper = ( FIX::MessageStoreExceptionWrapper* ) jobject.getLong( "cppPointer" ); delete pWrapper; }
void JNICALL JavaMessageStore_create ( JNIEnv *pEnv, jobject obj, FIX::MessageStore* pStore ) { JVM::set( pEnv ); JVMObject jobject( obj ); FIX::MessageStoreExceptionWrapper* pWrapper = new FIX::MessageStoreExceptionWrapper( pStore ); jobject.setLong( "cppPointer", ( long ) pWrapper ); }
void AndroidCameraPrivate::takePicture() { m_camera.callMethod<void>("takePicture", "(Landroid/hardware/Camera$ShutterCallback;" "Landroid/hardware/Camera$PictureCallback;" "Landroid/hardware/Camera$PictureCallback;)V", m_cameraListener.object(), jobject(0), m_cameraListener.object()); }
JNIEXPORT void JNICALL Java_quickfix_FileStoreFactory_destroy ( JNIEnv *pEnv, jobject obj ) { QF_STACK_TRY JVM::set( pEnv ); JVMObject jobject( obj ); FIX::FileStoreFactory* pFactory = ( FIX::FileStoreFactory* ) jobject.getLong( "cppPointer" ); delete pFactory; QF_STACK_CATCH }
void AndroidCameraPrivate::startPreview() { //We need to clear preview buffers queue here, but there is no method to do it //Though just resetting preview callback do the trick m_camera.callMethod<void>("setPreviewCallbackWithBuffer", "(Landroid/hardware/Camera$PreviewCallback;)V", jobject(0)); m_cameraListener.callMethod<void>("preparePreviewBuffer", "(Landroid/hardware/Camera;)V", m_camera.object()); QJNIObjectPrivate buffer = m_cameraListener.callObjectMethod<jbyteArray>("callbackBuffer"); m_camera.callMethod<void>("addCallbackBuffer", "([B)V", buffer.object()); m_camera.callMethod<void>("setPreviewCallbackWithBuffer", "(Landroid/hardware/Camera$PreviewCallback;)V", m_cameraListener.object()); m_camera.callMethod<void>("startPreview"); emit previewStarted(); }
JNIEXPORT void JNICALL Java_quickfix_ThreadedSocketInitiator_create ( JNIEnv *pEnv, jobject obj ) { QF_STACK_TRY JVM::set( pEnv ); JVMObject jobject( obj ); JavaLogFactory* pLogFactory = 0; try { pLogFactory = &createLogFactory( jobject ); } catch ( JVMException& ) {} FIX::Initiator* pInitiator = 0; try { if ( pLogFactory ) { pInitiator = new FIX::ThreadedSocketInitiator( createApplication( jobject ), createFactory( jobject ), getSettings( jobject ), *pLogFactory ); } else { pInitiator = new FIX::ThreadedSocketInitiator( createApplication( jobject ), createFactory( jobject ), getSettings( jobject )); } } catch( FIX::ConfigError& e ) { throwNew( "Lquickfix/ConfigError;", e.what() ); return; } jobject.setLong( "cppPointer", ( long ) pInitiator ); QF_STACK_CATCH }
JObject& BufferWrap::jbuiltin() { return jobject(); }
FIX::ThreadedSocketInitiator* getCPPThreadedSocketInitiator( jobject obj ) { JVMObject jobject( obj ); return ( FIX::ThreadedSocketInitiator* ) jobject.getLong( "cppPointer" ); }
FIX::SocketAcceptor* getCPPSocketAcceptor( jobject obj ) { JVMObject jobject( obj ); return ( FIX::SocketAcceptor* ) jobject.getLong( "cppPointer" ); }
void Audio::PlayBackgroundMusic(SoundAsset *sa) { JNI *jni = Singleton<LFL::JNI>::Get(); static jmethodID jni_activity_method_play_background_music = CheckNotNull(jni->env->GetMethodID(jni->activity_class, "playBackgroundMusic", "(Landroid/media/MediaPlayer;)V")); jni->env->CallVoidMethod(jni->activity, jni_activity_method_play_background_music, jobject(sa->handle)); }
{ jclass cls = env->FindClass(JAVAHL_CLASS("/callback/TunnelAgent")); SVN_JNI_CATCH(, SVN_ERR_BASE); SVN_JNI_CATCH( mid = env->GetMethodID( cls, "openTunnel", "(Ljava/nio/channels/ReadableByteChannel;" "Ljava/nio/channels/WritableByteChannel;" "Ljava/lang/String;" "Ljava/lang/String;" "Ljava/lang/String;I)" JAVAHL_ARG("/callback/TunnelAgent$CloseTunnelCallback;")), SVN_ERR_BASE); } jobject jtunnelcb = jobject(tunnel_baton); SVN_JNI_CATCH( tc->jclosecb = env->CallObjectMethod( jtunnelcb, mid, jrequest, jresponse, jtunnel_name, juser, jhostname, jint(port)), SVN_ERR_BASE); return SVN_NO_ERROR; } void OperationContext::closeTunnel(void *tunnel_context, void *) { TunnelContext* tc = static_cast<TunnelContext*>(tunnel_context); jobject jclosecb = tc->jclosecb; delete tc;