Opens or creates a new addressbook at path.
Like BookSqlite, but allows configuration of which contact fields will
be stored for quick reference in the summary. The configuration indicated by setup will only be taken into account when
initially creating the underlying table, further configurations will be ignored.
The fields e_contact_uid and e_contact_rev are not optional, they
will be stored in the summary regardless of this function's parameters. Only
ContactFields with the type
STRING,
BOOLEAN or E_TYPE_CONTACT_ATTR_LIST are currently
supported.
If vcard_callback is specified, then vcards will not be stored by functions such as e_book_sqlitedb_add_contact
. Instead vcard_callback will be invoked at any time the created BookSqlite
requires a vcard, either as a fallback for querying search expressions which cannot be satisfied with the summary fields, or when
reporting results from searches.
If any error occurs and null is returned, then the passed user_data will be automatically
freed using the user_data_destroy function, if specified.
It is recommended to store all contact vcards in the BookSqlite addressbook if at all possible, however in some cases the vcards must be stored in some other storage.
| path |
location to load or create the new database |
| source |
an optional Source, associated with the BookSqlite, or null |
| setup |
an SourceBackendSummarySetup describing how the summary should be setup, or null to use the default |
| vcard_callback |
A function to resolve vcards |
| change_callback |
A function to catch notifications of vcard changes |
| cancellable | |
| user_data |
callback user data |
| user_data_destroy |
A function to free |
|
The newly created BookSqlite, or null if opening or creating the addressbook failed. |