File indexing completed on 2024-05-05 04:41:00

0001 /*
0002     SPDX-FileCopyrightText: 2007 Andreas Pakulat <apaku@gmx.de>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef KDEVPLATFORM_PLUGIN_SVNBLAMEJOB_P_H
0008 #define KDEVPLATFORM_PLUGIN_SVNBLAMEJOB_P_H
0009 
0010 
0011 #include "svninternaljobbase.h"
0012 
0013 #include <vcs/vcsrevision.h>
0014 
0015 namespace KDevelop {
0016     class VcsAnnotationLine;
0017 }
0018 
0019 class QUrl;
0020 class SvnInternalBlameJob : public SvnInternalJobBase
0021 {
0022     Q_OBJECT
0023 public:
0024     explicit SvnInternalBlameJob( SvnJobBase* parent = nullptr );
0025 
0026     void setLocation( const QUrl &location );
0027     void setEndRevision( const KDevelop::VcsRevision& rev );
0028     void setStartRevision( const KDevelop::VcsRevision& rev );
0029 
0030     QUrl location() const;
0031     KDevelop::VcsRevision startRevision() const;
0032     KDevelop::VcsRevision endRevision() const;
0033 Q_SIGNALS:
0034     void blameLine( const KDevelop::VcsAnnotationLine& );
0035 protected:
0036     void run(ThreadWeaver::JobPointer self, ThreadWeaver::Thread* thread) override;
0037 private:
0038     QUrl m_location;
0039     KDevelop::VcsRevision m_startRevision;
0040     KDevelop::VcsRevision m_endRevision;
0041 };
0042 
0043 
0044 #endif