BookSqlite.full


Description:

[ CCode ( has_construct_function = false ) ]
public BookSqlite.full (string path, Source? source, SourceBackendSummarySetup? setup, bSqlVCardCallback? vcard_callback, owned bSqlChangeCallback? change_callback, Cancellable? cancellable = null) throws Error

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.

Parameters:

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

A Cancellable

user_data

callback user data

user_data_destroy

A function to free user_data automatically when the created BookSqlite is destroyed.

Returns:

The newly created BookSqlite, or null if opening or creating the addressbook failed.