diff options
| author | Tannin <sherb@gmx.net> | 2015-11-17 18:58:00 +0100 |
|---|---|---|
| committer | Tannin <sherb@gmx.net> | 2015-11-17 18:58:00 +0100 |
| commit | 7f4f4cafea5a196ddf824adf7c4e65cec5d44d88 (patch) | |
| tree | 64f47f30b6958c5a0aaf8f7394e8d32c5e765044 /src/usvfsconnector.h | |
| parent | 7d93a9a2003f31188e4da8cbcd7e5df0352bb900 (diff) | |
first work on interfacing with usvfs
Diffstat (limited to 'src/usvfsconnector.h')
| -rw-r--r-- | src/usvfsconnector.h | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/src/usvfsconnector.h b/src/usvfsconnector.h new file mode 100644 index 00000000..464b932b --- /dev/null +++ b/src/usvfsconnector.h @@ -0,0 +1,88 @@ +/* +Copyright (C) 2015 Sebastian Herbord. All rights reserved. + +This file is part of Mod Organizer. + +Mod Organizer is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Mod Organizer 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 General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>. +*/ + + +#ifndef USVFSCONNECTOR_H +#define USVFSCONNECTOR_H + + +#include <usvfs.h> +#include <QString> +#include <QThread> +#include <QFile> +#include <QDebug> + + +struct Mapping { + QString source; + QString destination; + bool isDirectory; +}; + +typedef std::vector<Mapping> MappingType; + + +class LogWorker : public QThread { + + Q_OBJECT + +public: + + LogWorker(); + ~LogWorker(); + +public slots: + + void process(); + void exit(); + +signals: + + void outputLog(const QString &message); + void finished(); + +private: + + std::string m_Buffer; + bool m_QuitRequested; + QFile *m_LogFile; + +}; + + +class UsvfsConnector : public QObject { + + Q_OBJECT + +public: + + UsvfsConnector(); + ~UsvfsConnector(); + + void updateMapping(const MappingType &mapping); + +private: + + LogWorker m_LogWorker; + QThread m_WorkerThread; + +}; + + +#endif // USVFSCONNECTOR_H |
