mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-05-30 11:54:24 -04:00
FdoSecrets: Major Refactor and Code Consolidation (#5747)
* Fixes #3837 * Change objects to use DBusMgr rather than separate adaptors - Update all DBus invokable methods to new parameter order - Change all usage of DBusReturn to simpler DBusResult - Use DBusMgr to handle path and service registration - Remove adaptor/* - Set path in DBusObject - Unregister service when service is destroyed - Restore handling of invalid QVariant in prompt complete signal - Clean up meta type registration - Move dbus related file together - Convert to QSharedPointer as much as possible - Fix mapping of the Delete method - Handle dbus property get all * Add per-client states - Move cipher negotiation to DBusClient - Show list of clients instead of sessions in the settings page - Add settings for confirmation of accessing items - Fix infinite recursion when client disconnected - Use optional explicit DBusClient parameter instead. This makes accessing the client info in an async context explicit, and thus prevent accidental assertions in prompts. * Improve User Interface - Add per-item access confirmation (if enabled) - Remove the "disable for site" button for the access control dialog - Improve the text on the settings page to be more consistent - Fix disconnect buttons in settings page not working - Make the unlock prompt method nonblocking * Fix and cleanup unit tests - Use QTRY_COMPARE when checking signal spies, as dbus signals are threaded - Fixes in meta type registration and type conversion - Remove QStringLiteral in COMPARE macros, making diff output readable - Add testing for remembering auth decision
This commit is contained in:
parent
33e6da33ca
commit
9a8a5a0006
71 changed files with 5086 additions and 3075 deletions
34
tests/util/FdoSecretsProxy.cpp
Normal file
34
tests/util/FdoSecretsProxy.cpp
Normal file
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* Copyright (C) 2020 Aetf <aetf@unlimitedcodeworks.xyz>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 or (at your option)
|
||||
* version 3 of the License.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "FdoSecretsProxy.h"
|
||||
|
||||
#define IMPL_PROXY(name) \
|
||||
name##Proxy::name##Proxy( \
|
||||
const QString& service, const QString& path, const QDBusConnection& connection, QObject* parent) \
|
||||
: QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent) \
|
||||
{ \
|
||||
} \
|
||||
name##Proxy::~name##Proxy() = default;
|
||||
|
||||
IMPL_PROXY(Service)
|
||||
IMPL_PROXY(Collection)
|
||||
IMPL_PROXY(Item)
|
||||
IMPL_PROXY(Session)
|
||||
IMPL_PROXY(Prompt)
|
||||
|
||||
#undef IMPL_PROXY
|
Loading…
Add table
Add a link
Reference in a new issue