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