The KDE addressbook =================== The format that kab uses is plain ASCII, written by an QConfigDB object. In general, the QConfigDB class provides an easy way to read and write hierarchical structured files storing data of basic C++ data types. The files may be edited manually if the syntax is not violated. kab handles address book entries. Each entry is meant to represent a person. Thus, for each entry, it is possible to store more than one address (like home or business addresses). An addressbook database file contains two sections, one to store the users entries, called "entries", and one to store the configuration, called "config". Every subsection of the "entries" section is one entry, containing - a section "addresses", where in turn each subsection is one address related to the person - a number of key-value pairs storing data of the person. An example entry could look like this: [15] # subsections: [addresses] # subsections: [1] # key-value-pairs: address="..." country="" deliverylabel="" headline="street address" org="" orgsubunit="" orgunit="" position="" state="" town="" zip="" [END 1] [2] # key-value-pairs: address="..." country="" deliverylabel="" headline="business address" org="" orgsubunit="" orgunit="" position="" state="" town="" zip="" [END 2] [END addresses] # key-value-pairs: URLs="http://www.kde.org\e" birthday="0, 0, 0" comment="" custom="" emails="kde-devel@kde.org\ekde-announce@lists.netcentral.net\e" firstname="" fn="KDE Mailing-Listen" keywords="" lastname="" middlename="" nameprefix="" rank="" talk="" telephone="" title="" user1="" user2="" user3="" user4="" [END 15] To get a overview of the meanings of the fields, just have a look at addressbook.h. If you plan to access kab databases, you should use the kab API that is defined in kabapi.h and link libkabs.so to your application. (read README.KABAPI). Mirko Boehm, Mai 2001.