Changeset View
Changeset View
Standalone View
Standalone View
resources/google-groupware/generichandler.cpp
- This file was added.
1 | /* | ||||
---|---|---|---|---|---|
2 | Copyright (C) 2020 Igor Poboiko <igor.poboiko@gmail.com> | ||||
3 | | ||||
4 | This program is free software: you can redistribute it and/or modify | ||||
5 | it under the terms of the GNU General Public License as published by | ||||
6 | the Free Software Foundation, either version 3 of the License, or | ||||
7 | (at your option) any later version. | ||||
8 | | ||||
9 | This program is distributed in the hope that it will be useful, | ||||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||
12 | GNU General Public License for more details. | ||||
13 | | ||||
14 | You should have received a copy of the GNU General Public License | ||||
15 | along with this program. If not, see <https://www.gnu.org/licenses/>. | ||||
16 | */ | ||||
17 | | ||||
18 | #include "generichandler.h" | ||||
19 | #include "googleresourcestateinterface.h" | ||||
20 | #include "googleresource_debug.h" | ||||
21 | | ||||
22 | #include <AkonadiAgentBase/AgentBase> | ||||
23 | | ||||
24 | #include <KGAPI/Job> | ||||
25 | | ||||
26 | GenericHandler::GenericHandler(GoogleResourceStateInterface *iface, GoogleSettings *settings) | ||||
27 | : m_iface(iface) | ||||
28 | , m_settings(settings) | ||||
29 | { | ||||
30 | } | ||||
31 | | ||||
32 | GenericHandler::~GenericHandler() = default; | ||||
33 | | ||||
34 | void GenericHandler::itemsLinked(const Akonadi::Item::List &/*items*/, const Akonadi::Collection &/*collection*/) | ||||
35 | { | ||||
36 | m_iface->cancelTask(i18n("Cannot handle item linking")); | ||||
37 | } | ||||
38 | | ||||
39 | void GenericHandler::itemsUnlinked(const Akonadi::Item::List &/*items*/, const Akonadi::Collection &/*collection*/) | ||||
40 | { | ||||
41 | m_iface->cancelTask(i18n("Cannot handle item unlinking")); | ||||
42 | } | ||||
43 | | ||||
44 | void GenericHandler::slotGenericJobFinished(KGAPI2::Job *job) | ||||
45 | { | ||||
46 | if (!m_iface->handleError(job)) { | ||||
47 | return; | ||||
48 | } | ||||
49 | if (job->property(ITEM_PROPERTY).isValid()) { | ||||
50 | qCDebug(GOOGLE_LOG) << "Item change committed"; | ||||
51 | m_iface->itemChangeCommitted(job->property(ITEM_PROPERTY).value<Akonadi::Item>()); | ||||
52 | } else if (job->property(ITEMS_PROPERTY).isValid()) { | ||||
53 | qCDebug(GOOGLE_LOG) << "Items changes committed"; | ||||
54 | m_iface->itemsChangesCommitted(job->property(ITEMS_PROPERTY).value<Akonadi::Item::List>()); | ||||
55 | } else if (job->property(COLLECTION_PROPERTY).isValid()) { | ||||
56 | qCDebug(GOOGLE_LOG) << "Collection change committed"; | ||||
57 | m_iface->collectionChangeCommitted(job->property(COLLECTION_PROPERTY).value<Akonadi::Collection>()); | ||||
58 | } else { | ||||
59 | qCDebug(GOOGLE_LOG) << "Task done"; | ||||
60 | m_iface->taskDone(); | ||||
61 | } | ||||
62 | | ||||
63 | emitReadyStatus(); | ||||
64 | } | ||||
65 | | ||||
66 | void GenericHandler::emitReadyStatus() | ||||
67 | { | ||||
68 | m_iface->emitStatus(Akonadi::AgentBase::Idle, i18nc("@status", "Ready")); | ||||
69 | } | ||||
70 | | ||||
71 | #include "moc_generichandler.cpp" |