lib/interfaces/kdevvcsfileinfoprovider.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef KDEVVCSFILEINFOPROVIDER_H
00021
#define KDEVVCSFILEINFOPROVIDER_H
00022
00023
#include <qobject.h>
00024
#include <qmap.h>
00025
00029 struct VCSFileInfo
00030 {
00031 enum FileState {
Unknown,
Added,
Uptodate,
Modified,
Conflict,
Sticky,
NeedsPatch,
NeedsCheckout,
Directory };
00032
00033 VCSFileInfo() {}
00034 VCSFileInfo(
QString fn,
QString workRev,
QString repoRev, FileState aState )
00035 :
fileName(fn),
workRevision(workRev),
repoRevision(repoRev),
state(aState) {}
00036
00037 QString fileName;
00038 QString workRevision;
00039 QString repoRevision;
00040 FileState state;
00041
00042
QString toString() const;
00043
00044 static
QString state2String( FileState state );
00045 };
00046
00050 typedef
QMap<
QString,
VCSFileInfo>
VCSFileInfoMap;
00051
00052 class
KDevVersionControl;
00053
00057 class
KDevVCSFileInfoProvider : public
QObject
00058 {
00059 Q_OBJECT
00060
public:
00064
KDevVCSFileInfoProvider( KDevVersionControl *parent,
const char *name );
00068
virtual ~
KDevVCSFileInfoProvider();
00069
00077
virtual const VCSFileInfoMap *status(
const QString &dirPath )
const = 0;
00078
00088
virtual bool requestStatus(
const QString &dirPath,
void *callerData ) = 0;
00089 signals:
00095
void statusReady(
const VCSFileInfoMap &fileInfoMap,
void *callerData );
00096
00097
protected:
00101 KDevVersionControl *owner()
const;
00102
00103
private:
00104
struct Private;
00105 Private *d;
00106
00108
private:
00109
KDevVCSFileInfoProvider(
const KDevVCSFileInfoProvider & );
00110
KDevVCSFileInfoProvider &operator=(
const KDevVCSFileInfoProvider & );
00111 };
00112
00113
#endif // KDEVVCSFILEINFOPROVIDER_H
This file is part of the documentation for KDevelop Version 3.0.4.