D28560: [resources] Add a unified Google Groupware Resource (WIP)
Igor Poboiko
noreply at phabricator.kde.org
Fri Apr 10 12:11:25 BST 2020
poboiko updated this revision to Diff 79760.
poboiko added a comment.
Implemented interface system similar to Imap:
- added `ResourceStateInterface`, which is a generic interface for `ResourceBase` methods (could probably be shared with imap resource in the future)
- added `GoogleResourceStateInterface`, which provides interface for some GoogleResource-specific methods (like `handleError()`, or FreeBusy)
- added `GoogleResourceState` (friend of `GoogleResource`), which simply implements this interface and propagates all the calls to the resource.
Handlers are now `std::unique_ptr`.
Added generic methods to fetch a handler by `mimeType` or to fetch a handler for collection.
Added dedicated `FreeBusyHandler`, which implements just FreeBusy interface
(implemented in `calendarhandler.cpp`, as it is calendar-related)
Moved `slotGenericJobFinished` from `Resource` to `GenericHandler`, so it works through the same `ResourceStateInterface`.
Added `canPerformTask(Item::List items)` method, which checks if all of items have the payload and correct mimetype, not just the `items.first()`.
Moved `canPerformTask()` methods to `GenericHandler`.
REPOSITORY
R44 KDE PIM Runtime
CHANGES SINCE LAST UPDATE
https://phabricator.kde.org/D28560?vs=79580&id=79760
BRANCH
google-groupware (branched from master)
REVISION DETAIL
https://phabricator.kde.org/D28560
AFFECTED FILES
resources/CMakeLists.txt
resources/google-groupware/CMakeLists.txt
resources/google-groupware/calendarhandler.cpp
resources/google-groupware/calendarhandler.h
resources/google-groupware/contacthandler.cpp
resources/google-groupware/contacthandler.h
resources/google-groupware/defaultreminderattribute.cpp
resources/google-groupware/defaultreminderattribute.h
resources/google-groupware/generichandler.cpp
resources/google-groupware/generichandler.h
resources/google-groupware/googleresource.cpp
resources/google-groupware/googleresource.desktop
resources/google-groupware/googleresource.h
resources/google-groupware/googleresourcestate.cpp
resources/google-groupware/googleresourcestate.h
resources/google-groupware/googleresourcestateinterface.h
resources/google-groupware/googlesettings.cpp
resources/google-groupware/googlesettings.h
resources/google-groupware/googlesettingsdialog.cpp
resources/google-groupware/googlesettingsdialog.h
resources/google-groupware/googlesettingsdialog.ui
resources/google-groupware/resourcestateinterface.h
resources/google-groupware/settingsbase.kcfg
resources/google-groupware/settingsbase.kcfgc
resources/google-groupware/taskhandler.cpp
resources/google-groupware/taskhandler.h
To: poboiko, dvratil, mlaurent
Cc: mlaurent, kde-pim, fbampaloukas, dcaliste, dvasin, rodsevich, winterz, vkrause, knauss, dvratil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20200410/885c93a4/attachment.html>
More information about the kde-pim
mailing list