summaryrefslogtreecommitdiff
path: root/src/usvfsconnector.h
diff options
context:
space:
mode:
authorTannin <sherb@gmx.net>2015-11-17 18:58:00 +0100
committerTannin <sherb@gmx.net>2015-11-17 18:58:00 +0100
commit7f4f4cafea5a196ddf824adf7c4e65cec5d44d88 (patch)
tree64f47f30b6958c5a0aaf8f7394e8d32c5e765044 /src/usvfsconnector.h
parent7d93a9a2003f31188e4da8cbcd7e5df0352bb900 (diff)
first work on interfacing with usvfs
Diffstat (limited to 'src/usvfsconnector.h')
-rw-r--r--src/usvfsconnector.h88
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