Пример #1
0
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);
}
Пример #2
0
void JNICALL JavaMessageStore_destroy
( JNIEnv *pEnv, jobject obj )
{
  JVM::set( pEnv );
  JVMObject jobject( obj );
  FIX::MessageStoreExceptionWrapper* pWrapper =
    ( FIX::MessageStoreExceptionWrapper* ) jobject.getLong( "cppPointer" );
  delete pWrapper;
}
Пример #3
0
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 );
}
Пример #4
0
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
}
Пример #6
0
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
}
Пример #8
0
JObject& BufferWrap::jbuiltin() {
  return jobject();
}
FIX::ThreadedSocketInitiator* getCPPThreadedSocketInitiator( jobject obj )
{
  JVMObject jobject( obj );
  return ( FIX::ThreadedSocketInitiator* ) jobject.getLong( "cppPointer" );
}
Пример #10
0
FIX::SocketAcceptor* getCPPSocketAcceptor( jobject obj )
{
  JVMObject jobject( obj );
  return ( FIX::SocketAcceptor* ) jobject.getLong( "cppPointer" );
}
Пример #11
0
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));
}
Пример #12
0
    {
      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;