1 /**
2 * @copyright
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
11 *
12 * http://www.apache.org/licenses/LICENSE-2.0
13 *
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
19 * under the License.
20 * ====================================================================
21 * @endcopyright
22 *
23 * @file org_apache_subversion_javahl_types_RevisionRangeList.cpp
24 * @brief Implementation of the native methods in the Java class
25 * RevisionRangeList.
26 */
27
28
29 #include "../include/org_apache_subversion_javahl_types_RevisionRangeList.h"
30 #include "JNIStackElement.h"
31 #include "RevisionRangeList.h"
32 #include "Pool.h"
33
34 #include "svn_mergeinfo.h"
35 #include "svn_private_config.h"
36
37 JNIEXPORT jobject JNICALL
Java_org_apache_subversion_javahl_types_RevisionRangeList_remove(JNIEnv * env,jobject jthis,jobject jeraser,jboolean jconsider_inheritance)38 Java_org_apache_subversion_javahl_types_RevisionRangeList_remove(
39 JNIEnv* env, jobject jthis, jobject jeraser,
40 jboolean jconsider_inheritance)
41 {
42 JNIEntry(RevisionRangeList, remove);
43
44 SVN::Pool request_pool;
45
46 RevisionRangeList rangelist = RevisionRangeList::create(jthis, request_pool);
47 CPPADDR_NULL_PTR(rangelist.get(), NULL);
48
49 RevisionRangeList eraser(jeraser, request_pool);
50 CPPADDR_NULL_PTR(eraser.get(), NULL);
51
52 svn_rangelist_t *output;
53 SVN_JNI_ERR(svn_rangelist_remove(&output, eraser.get(), rangelist.get(),
54 bool(jconsider_inheritance),
55 request_pool.getPool()),
56 NULL);
57 return RevisionRangeList(output).toList();
58 }
59