Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/bindings/javahl/native/ClientContext.h view on Meta::CPAN
* @file ClientContext.h
* @brief Interface of the class ClientContext
*/
#ifndef CLIENTCONTEXT_H
#define CLIENTCONTEXT_H
#include <string>
#include "svn_types.h"
#include "svn_client.h"
#include <jni.h>
#include "Pool.h"
#include "JNIStringHolder.h"
class Prompter;
class CommitMessage;
/**
* This class contains a Java objects implementing the interface ClientContext
* and implements the functions read & close of svn_stream_t.
*
*/
class ClientContext
{
private:
svn_client_ctx_t *m_context;
const SVN::Pool *m_pool;
jobject m_jctx;
std::string m_userName;
std::string m_passWord;
std::string m_configDir;
Prompter *m_prompter;
bool m_cancelOperation;
protected:
static void notify(void *baton, const svn_wc_notify_t *notify,
apr_pool_t *pool);
static void progress(apr_off_t progressVal, apr_off_t total,
void *baton, apr_pool_t *pool);
static svn_error_t *resolve(svn_wc_conflict_result_t **result,
const svn_wc_conflict_description2_t *desc,
void *baton,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
static svn_wc_conflict_result_t *javaResultToC(jobject result,
apr_pool_t *pool);
public:
ClientContext(jobject jsvnclient, SVN::Pool &pool);
~ClientContext();
static svn_error_t *checkCancel(void *cancelBaton);
svn_client_ctx_t *getContext(CommitMessage *message, SVN::Pool &in_pool);
void username(const char *pi_username);
void password(const char *pi_password);
void setPrompt(Prompter *prompter);
void cancelOperation();
const char *getConfigDirectory() const;
/**
* Set the configuration directory, taking the usual steps to
* ensure that Subversion's config file templates exist in the
* specified location.
*/
void setConfigDirectory(const char *configDir);
};
#endif // CLIENTCONTEXT_H
( run in 0.530 second using v1.01-cache-2.11-cpan-524268b4103 )