summaryrefslogtreecommitdiffstats
path: root/vcs/subversion/subversion_core.h
diff options
context:
space:
mode:
Diffstat (limited to 'vcs/subversion/subversion_core.h')
-rw-r--r--vcs/subversion/subversion_core.h105
1 files changed, 105 insertions, 0 deletions
diff --git a/vcs/subversion/subversion_core.h b/vcs/subversion/subversion_core.h
new file mode 100644
index 00000000..c879fce6
--- /dev/null
+++ b/vcs/subversion/subversion_core.h
@@ -0,0 +1,105 @@
+/**
+
+ Copyright (C) 2003-2005 Mickael Marchand <marchand@kde.org>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __SUBVERSION_CORE_H__
+#define __SUBVERSION_CORE_H__
+
+#include <qobject.h>
+#include <qwidget.h>
+#include <kio/job.h>
+#include <kurl.h>
+#include <ktempdir.h>
+#include "subversion_fileinfo.h"
+#include "subversion_global.h"
+
+class KDevProject;
+class subversionPart;
+class subversionWidget;
+class KApplication;
+class SvnBlameHolder;
+class SvnLogHolder;
+class SvnLogViewWidget;
+
+// class subversionCore : public QObject, public DCOPObject
+class subversionCore : public QObject {
+ Q_OBJECT
+// K_DCOP
+
+public:
+
+ subversionCore(subversionPart *part);
+ ~subversionCore();
+ subversionWidget *processWidget() const;
+// SvnLogViewWidget *processWidget() const;
+ void update( const KURL::List&);
+ void commit( const KURL::List&, bool recurse, bool keeplocks );
+ void svnLog( const KURL::List& list,
+ int revstart, QString revKindStart, int revend, QString revKindEnd,
+ bool discorverChangedPath, bool strictNodeHistory );
+ void blame( const KURL &url, SvnGlobal::UrlMode mode, int revstart, QString revKindStart, int revend, QString revKindEnd );
+ void add( const KURL::List&);
+ void del( const KURL::List&);
+ void diff( const KURL::List&, const QString& where);
+ void diffAsync( const KURL &pathOrUrl1, const KURL &pathOrUrl2,
+ int rev1, QString revKind1, int rev2, QString revKind2,
+ bool recurse, bool pegdiff = false );
+ void revert( const KURL::List&);
+ void resolve( const KURL::List&);
+ void checkout();
+ void switchTree( const KURL &path, const KURL &repositUrl,
+ int revNum, const QString &revKind, bool recurse );
+ void switchRelocate( const KURL &path, const KURL &currentUrl, const KURL &newUrl, bool recurse );
+ void svnCopy( const KURL &src, int srcRev, const QString &srcRevKind, const KURL &dest );
+ void merge( const KURL &src1, int rev1, QString revKind1, const KURL &src2, int rev2, QString revKind2, const KURL &wc_path,
+ bool recurse, bool ignore_ancestry, bool force, bool dry_run );
+ // This is blocking function. But the GUI is not blocked.
+ // Information will be pulled solely from the working copy.Thus no network connections will be made.
+ // Parameter holderMap is the map to be filled out by this method. Callers should preallocate this object.
+ // Return true on success. Otherwise return false.
+ bool clientInfo( KURL path_or_url, bool recurse, QMap< KURL, SvnGlobal::SvnInfoHolder> &holderMap );
+ void createNewProject( const QString& dirName, const KURL& importURL, bool init );
+ KDevVCSFileInfoProvider *fileInfoProvider() const;
+
+ void initProcessDlg( KIO::Job *job, const QString &src, const QString &dest );
+// k_dcop:
+// void notification( const QString&, int,int, const QString&, int,int ,long int, const QString& );
+
+private slots:
+ void slotEndCheckout( KIO::Job * job );
+ void slotResult( KIO::Job * job );
+ void slotLogResult( KIO::Job * job );
+ void slotBlameResult( KIO::Job * job );
+ void slotDiffResult( KIO::Job * job );
+
+signals:
+ void checkoutFinished( QString dir );
+
+private:
+ QGuardedPtr<subversionWidget> m_widget;
+ subversionPart *m_part;
+ QString wcPath;
+ SVNFileInfoProvider *m_fileInfoProvider;
+ QStringList diffresult; //for diff commands ;)
+ // be nice about tmp diff files: delete all of them when exiting.
+ KTempDir* diffTmpDir;
+
+};
+
+#endif