1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
/**
* @copyright
* ====================================================================
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
* ====================================================================
* @endcopyright
*
* @file UpdateReporter.h
* @brief Interface of the class UpdateReporter
*/
#ifndef JAVAHL_UPDATE_REPORTER_H
#define JAVAHL_UPDATE_REPORTER_H
#include <jni.h>
#include "svn_ra.h"
#include "SVNBase.h"
#include "EditorProxy.h"
class RemoteSession;
/*
* This class wraps the update/status/switch/diff reporter in svn_ra.h
*/
class StateReporter : public SVNBase
{
public:
StateReporter();
virtual ~StateReporter();
static StateReporter* getCppObject(jobject jreporter);
virtual void dispose(jobject jthis);
void setPath(jstring jpath, jlong jrevision, jobject jdepth,
jboolean jstart_empty, jstring jlock_token);
void deletePath(jstring jpath);
void linkPath(jstring jurl, jstring jpath, jlong jrevision, jobject jdepth,
jboolean jstart_empty, jstring jlock_token);
jlong finishReport();
void abortReport();
private:
bool m_valid;
const svn_ra_reporter3_t* m_raw_reporter;
void* m_report_baton;
EditorProxy* m_editor;
friend class RemoteSession;
apr_pool_t* get_report_pool() const { return pool.getPool(); }
void set_reporter_data(const svn_ra_reporter3_t* raw_reporter,
void* report_baton,
EditorProxy* editor);
svn_revnum_t m_target_revision;
};
#endif // JAVAHL_UPDATE_REPORTER_H
|