diff options
Diffstat (limited to 'vcs/subversion/subversion_core.h')
| -rw-r--r-- | vcs/subversion/subversion_core.h | 105 | 
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 ¤tUrl, 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 | 
