File indexing completed on 2024-10-06 04:19:19
0001 /* 0002 * SPDX-FileCopyrightText: 2022 Alexander Stippich <a.stippich@gmx.net> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #ifndef KSANE_DEVICEINFORMATION_H 0008 #define KSANE_DEVICEINFORMATION_H 0009 0010 #include <memory> 0011 0012 // Qt includes 0013 #include <QString> 0014 0015 #include "ksanecore_export.h" 0016 0017 namespace KSaneCore 0018 { 0019 0020 class DeviceInformationPrivate; 0021 0022 /** 0023 * A wrapper class providing access to the internal information 0024 * of the scanner device provided by SANE 0025 */ 0026 class KSANECORE_EXPORT DeviceInformation 0027 { 0028 0029 public: 0030 explicit DeviceInformation(); 0031 ~DeviceInformation(); 0032 0033 /** This function returns a unique device name for the scanner device 0034 * @return the unique device name name */ 0035 QString name() const; 0036 0037 /** This function returns the device vendor string of the scanner device 0038 * @return the device vendor string */ 0039 QString vendor() const; 0040 0041 /** This function returns the device vendor string of the scanner device 0042 * @return the device model name */ 0043 QString model() const; 0044 0045 /** This function returns the device type (e.g., "flatbed scanner") 0046 * @return the device type */ 0047 QString type() const; 0048 0049 protected: 0050 std::unique_ptr<KSaneCore::DeviceInformationPrivate> d; 0051 }; 0052 0053 } // namespace KSaneCore 0054 0055 #endif // KSANE_DEVICEINFORMATION_H 0056