File indexing completed on 2025-03-09 03:58:42
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2009-08-01 0007 * Description : camera name helper class 0008 * 0009 * SPDX-FileCopyrightText: 2009-2012 by Andi Clemens <andi dot clemens at gmail dot com> 0010 * 0011 * SPDX-License-Identifier: GPL-2.0-or-later 0012 * 0013 * ============================================================ */ 0014 0015 #ifndef DIGIKAM_CAMERA_NAME_HELPER_H 0016 #define DIGIKAM_CAMERA_NAME_HELPER_H 0017 0018 // Qt includes 0019 0020 #include <QString> 0021 0022 // Local includes 0023 0024 #include "digikam_export.h" 0025 0026 namespace Digikam 0027 { 0028 0029 class DIGIKAM_GUI_EXPORT CameraNameHelper 0030 { 0031 0032 public: 0033 0034 static QString cameraName(const QString& name); 0035 0036 static QString cameraNameAutoDetected(const QString& name); 0037 0038 static QString createCameraName(const QString& vendor, 0039 const QString& product = QString(), 0040 const QString& mode = QString(), 0041 bool autoDetected = false); 0042 0043 static bool sameDevices(const QString& deviceA, const QString& deviceB); 0044 0045 private: 0046 0047 enum Token 0048 { 0049 VendorAndProduct = 1, 0050 Mode 0051 }; 0052 0053 private: 0054 0055 static QString extractCameraNameToken(const QString& cameraName, Token tokenID); 0056 static QString parseAndFormatCameraName(const QString& cameraName, bool parseMode, bool autoDetected); 0057 }; 0058 0059 } // namespace Digikam 0060 0061 #endif // DIGIKAM_CAMERA_NAME_HELPER_H