summaryrefslogtreecommitdiffstats
path: root/kipi-plugins/kameraklient/gpcontroller.h
diff options
context:
space:
mode:
Diffstat (limited to 'kipi-plugins/kameraklient/gpcontroller.h')
-rw-r--r--kipi-plugins/kameraklient/gpcontroller.h99
1 files changed, 99 insertions, 0 deletions
diff --git a/kipi-plugins/kameraklient/gpcontroller.h b/kipi-plugins/kameraklient/gpcontroller.h
new file mode 100644
index 0000000..ab9f320
--- /dev/null
+++ b/kipi-plugins/kameraklient/gpcontroller.h
@@ -0,0 +1,99 @@
+/* ============================================================
+ * File : gpcontroller.h
+ * Author: Renchi Raju <renchi@pooh.tam.uiuc.edu>
+ * Date : 2003-01-22
+ * Description :
+ *
+ * Copyright 2003 by Renchi Raju <renchi@pooh.tam.uiuc.edu>
+
+ * This program 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 2, or (at your option)
+ * any later version.
+ *
+ * This program 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.
+ *
+ * ============================================================ */
+
+#ifndef GPCONTROLLER_H
+#define GPCONTROLLER_H
+
+#include <qobject.h>
+#include <qthread.h>
+#include <qmutex.h>
+
+#include "mtqueue.h"
+#include "gpcommand.h"
+#include "cameratype.h"
+
+class QString;
+class QImage;
+
+namespace KIPIKameraKlientPlugin
+{
+
+class GPCamera;
+
+class GPController : public QObject, public QThread {
+ Q_OBJECT
+
+public:
+ GPController(QObject *parent, const CameraType& ctype);
+ ~GPController();
+
+ void requestInitialize();
+ void requestGetSubFolders(const QString& folder);
+ void requestMakeFolder(const QString& folder, const QString& newFolder);
+ void requestDeleteFolder(const QString& folder);
+ void requestGetItemsInfo(const QString& folder);
+ void requestGetAllItemsInfo(const QString& folder);
+ void requestGetThumbnail(const QString& folder, const QString& imageName);
+ void requestDownloadItem(const QString& folder, const QString& itemName, const QString& saveFile);
+ void requestDeleteItem(const QString& folder, const QString& itemName);
+ void requestUploadItem(const QString& folder, const QString& localFile, const QString& uploadName);
+ void requestOpenItem(const QString& folder, const QString& itemName, const QString& saveFile);
+ void requestOpenItemWithService(const QString& folder, const QString& itemName, const QString& saveFile, const QString& serviceName);
+ void cancel();
+ void getInformation(QString& summary, QString& manual, QString& about);
+
+protected:
+ void run();
+
+private:
+ void initialize();
+ void getSubFolders(const QString& folder);
+ void makeFolder(const QString& folder, const QString& newFolder);
+ void deleteFolder(const QString& folder);
+ void getItemsInfo(const QString& folder);
+ void getAllItemsInfo(const QString& folder);
+ void getThumbnail(const QString& folder, const QString& imageName);
+ void downloadItem(const QString& folder, const QString& itemName, const QString& saveFile);
+ void deleteItem(const QString& folder, const QString& itemName);
+ void uploadItem(const QString& folder, const QString& uploadName, const QString& localFile);
+ void openItem(const QString& folder, const QString& itemName, const QString& saveFile);
+ void openItemWithService(const QString& folder, const QString& itemName, const QString& saveFile, const QString& serviceName);
+ void exifInfo(const QString& folder, const QString& itemName);
+ void error(const QString& errorMsg);
+
+ void scaleHighlightThumbnail(QImage& thumbnail);
+ void showBusy(bool val);
+
+ QObject *parent_;
+ GPCamera *camera_;
+ QMutex mutex_;
+ MTQueue<GPCommand> cmdQueue_;
+ bool close_;
+
+private slots:
+ void slotStatusMsg(const QString& msg);
+ void slotProgressVal(int val);
+ void slotErrorMsg(const QString& msg);
+};
+
+} // NameSpace KIPIKameraKlientPlugin
+
+#endif /* GPCONTROLLER_H */