1
/* ============================================================
3
* This file is a part of digiKam project
4
* http://www.digikam.org
7
* Description : USB Mass Storage camera interface
9
* Copyright (C) 2004-2005 by Renchi Raju <renchi@pooh.tam.uiuc.edu>
10
* Copyright (C) 2005-2011 by Gilles Caulier <caulier dot gilles at gmail dot com>
12
* This program is free software; you can redistribute it
13
* and/or modify it under the terms of the GNU General
14
* Public License as published by the Free Software Foundation;
15
* either version 2, or (at your option)
18
* This program is distributed in the hope that it will be useful,
19
* but WITHOUT ANY WARRANTY; without even the implied warranty of
20
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
* GNU General Public License for more details.
23
* ============================================================ */
30
#include <QStringList>
41
/** USB Mass Storage camera Implementation of abstract type DKCamera
43
class UMSCamera : public DKCamera
47
UMSCamera(const QString& title, const QString& model, const QString& port, const QString& path);
50
QByteArray cameraMD5ID();
55
void getAllFolders(const QString& folder, QStringList& subFolderList);
56
bool getItemsInfoList(const QString& folder, bool useMetadata, CamItemInfoList& infoList);
57
void getItemInfo(const QString& folder, const QString& itemName, CamItemInfo& info, bool useMetadata);
59
bool getThumbnail(const QString& folder, const QString& itemName, QImage& thumbnail);
60
bool getMetadata(const QString& folder, const QString& itemName, DMetadata& meta);
62
bool setLockItem(const QString& folder, const QString& itemName, bool lock);
64
bool downloadItem(const QString& folder, const QString& itemName, const QString& saveFile);
65
bool deleteItem(const QString& folder, const QString& itemName);
66
bool uploadItem(const QString& folder, const QString& itemName, const QString& localFile, CamItemInfo& info);
68
bool cameraSummary(QString& summary);
69
bool cameraManual(QString& manual);
70
bool cameraAbout(QString& about);
72
bool getFreeSpace(unsigned long& kBSize, unsigned long& kBAvail);
74
// Methods not supported by UMS camera.
75
bool getPreview(QImage& /*preview*/)
79
bool capture(CamItemInfo& /*itemInfo*/)
84
DKCamera::CameraDriverType cameraDriverType()
86
return DKCamera::UMSDriver;
91
void listFolders(const QString& folder, QStringList& subFolderList);
93
/** Try to find UUID of UMS camera media using Solid interface.
94
Search use mount path as reference. Return UUID as string
97
void getUUIDFromSolid();
104
} // namespace Digikam
106
#endif /* UMSCAMERA_H */