From 08c27ec5605da51fca48f4e027b0f87f97e3666f Mon Sep 17 00:00:00 2001 From: EndrII Date: Sun, 21 Jan 2024 16:44:23 +0100 Subject: [PATCH] added qasecret support --- CMakeLists.txt | 3 ++- qasecretservice.cpp | 27 +++++++++++++++++++++++++++ qasecretservice.h | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 qasecretservice.cpp create mode 100644 qasecretservice.h diff --git a/CMakeLists.txt b/CMakeLists.txt index a2694d8..a259ba6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -63,7 +63,8 @@ file(GLOB SOURCE_CPP "*.cpp" "*.h" ) -add_library(${PROJECT_NAME} ${SOURCE_CPP}) +add_library(${PROJECT_NAME} ${SOURCE_CPP} + qasecretservice.h qasecretservice.cpp) target_link_libraries(${PROJECT_NAME} PUBLIC Qt${QT_VERSION_MAJOR}::Core) target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/qasecretservice.cpp b/qasecretservice.cpp new file mode 100644 index 0000000..d94992c --- /dev/null +++ b/qasecretservice.cpp @@ -0,0 +1,27 @@ +#include "qasecretservice.h" +#include + +QByteArray QuasarAppUtils::QASecretService::getByAlias(const QString &alias) { + QProcess proc; + proc.setProgram("qasecretservice"); + proc.setArguments(QStringList() << "get" << "-alias" << alias); + + proc.start(); + + proc.waitForFinished(2000); + + return proc.readAllStandardOutput(); +} + +QByteArray QuasarAppUtils::QASecretService::getByHash(const QByteArray &hash) +{ + QProcess proc; + proc.setProgram("qasecretservice"); + proc.setArguments(QStringList() << "get" << "-hash" << hash); + + proc.start(); + + proc.waitForFinished(2000); + + return proc.readAllStandardOutput(); +} diff --git a/qasecretservice.h b/qasecretservice.h new file mode 100644 index 0000000..716025d --- /dev/null +++ b/qasecretservice.h @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2024-2024 QuasarApp. + * Distributed under the lgplv3 software license, see the accompanying + * Everyone is permitted to copy and distribute verbatim copies + * of this license document, but changing it is not allowed. +*/ + +#ifndef QASECRETSERVICE_H +#define QASECRETSERVICE_H + +#include + + +namespace QuasarAppUtils { + +/** + * @brief The qasecretservice class This is a simeple provider of QASecretService tool + * See https://github.com/QuasarApp/SecretService + * @note Before use this class please install QASecretService to your runtime mashine. + * + */ +class QASecretService +{ +public: + QASecretService(); + + static QByteArray getByAlias(const QString& alias); + static QByteArray getByHash(const QByteArray& hash); + +}; + +} +#endif // QASECRETSERVICE_H