diff options
Diffstat (limited to 'src/svnqt/log_entry.hpp')
-rw-r--r-- | src/svnqt/log_entry.hpp | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/src/svnqt/log_entry.hpp b/src/svnqt/log_entry.hpp new file mode 100644 index 0000000..cc33f60 --- /dev/null +++ b/src/svnqt/log_entry.hpp @@ -0,0 +1,137 @@ +/* + * Port for usage with qt-framework and development for kdesvn + * (C) 2005-2007 by Rajko Albrecht + * http://kdesvn.alwins-world.de + */ +/* + * ==================================================================== + * Copyright (c) 2002-2005 The RapidSvn Group. All rights reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library (in the file LGPL.txt); if not, + * write to the Free Software Foundation, Inc., 51 Franklin St, + * Fifth Floor, Boston, MA 02110-1301 USA + * + * This software consists of voluntary contributions made by many + * individuals. For exact contribution history, see the revision + * history and logs, available at http://rapidsvn.tigris.org/. + * ==================================================================== + */ + +#ifndef _SVNCPP_LOG_ENTRY_H_ +#define _SVNCPP_LOG_ENTRY_H_ + +#include "svnqt/svnqt_defines.hpp" +#include "svnqt/datetime.hpp" + +//Qt +#include <qglobal.h> + +#if QT_VERSION < 0x040000 + +#include <qglobal.h> +#include <qstring.h> +#include <qvaluelist.h> +#include <qmap.h> + +#else + +#include <QtCore> + +#endif + +// apr +#include "apr_time.h" + +// subversion api +#include "svn_types.h" +#include "svn_version.h" + +namespace svn +{ + + class SVNQT_EXPORT LogChangePathEntry + { + public: + LogChangePathEntry (const char *path_, + char action_, + const char *copyFromPath_, + const svn_revnum_t copyFromRevision_); + + LogChangePathEntry (const QString &path_, + char action_, + const QString ©FromPath_, + const svn_revnum_t copyFromRevision_); + + LogChangePathEntry (const QString &path_, + char action_, + const QString ©FromPath_, + const svn_revnum_t copyFromRevision_, + const QString ©ToPath_, + const svn_revnum_t copyToRevision_); + + LogChangePathEntry(); + + QString path; + char action; + QString copyFromPath; + //! future use or useful in backends + QString copyToPath; + + QLONG copyFromRevision; + //! future use or useful in backends + QLONG copyToRevision; + }; + +#if QT_VERSION < 0x040000 + typedef QValueList<LogChangePathEntry> LogChangePathEntries; +#else + typedef QList<LogChangePathEntry> LogChangePathEntries; +#endif + + class SVNQT_EXPORT LogEntry + { + public: + LogEntry (); + + LogEntry (const svn_revnum_t revision, + const char * author, + const char * date, + const char * message); +#if ((SVN_VER_MAJOR == 1) && (SVN_VER_MINOR >= 5)) || (SVN_VER_MAJOR > 1) + LogEntry(svn_log_entry_t*); +#endif + void setDate(const char*date); + + //! if -1 the entry is a fake entry and not real usable! + QLONG revision; + QLONG date; + QString author; + QString message; + LogChangePathEntries changedPaths; + QLIST<QLONG> m_MergedInRevisions; + }; +} + +SVNQT_EXPORT QDataStream &operator<<(QDataStream&s,const svn::LogEntry&r); +SVNQT_EXPORT QDataStream &operator<<(QDataStream&s,const svn::LogChangePathEntry&r); + +SVNQT_EXPORT QDataStream &operator>>(QDataStream&s,svn::LogEntry&r); +SVNQT_EXPORT QDataStream &operator>>(QDataStream&s,svn::LogChangePathEntry&r); + +#endif +/* ----------------------------------------------------------------- + * local variables: + * eval: (load-file "../../rapidsvn-dev.el") + * end: + */ |