Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/fdosecrets/objects/adaptors/CollectionAdaptor.cpp')
-rw-r--r--src/fdosecrets/objects/adaptors/CollectionAdaptor.cpp89
1 files changed, 89 insertions, 0 deletions
diff --git a/src/fdosecrets/objects/adaptors/CollectionAdaptor.cpp b/src/fdosecrets/objects/adaptors/CollectionAdaptor.cpp
new file mode 100644
index 000000000..77eb3b413
--- /dev/null
+++ b/src/fdosecrets/objects/adaptors/CollectionAdaptor.cpp
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2018 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 "CollectionAdaptor.h"
+
+#include "fdosecrets/objects/Collection.h"
+#include "fdosecrets/objects/Item.h"
+#include "fdosecrets/objects/Prompt.h"
+
+namespace FdoSecrets
+{
+
+ CollectionAdaptor::CollectionAdaptor(Collection* parent)
+ : DBusAdaptor(parent)
+ {
+ connect(
+ p(), &Collection::itemCreated, this, [this](const Item* item) { emit ItemCreated(objectPathSafe(item)); });
+ connect(
+ p(), &Collection::itemDeleted, this, [this](const Item* item) { emit ItemDeleted(objectPathSafe(item)); });
+ connect(
+ p(), &Collection::itemChanged, this, [this](const Item* item) { emit ItemChanged(objectPathSafe(item)); });
+ }
+
+ const QList<QDBusObjectPath> CollectionAdaptor::items() const
+ {
+ return objectsToPath(p()->items().valueOrHandle(p()));
+ }
+
+ QString CollectionAdaptor::label() const
+ {
+ return p()->label().valueOrHandle(p());
+ }
+
+ void CollectionAdaptor::setLabel(const QString& label)
+ {
+ p()->setLabel(label).handle(p());
+ }
+
+ bool CollectionAdaptor::locked() const
+ {
+ return p()->locked().valueOrHandle(p());
+ }
+
+ qulonglong CollectionAdaptor::created() const
+ {
+ return p()->created().valueOrHandle(p());
+ }
+
+ qulonglong CollectionAdaptor::modified() const
+ {
+ return p()->modified().valueOrHandle(p());
+ }
+
+ QDBusObjectPath CollectionAdaptor::Delete()
+ {
+ return objectPathSafe(p()->deleteCollection().valueOrHandle(p()));
+ }
+
+ QList<QDBusObjectPath> CollectionAdaptor::SearchItems(const StringStringMap& attributes)
+ {
+ return objectsToPath(p()->searchItems(attributes).valueOrHandle(p()));
+ }
+
+ QDBusObjectPath CollectionAdaptor::CreateItem(const QVariantMap& properties,
+ const SecretStruct& secret,
+ bool replace,
+ QDBusObjectPath& prompt)
+ {
+ PromptBase* pp = nullptr;
+ auto item = p()->createItem(properties, secret, replace, pp).valueOrHandle(p());
+ prompt = objectPathSafe(pp);
+ return objectPathSafe(item);
+ }
+
+} // namespace FdoSecrets