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