3
* ====================================================================
4
* Licensed to the Apache Software Foundation (ASF) under one
5
* or more contributor license agreements. See the NOTICE file
6
* distributed with this work for additional information
7
* regarding copyright ownership. The ASF licenses this file
8
* to you under the Apache License, Version 2.0 (the
9
* "License"); you may not use this file except in compliance
10
* with the License. You may obtain a copy of the License at
12
* http://www.apache.org/licenses/LICENSE-2.0
14
* Unless required by applicable law or agreed to in writing,
15
* software distributed under the License is distributed on an
16
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17
* KIND, either express or implied. See the License for the
18
* specific language governing permissions and limitations
20
* ====================================================================
23
* @file org_apache_subversion_javahl_remote_RemoteFactory.cpp
24
* @brief Implementation of the native methods in the Java class RemoteFactory
27
#include "../include/org_apache_subversion_javahl_remote_RemoteFactory.h"
29
#include "JNIStackElement.h"
31
#include "JNIStringHolder.h"
33
#include "RemoteSession.h"
35
#include "svn_private_config.h"
37
JNIEXPORT jobject JNICALL
38
Java_org_apache_subversion_javahl_remote_RemoteFactory_open(
39
JNIEnv *env, jclass jclazz, jint jretryAttempts,
40
jstring jurl, jstring juuid,
41
jstring jconfigDirectory,
42
jstring jusername, jstring jpassword,
43
jobject jprompter, jobject jdeprecatedPrompter,
44
jobject jprogress, jobject jcfgcb, jobject jtunnelcb)
46
//JNI macros need jthis but this is a static call
47
JNIEntryStatic(RemoteFactory, open);
50
* Create RemoteSession C++ object and return its java wrapper to the caller
52
jobject jremoteSession = RemoteSession::open(
53
jretryAttempts, jurl, juuid,
54
jconfigDirectory, jusername, jpassword,
55
jprompter, jdeprecatedPrompter,
56
jprogress, jcfgcb, jtunnelcb);
57
if (JNIUtil::isJavaExceptionThrown())
60
return jremoteSession;