File indexing completed on 2024-12-01 04:20:31
0001 /* 0002 * SPDX-FileCopyrightText: 2010 Kare Sars <kare dot sars at iki dot fi> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #ifndef KSANE_AUTHENTICATION_H 0008 #define KSANE_AUTHENTICATION_H 0009 0010 // Qt includes 0011 #include <QString> 0012 0013 // Sane includes 0014 extern "C" 0015 { 0016 #include <sane/saneopts.h> 0017 #include <sane/sane.h> 0018 } 0019 0020 namespace KSaneCore 0021 { 0022 0023 /** 0024 * Sane authentication helpers. 0025 */ 0026 class Authentication 0027 { 0028 public: 0029 static Authentication *getInstance(); 0030 ~Authentication(); 0031 0032 void setDeviceAuth(const QString &resource, const QString &username, const QString &password); 0033 void clearDeviceAuth(const QString &resource); 0034 static void authorization(SANE_String_Const resource, SANE_Char *username, SANE_Char *password); 0035 0036 private: 0037 Authentication(); 0038 struct Private; 0039 Private *const d; 0040 }; 0041 0042 } // namespace KSaneCore 0043 0044 #endif // KSANE_AUTHENTICATION_H