summaryrefslogtreecommitdiffstats
path: root/src/utilities/cameragui/gpcamera.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/utilities/cameragui/gpcamera.h')
-rw-r--r--src/utilities/cameragui/gpcamera.h107
1 files changed, 107 insertions, 0 deletions
diff --git a/src/utilities/cameragui/gpcamera.h b/src/utilities/cameragui/gpcamera.h
new file mode 100644
index 00000000..7071e972
--- /dev/null
+++ b/src/utilities/cameragui/gpcamera.h
@@ -0,0 +1,107 @@
+/* ============================================================
+ *
+ * This file is a part of digiKam project
+ * http://www.digikam.org
+ *
+ * Date : 2003-01-21
+ * Description : Gphoto2 camera interface
+ *
+ * Copyright (C) 2003-2005 by Renchi Raju <renchi@pooh.tam.uiuc.edu>
+ * Copyright (C) 2006-2007 by Gilles Caulier <caulier dot gilles at gmail dot com>
+ *
+ * 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 GPCAMERA_H
+#define GPCAMERA_H
+
+// Local includes.
+
+#include "dkcamera.h"
+
+class TQImage;
+
+namespace Digikam
+{
+
+class GPCameraPrivate;
+class GPStatus;
+
+// Gphoto2 camera Implementation of abstract type DKCamera
+
+class GPCamera : public DKCamera
+{
+
+public:
+
+ GPCamera(const TQString& title, const TQString& model,
+ const TQString& port, const TQString& path);
+ ~GPCamera();
+
+ bool thumbnailSupport();
+ bool deleteSupport();
+ bool uploadSupport();
+ bool mkDirSupport();
+ bool delDirSupport();
+
+ bool doConnect();
+
+ void cancel();
+
+ void getAllFolders(const TQString& folder, TQStringList& subFolderList);
+ bool getSubFolders(const TQString& folder, TQStringList& subFolderList);
+ bool getItemsList(const TQString& folder, TQStringList& itemsList);
+ bool getItemsInfoList(const TQString& folder, GPItemInfoList& items, bool getImageDimensions = true);
+ bool getThumbnail(const TQString& folder, const TQString& itemName, TQImage& thumbnail);
+ bool getExif(const TQString& folder, const TQString& itemName, char **edata, int& esize);
+
+ bool setLockItem(const TQString& folder, const TQString& itemName, bool lock);
+
+ bool downloadItem(const TQString& folder, const TQString& itemName, const TQString& saveFile);
+ bool deleteItem(const TQString& folder, const TQString& itemName);
+
+ // recursively delete all items
+ bool deleteAllItems(const TQString& folder);
+
+ bool uploadItem(const TQString& folder, const TQString& itemName, const TQString& localFile,
+ GPItemInfo& itemInfo, bool getImageDimensions=true);
+
+ bool cameraSummary(TQString& summary);
+ bool cameraManual(TQString& manual);
+ bool cameraAbout(TQString& about);
+
+ TQString model() const;
+ TQString port() const;
+ TQString path() const;
+
+ // Public static methods shared with Camera Setup
+
+ static int autoDetect(TQString& model, TQString& port);
+ static void getSupportedCameras(int& count, TQStringList& clist);
+ static void getSupportedPorts(TQStringList& plist);
+ static void getCameraSupportedPorts(const TQString& model, TQStringList& plist);
+
+private:
+
+ int setup();
+ static void printGphotoErrorDescription(int errorCode);
+
+private:
+
+ GPCameraPrivate *d;
+ GPStatus *m_status;
+};
+
+} // namespace Digikam
+
+#endif /* GPCAMERA_H */