00001 #ifndef FILESERVER_H
00002 #define FILESERVER_H
00003
00004 #include <QVector>
00005 #include <QString>
00006 #include <QVariant>
00007
00008 #include "arcfileelement.h"
00009
00010 class MainWindow;
00011
00013
00019 class FileServer {
00020 private:
00021
00022 protected:
00024 QVector<ARCFileElement*> fileList;
00025
00027 QString currentPath;
00028
00029 bool m_notifyParent;
00030
00032 void clearFileList();
00033
00034 public:
00036 FileServer();
00037
00039 void setNotifyParent(bool flag);
00040
00042 bool getNotifyParent();
00043
00045 virtual QStringList getFileInfoLabels() = 0;
00046
00048 virtual void updateFileList(QString URL) = 0;
00049
00051 virtual QVector<ARCFileElement*> &getFileList() = 0;
00052
00054 virtual bool goUpOneFolder() = 0;
00055
00057 virtual QString getCurrentURL() = 0;
00058
00060 virtual QString getCurrentPath() = 0;
00061
00063 virtual unsigned int getFilePermissions(QString path) = 0;
00064
00066 virtual void setFilePermissions(QString path, unsigned int permissions) = 0;
00067
00069 virtual bool copyFromServer(QString sourcePath, QString destinationPah) = 0;
00070
00072 virtual bool copyToServer(QString sourcePath, QString destinationPah) = 0;
00073
00075 virtual bool copyToServer(QList<QUrl> &urlList, QString destinationPath) = 0;
00076
00078 virtual bool deleteItem(QString path) = 0;
00079
00081 virtual bool deleteItems(QStringList& paths) = 0;
00082
00084 virtual bool makeDir(QString path) = 0;
00085
00087 virtual QMap<QString, QString> fileProperties(QString URL) = 0;
00088
00090 virtual bool rename(QString fromURL, QString toURL) = 0;
00091
00092 };
00093
00094 #endif // FILESERVER_H