< Development | AkonadiPortingRevision as of 12:49, 20 June 2010 by Krake (talk | contribs) (Address book to Akonadi porting: introduction)(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff) Contents 1 Development/AkonadiPorting/AddressBook 2 Introduction 3 Common Usage Patterns 3.1 Find By Uid 3.2 Find By Email 3.3 Who Am I 3.4 Modifying A Contact 4 Further Reading Development/AkonadiPorting/AddressBook Languages: عربي | Asturianu | Català | Česky | Kaszëbsczi | Dansk | Deutsch | English | Esperanto | Español | Eesti | فارسی | Suomi | Français | Galego | Italiano | 日本語 | 한국어 | Norwegian | Polski | Português Brasileiro | Română | Русский | Svenska | Slovenčina | Slovenščina | српски | Türkçe | Tiếng Việt | Українська | 简体中文 | 繁體中文 Introduction The address book API KABC has been available for application developers for several major version releases of KDE. Its main entry point for applications is the KABC::StdAddressBook singleton. The most prevelant usage is loading all address book contents synchronously and the working with the loaded data set, e.g. by calling "find" methods or even iterating over the whole contact pool. Aside from often needlessly loading the all contacts into memory in every application accessing the address book, the synchronous I/O either meant blocking the application or introducing unexpected re-entrancy when the address book plugins were using nested event loops to process jobs without returning from the called function. Warning Akonadi's job based API is capable of doing synchronous execution as well, so one might be tempted to use this instead of the signal/slot approach shown on this page. The recommendation is to only use this as an intermediate step at best, the potential re-entrancy due to the nested event loop can lead to hard to debug problems. Common Usage Patterns Find By Uid Find By Email Who Am I Modifying A Contact Further Reading Retrieved from "https://techbase.kde.org/index.php?title=Development/AkonadiPorting/AddressBook&oldid=52164" Content is available under Creative Commons License SA 4.0 unless otherwise noted.