digiKam
Loading...
Searching...
No Matches
gpcamera.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2003-01-21
7 * Description : Gphoto2 camera interface
8 *
9 * SPDX-FileCopyrightText: 2003-2005 by Renchi Raju <renchi dot raju at gmail dot com>
10 * SPDX-FileCopyrightText: 2006-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
11 * SPDX-FileCopyrightText: 2006-2012 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
12 *
13 * SPDX-License-Identifier: GPL-2.0-or-later
14 *
15 * ============================================================ */
16
17#pragma once
18
19// Local includes
20
21#include "dkcamera.h"
22
23class QImage;
24
25namespace Digikam
26{
27
28class GPStatus;
29class DMetadata;
30
34class GPCamera : public DKCamera
35{
36 Q_OBJECT
37
38public:
39
40 explicit GPCamera(const QString& title, const QString& model,
41 const QString& port, const QString& path);
42 ~GPCamera() override;
43
44 QByteArray cameraMD5ID() override;
46
47 bool doConnect() override;
48
49 void cancel() override;
50
51 bool getFolders(const QString& folder) override;
52 bool getItemsList(const QString& folder, QStringList& itemsList);
53 bool getItemsInfoList(const QString& folder, bool useMetadata, CamItemInfoList& items) override;
54 void getItemInfo(const QString& folder, const QString& itemName, CamItemInfo& info, bool useMetadata) override;
55
56 bool getThumbnail(const QString& folder, const QString& itemName, QImage& thumbnail) override;
57 bool getMetadata(const QString& folder, const QString& itemName, DMetadata& meta) override;
58
59 bool setLockItem(const QString& folder, const QString& itemName, bool lock) override;
60
61 bool downloadItem(const QString& folder, const QString& itemName, const QString& saveFile) override;
62 bool deleteItem(const QString& folder, const QString& itemName) override;
63
65 bool deleteAllItems(const QString& folder);
66
67 bool uploadItem(const QString& folder, const QString& itemName, const QString& localFile, CamItemInfo& itemInfo) override;
68
69 bool cameraSummary(QString& summary) override;
70 bool cameraManual(QString& manual) override;
71 bool cameraAbout(QString& about) override;
72
73 bool getFreeSpace(qint64& bytesSize, qint64& bytesAvail) override;
74 bool getPreview(QImage& preview) override;
75 bool capture(CamItemInfo& itemInfo) override;
76
77 // Public static methods shared with Setup Camera
78
79 static int autoDetect(QString& model, QString& port);
80 static void getSupportedCameras(int& count, QStringList& clist);
81 static void getSupportedPorts(QStringList& plist);
82 static void getCameraSupportedPorts(const QString& model, QStringList& plist);
83 static bool findConnectedUsbCamera(int vendorId, int productId, QString& model, QString& port);
84
85private:
86
90 void getItemInfoInternal(const QString& folder, const QString& itemName, CamItemInfo& info, bool useMetadata);
91
92 static void printGphotoErrorDescription(int errorCode);
93
94private:
95
96 // Disable
97 explicit GPCamera(QObject*) = delete;
98
99private:
100
101 class Private;
102 Private* const d = nullptr;
103};
104
105} // namespace Digikam
Definition camiteminfo.h:39
Definition dkcamera.h:35
CameraDriverType
Definition dkcamera.h:41
QString path() const
Definition dkcamera.cpp:71
QString title() const
Definition dkcamera.cpp:45
QString port() const
Definition dkcamera.cpp:55
QString model() const
Definition dkcamera.cpp:50
Definition dmetadata.h:46
Definition gpcamera.h:35
bool getThumbnail(const QString &folder, const QString &itemName, QImage &thumbnail) override
Definition gpcamera.cpp:1075
bool uploadItem(const QString &folder, const QString &itemName, const QString &localFile, CamItemInfo &itemInfo) override
Definition gpcamera.cpp:1423
bool cameraManual(QString &manual) override
Definition gpcamera.cpp:1653
bool setLockItem(const QString &folder, const QString &itemName, bool lock) override
Definition gpcamera.cpp:1291
bool getItemsList(const QString &folder, QStringList &itemsList)
Definition gpcamera.cpp:815
void cancel() override
Definition gpcamera.cpp:393
static void getSupportedCameras(int &count, QStringList &clist)
Definition gpcamera.cpp:1745
bool cameraSummary(QString &summary) override
Definition gpcamera.cpp:1593
static void getSupportedPorts(QStringList &plist)
Definition gpcamera.cpp:1796
DKCamera::CameraDriverType cameraDriverType() override
Definition gpcamera.cpp:224
QByteArray cameraMD5ID() override
Definition gpcamera.cpp:229
bool getFolders(const QString &folder) override
Definition gpcamera.cpp:752
bool capture(CamItemInfo &itemInfo) override
Definition gpcamera.cpp:633
static bool findConnectedUsbCamera(int vendorId, int productId, QString &model, QString &port)
Definition gpcamera.cpp:1979
bool cameraAbout(QString &about) override
Definition gpcamera.cpp:1689
bool deleteItem(const QString &folder, const QString &itemName) override
Definition gpcamera.cpp:1358
void getItemInfo(const QString &folder, const QString &itemName, CamItemInfo &info, bool useMetadata) override
Definition gpcamera.cpp:932
bool downloadItem(const QString &folder, const QString &itemName, const QString &saveFile) override
Definition gpcamera.cpp:1211
bool getMetadata(const QString &folder, const QString &itemName, DMetadata &meta) override
Definition gpcamera.cpp:1131
bool getPreview(QImage &preview) override
Definition gpcamera.cpp:582
bool getItemsInfoList(const QString &folder, bool useMetadata, CamItemInfoList &items) override
If getImageDimensions is false, the camera shall set width and height to -1 if the values are not imm...
Definition gpcamera.cpp:871
~GPCamera() override
Definition gpcamera.cpp:202
bool doConnect() override
Definition gpcamera.cpp:255
bool deleteAllItems(const QString &folder)
recursively delete all items
Definition gpcamera.cpp:1392
bool getFreeSpace(qint64 &bytesSize, qint64 &bytesAvail) override
Definition gpcamera.cpp:413
static int autoDetect(QString &model, QString &port)
Definition gpcamera.cpp:1899
static void getCameraSupportedPorts(const QString &model, QStringList &plist)
Definition gpcamera.cpp:1853
Definition datefolderview.cpp:34
QList< CamItemInfo > CamItemInfoList
Definition camiteminfo.h:116