• Skip to content
  • Skip to link menu
KDE 4.4 API Reference
  • KDE API Reference
  • kdepim
  • Sitemap
  • Contact Us
 

akonadi

Communication Schemas

Search

The sequence diagrams below show how general communication is done:

akonadi_client_search_small.png

Akonadi Communication Schema

akonadi_client_search.png

Akonadi Communication Schema

The item search request is probably the call which is used most often by the clients (components or applications). This call enables the client to search for a list of items of a given mime type which match a given search criterion.

In this case the client will contact the SearchProvider responsible for the mime type, in order to retrieve the list of matching UIDs. The SearchProvider already has a list of all available items of this mime type in its memory, so it can search fast and use indices for optimization.

To communicate mime type constraints in FETCH and LIST and their responses the IMAP flags mechanism is used. Unknown flags should be ignored by non-Akonadi IMAP clients, which keeps compatibility with mutt and regular KMail.

Examples:

  • List
    0x8053c68 8 LIST "" "res1/foo/%"
    0x8053c68 * LIST (\MimeTypes[text/calendar,directory/inode]) "/" "res1/foo/bar"
    
  • Fetch
    0x8056310 7 UID FETCH 22 (UID RFC822.SIZE FLAGS BODY.PEEK[])
    0x8056310 * 1 FETCH (FLAGS (\Seen \MimeTypes[message/rfc822]) RFC822 {2450} From: Till Adam To: ...
    

Profile Handling

akonadi_profile_handling_small.png

Akonadi Profile Handling

akonadi_profile_handling.png

Akonadi Profile Handling

Agent Handling

akonadi_agent_handling_small.png

Akonadi Agent Handling

akonadi_agent_handling.png

Akonadi Agent Handling

akonadi

Skip menu "akonadi"
  • Main Page
  • Namespace List
  • Related Pages

kdepim

Skip menu "kdepim"
  • akonadi
  •   akonadi_next
  •   clients
  •   kcal
  •   kcm
  •       libmaildir
  • akregator
  • console
  •   kabcclient
  •   konsolekalendar
  • kalarm
  •   lib
  • kdgantt
  • kdgantt1
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korganizer
  •   korgac
  • kpilot
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
Generated for kdepim by doxygen 1.5.9-20090814
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal