⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 org_tigris_subversion_javahl_svnclient.cpp

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 CPP
📖 第 1 页 / 共 4 页
字号:
/** * @copyright * ==================================================================== * Copyright (c) 2003 CollabNet.  All rights reserved. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution.  The terms * are also available at http://subversion.tigris.org/license-1.html. * If newer versions of this license are posted there, you may use a * newer version instead, at your option. * * This software consists of voluntary contributions made by many * individuals.  For exact contribution history, see the revision * history and logs, available at http://subversion.tigris.org/. * ==================================================================== * @endcopyright * * @file org_tigris_subversion_javahl_SVNClient.cpp * @brief Implementation of the native methods in the java class SVNClient */#include "../include/org_tigris_subversion_javahl_SVNClient.h"#include "../include/org_tigris_subversion_javahl_SVNClientLogLevel.h"#include "JNIUtil.h"#include "JNIStackElement.h"#include "JNIStringHolder.h"#include "JNIByteArray.h"#include "SVNClient.h"#include "Revision.h"#include "Notify.h"#include "Notify2.h"#include "CommitMessage.h"#include "Prompter.h"#include "Targets.h"#include "BlameCallback.h"#include "svn_version.h"#include "svn_private_config.h"#include "version.h"#include "Outputer.h"#include <iostream>/* * Class:     org_tigris_subversion_javahl_SVNClient * Method:    ctNative * Signature: ()J */JNIEXPORT jlong JNICALL Java_org_tigris_subversion_javahl_SVNClient_ctNative  (JNIEnv* env, jobject jthis){    JNIEntry(SVNClient, ctNative);    SVNClient *obj = new SVNClient;    return obj->getCppAddr();}/* * Class:     org_tigris_subversion_javahl_SVNClient * Method:    dispose * Signature: ()V */JNIEXPORT void JNICALL Java_org_tigris_subversion_javahl_SVNClient_dispose  (JNIEnv* env, jobject jthis){    JNIEntry(SVNClient, dispose);    SVNClient *cl = SVNClient::getCppObject(jthis);    if(cl == NULL)    {        JNIUtil::throwError(_("bad c++ this"));        return;    }    cl->dispose(jthis);}/* * Class:     org_tigris_subversion_javahl_SVNClient * Method:    finalize * Signature: ()V */JNIEXPORT void JNICALL Java_org_tigris_subversion_javahl_SVNClient_finalize  (JNIEnv* env, jobject jthis){    JNIEntry(SVNClient, finalize);    SVNClient *cl = SVNClient::getCppObject(jthis);    if(cl != NULL)    {        cl->finalize();    }}/* * Class:     org_tigris_subversion_javahl_SVNClient * Method:    getAdminDirectoryName * Signature: ()Ljava/lang/String; */JNIEXPORT jstring JNICALL Java_org_tigris_subversion_javahl_SVNClient_getAdminDirectoryName  (JNIEnv* env, jobject jthis){    JNIEntry(Client, getAdminDirectoryName);    SVNClient *cl = SVNClient::getCppObject(jthis);    if (cl == NULL)    {        JNIUtil::throwError(_("bad c++ this"));        return NULL;    }    return cl->getAdminDirectoryName();}/* * Class:     org_tigris_subversion_javahl_SVNClient * Method:    isAdminDirectory * Signature: (Ljava/lang/String;)Z */JNIEXPORT jboolean JNICALL Java_org_tigris_subversion_javahl_SVNClient_isAdminDirectory  (JNIEnv* env, jobject jthis, jstring jname){    JNIEntry(Client, isAdminDirectory);    SVNClient *cl = SVNClient::getCppObject(jthis);    if (cl == NULL)    {        JNIUtil::throwError(_("bad c++ this"));        return JNI_FALSE;    }    JNIStringHolder name(jname);    if (JNIUtil::isExceptionThrown())    {        return JNI_FALSE;    }    return cl->isAdminDirectory(name);}/* * Class:     org_tigris_subversion_javahl_SVNClient * Method:    getLastPath * Signature: ()Ljava/lang/String; */JNIEXPORT jstring JNICALL Java_org_tigris_subversion_javahl_SVNClient_getLastPath  (JNIEnv* env, jobject jthis){    JNIEntry(Client, getLastPath);    SVNClient *cl = SVNClient::getCppObject(jthis);    if(cl == NULL)    {        JNIUtil::throwError(_("bad c++ this"));        return NULL;    }    const char *ret = cl->getLastPath();    return JNIUtil::makeJString(ret);}/* * Class:     org_tigris_subversion_javahl_SVNClient * Method:    list * Signature: (Ljava/lang/String;Lorg/tigris/subversion/javahl/Revision; *             Lorg/tigris/subversion/javahl/Revision;Z) *            [Lorg/tigris/subversion/javahl/DirEntry; */JNIEXPORT jobjectArray JNICALL Java_org_tigris_subversion_javahl_SVNClient_list  (JNIEnv* env, jobject jthis, jstring jurl, jobject jrevision,    jobject jpegRevision, jboolean jrecurse){    JNIEntry(SVNClient, list);    SVNClient *cl = SVNClient::getCppObject(jthis);    if(cl == NULL)    {        return NULL;    }    JNIStringHolder url(jurl);    if(JNIUtil::isExceptionThrown())    {        return NULL;    }    Revision revision(jrevision);    if(JNIUtil::isExceptionThrown())    {        return NULL;    }    Revision pegRevision(jpegRevision);    if(JNIUtil::isExceptionThrown())    {        return NULL;    }    return cl->list(url, revision, pegRevision, jrecurse ? true:false);}/* * Class:     org_tigris_subversion_javahl_SVNClient * Method:    status * Signature: (Ljava/lang/String;ZZZZZ)[Lorg/tigris/subversion/javahl/Status; */JNIEXPORT jobjectArray JNICALL Java_org_tigris_subversion_javahl_SVNClient_status  (JNIEnv* env, jobject jthis, jstring jpath, jboolean jrecurse,    jboolean jonServer, jboolean jgetAll, jboolean jnoIgnore,    jboolean jignoreExternals){    JNIEntry(SVNClient, status);    SVNClient *cl = SVNClient::getCppObject(jthis);    if(cl == NULL)    {        return NULL;    }    JNIStringHolder path(jpath);    if(JNIUtil::isExceptionThrown())    {        return NULL;    }    return cl->status(path, jrecurse ? true: false, jonServer ? true:false,                       jgetAll ? true:false, jnoIgnore ? true:false,                      jignoreExternals ? true:false);}/* * Class:     org_tigris_subversion_javahl_SVNClient * Method:    singleStatus * Signature: (Ljava/lang/String;ZZ)Lorg/tigris/subversion/javahl/Status; */JNIEXPORT jobject JNICALL Java_org_tigris_subversion_javahl_SVNClient_singleStatus  (JNIEnv* env, jobject jthis, jstring jpath, jboolean jonServer){    JNIEntry(SVNClient, singleStatus);    SVNClient *cl = SVNClient::getCppObject(jthis);    if(cl == NULL)    {        return NULL;    }    JNIStringHolder path(jpath);    if(JNIUtil::isExceptionThrown())    {        return NULL;    }    return cl->singleStatus(path, jonServer ? true:false);}/* * Class:     org_tigris_subversion_javahl_SVNClient * Method:    username * Signature: (Ljava/lang/String;)V */JNIEXPORT void JNICALL Java_org_tigris_subversion_javahl_SVNClient_username  (JNIEnv* env, jobject jthis, jstring jusername){    JNIEntry(SVNClient, username);    SVNClient *cl = SVNClient::getCppObject(jthis);    if(cl == NULL)    {        JNIUtil::throwError(_("bad c++ this"));        return;    }    if (jusername == NULL)    {        JNIUtil::raiseThrowable("java/lang/IllegalArgumentException",                       _("Provide a username (null is not supported)"));        return;    }    JNIStringHolder username(jusername);    if(JNIUtil::isExceptionThrown())    {        return;    }    cl->username(username);}/* * Class:     org_tigris_subversion_javahl_SVNClient * Method:    password * Signature: (Ljava/lang/String;)V */JNIEXPORT void JNICALL Java_org_tigris_subversion_javahl_SVNClient_password  (JNIEnv* env, jobject jthis, jstring jpassword){    JNIEntry(SVNClient, password);    SVNClient *cl = SVNClient::getCppObject(jthis);    if(cl == NULL)    {        JNIUtil::throwError(_("bad c++ this"));        return;    }    if (jpassword == NULL)    {        JNIUtil::raiseThrowable("java/lang/IllegalArgumentException",		       _("Provide a password (null is not supported)"));        return;    }    JNIStringHolder password(jpassword);    if(JNIUtil::isExceptionThrown())    {        return;    }    cl->password(password);}/* * Class:     org_tigris_subversion_javahl_SVNClient * Method:    setPrompt * Signature: (Lorg/tigris/subversion/javahl/PromptUserPassword;)V */JNIEXPORT void JNICALL Java_org_tigris_subversion_javahl_SVNClient_setPrompt  (JNIEnv* env, jobject jthis, jobject jprompter){    JNIEntry(SVNClient, setPrompt);    SVNClient *cl = SVNClient::getCppObject(jthis);    if(cl == NULL)    {        JNIUtil::throwError(_("bad c++ this"));        return;    }    Prompter *prompter = Prompter::makeCPrompter(jprompter);    if(JNIUtil::isExceptionThrown())    {        return;    }    cl->setPrompt(prompter);}/* * Class:     org_tigris_subversion_javahl_SVNClient * Method:    logMessages * Signature: (Ljava/lang/String;Lorg/tigris/subversion/javahl/Revision; *             Lorg/tigris/subversion/javahl/Revision;ZZJ) *             [Lorg/tigris/subversion/javahl/LogMessage; */JNIEXPORT jobjectArray JNICALL Java_org_tigris_subversion_javahl_SVNClient_logMessages  (JNIEnv* env, jobject jthis, jstring jpath, jobject jrevisionStart,   jobject jrevisionEnd, jboolean jstopOnCopy, jboolean jdisoverPaths,   jlong jlimit){    JNIEntry(SVNClient, logMessages);    SVNClient *cl = SVNClient::getCppObject(jthis);    if(cl == NULL)    {        JNIUtil::throwError(_("bad c++ this"));        return NULL;    }    Revision revisionStart(jrevisionStart, false, true);    if(JNIUtil::isExceptionThrown())    {        return NULL;    }    Revision revisionEnd(jrevisionEnd, true);    if(JNIUtil::isExceptionThrown())    {        return NULL;    }    JNIStringHolder path(jpath);    if(JNIUtil::isExceptionThrown())    {        return NULL;    }    return cl->logMessages(path, revisionStart, revisionEnd,        jstopOnCopy ? true: false, jdisoverPaths ? true : false, jlimit);}/* * Class:     org_tigris_subversion_javahl_SVNClient * Method:    checkout * Signature: (Ljava/lang/String;Ljava/lang/String; *             Lorg/tigris/subversion/javahl/Revision; *             Lorg/tigris/subversion/javahl/Revision;ZZ)J */JNIEXPORT jlong JNICALL Java_org_tigris_subversion_javahl_SVNClient_checkout  (JNIEnv* env, jobject jthis, jstring jmoduleName, jstring jdestPath,    jobject jrevision, jobject jpegRevision, jboolean jrecurse,    jboolean jignoreExternals){    JNIEntry(SVNClient, checkout);    SVNClient *cl = SVNClient::getCppObject(jthis);    if(cl == NULL)    {        JNIUtil::throwError(_("bad c++ this"));        return -1;    }    Revision revision(jrevision, true);    if(JNIUtil::isExceptionThrown())    {        return -1;    }    Revision pegRevision(jpegRevision, true);    if(JNIUtil::isExceptionThrown())    {        return -1;    }    JNIStringHolder moduleName(jmoduleName);    if(JNIUtil::isExceptionThrown())    {        return -1;    }    JNIStringHolder destPath(jdestPath);    if(JNIUtil::isExceptionThrown())    {        return -1;    }    return cl->checkout(moduleName, destPath, revision, pegRevision,         jrecurse ? true : false, jignoreExternals ? true : false);}/* * Class:     org_tigris_subversion_javahl_SVNClient * Method:    notification * Signature: (Lorg/tigris/subversion/javahl/Notify;)V */JNIEXPORT void JNICALL Java_org_tigris_subversion_javahl_SVNClient_notification  (JNIEnv* env, jobject jthis, jobject jnotify){    JNIEntry(SVNClient, notification);    SVNClient *cl = SVNClient::getCppObject(jthis);    if(cl == NULL)    {        JNIUtil::throwError(_("bad c++ this"));        return;    }    Notify *notify = Notify::makeCNotify(jnotify);    if(JNIUtil::isExceptionThrown())    {        return;    }    cl->notification(notify);}/* * Class:     org_tigris_subversion_javahl_SVNClient * Method:    notification2 * Signature: (Lorg/tigris/subversion/javahl/Notify2;)V */JNIEXPORT void JNICALL Java_org_tigris_subversion_javahl_SVNClient_notification2  (JNIEnv* env, jobject jthis, jobject jnotify2){    JNIEntry(SVNClient, notification2);    SVNClient *cl = SVNClient::getCppObject(jthis);    if(cl == NULL)    {        JNIUtil::throwError(_("bad c++ this"));        return;    }    Notify2 *notify2 = Notify2::makeCNotify(jnotify2);    if(JNIUtil::isExceptionThrown())    {        return;    }    cl->notification2(notify2);}/* * Class:     org_tigris_subversion_javahl_SVNClient * Method:    commitMessageHandler * Signature: (Lorg/tigris/subversion/javahl/CommitMessage;)V */JNIEXPORT void JNICALL Java_org_tigris_subversion_javahl_SVNClient_commitMessageHandler  (JNIEnv *env, jobject jthis, jobject jcommitMessage){    JNIEntry(SVNClient, commitMessageHandler);    SVNClient *cl = SVNClient::getCppObject(jthis);    if(cl == NULL)    {        JNIUtil::throwError("bad c++ this");        return;    }    CommitMessage *commitMessage =         CommitMessage::makeCCommitMessage(jcommitMessage);    if(JNIUtil::isExceptionThrown())    {        return;    }    cl->commitMessageHandler(commitMessage);}/* * Class:     org_tigris_subversion_javahl_SVNClient * Method:    remove * Signature: (Ljava/lang/String;Ljava/lang/String;Z)V */JNIEXPORT void JNICALL Java_org_tigris_subversion_javahl_SVNClient_remove  (JNIEnv* env, jobject jthis, jobjectArray jtargets, jstring jmessage, 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -