Reference Manual for

Evolution-Data-Server is a collection of libraries and services for storing addressbooks and calendars. In this reference manual you will find documentation on using the client libraries as well as implementing backends for calendars and addressbooks.

The documentation below is organized by subject material, below is an abstract description of each component in the documentation.

  • Data Sources and Extensions

    Data sources are an abstract concept for describing sources of various data types. Addressbook and Calendars must be accessed by their ESource, but the ESource is also relevant for backends to access various internal data types. This section also includes documentation on the various existing ESourceExtensions which are important for configuring the functionality of a data source.

  • Client Programming Interfaces

    This section contains the main interfaces useful for interacting with Evolution Data Server in your application

  • Backend Programming Interfaces

    This section contains the main interfaces useful for implementing Addressbook and Calendar backends.

  • Miscellaneous Utilities

    A collection of utilities which can be useful to both clients and backends.

  • Examples

    Working examples of how to use Evolution Data Server.

  • Unit Testing

    A description of how to test Evolution Data Server itself, and how to use the general unit test fixture.

  • Deprecated Classes

    A list of all deprecated classes in Evolution Data Server.


I. Data Sources and Extensions
Data Sources
ESource — Hierarchical data sources
e-source-enums
ESourceRegistry — A central repository for data sources
Data Source Extensions
ESourceAutoconfigESource extension for autoconfig settings
ESourceExtension — Base class for ESource extensions
ESourceBackend — Base class for backend-based data sources
ESourceSelectable — Base class for selectable data sources
ESourceAddressBookESource extension for an address book
ESourceAlarmsESource extension for alarm state
ESourceAuthenticationESource extension for authentication settings
ESourceAutocompleteESource extension for autocomplete settings
ESourceCalendarESource extension for a calendar
ESourceCamelESource extension for CamelSettings
ESourceCollectionESource extension for grouping related resources
ESourceContacts
ESourceGoaESource extension for GNOME Online Accounts
ESourceLDAP
ESourceLocal
ESourceMailAccountESource extension for an email account
ESourceMailCompositionESource extension for mail composition settings
ESourceMailIdentityESource extension for an email identity
ESourceMailSignatureESource extension for email signatures
ESourceMailSubmissionESource extension for submitting emails
ESourceMailTransportESource extension for an email transport
ESourceMemoListESource extension for a memo list
ESourceMDNESource extension for MDN settings
ESourceOfflineESource extension for offline settings
ESourceOpenPGPESource extension for OpenPGP settings
ESourceProxyESource extension for network proxy settings
ESourceRefreshESource extension for refresh settings
ESourceResourceESource extension for a remote resource
ESourceRevisionGuardsESource extension to configure revision guards
ESourceSecurityESource extension for security settings
ESourceSMIMEESource extension for S/MIME settings
ESourceTaskListESource extension for a task list
ESourceUoaESource extension for Ubuntu Online Accounts
ESourceWebdavESource extension for WebDAV settings
ESourceWebDAVNotes — WebDAV Notes specific settings
ESourceWeather
ESourceBackendSummarySetupESource extension to configure summary fields
II. Client Programming Interfaces
Shared Interaces
EClient — Base class for client handles
Addressbook
EBookClient — Accessing and modifying an addressbook
EBookClientView — Recieving change notifications on addressbooks
EBookClientCursor — An addressbook cursor
e-book-query — Querying and filtering contacts in an addressbook
e-book-utils
EVCard — vCard parsing and interpretation
EContact — A convenience interface for interacting with contacts
Calendar
ECalClient — Accessing and modifying a calendar
ECalClientView — Recieving change notifications on calendars
ECalComponent — A convenience interface for interacting with events
e-cal-component-alarm — An ECalComponentAlarm structure
e-cal-component-alarm-instance — An ECalComponentAlarmInstance structure
e-cal-component-alarm-repeat — An ECalComponentAlarmRepeat structure
e-cal-component-alarms — An ECalComponentAlarms structure
e-cal-component-alarm-trigger — An ECalComponentAlarmTrigger structure
e-cal-component-attendee — An ECalComponentAttendee structure
e-cal-component-datetime — An ECalComponentDateTime structure
e-cal-component-id — An ECalComponentId structure
e-cal-component-organizer — An ECalComponentOrganizer structure
e-cal-component-parameter-bag — An ECalComponentParameterBag structure
e-cal-component-period — An ECalComponentPeriod structure
e-cal-component-property-bag — An ECalComponentPropertyBag structure
e-cal-component-range — An ECalComponentRange structure
e-cal-component-text — An ECalComponentText structure
III. Backend Programming Interfaces
Abstract Classes for Backends
EBackend — An abstract base class for backends
e-backend-enums
EBackendFactory — An abstract base class for backend factories
ECache — An SQLite data cache
EDataFactory — An abstract base class for a backend-based server
EDBusServer — An abstract base class for a D-Bus server
EExtensible — An interface for extending objects
EExtension — An abstract base class for extensions
EModule — A module loader
ESubprocessFactory — An abstract base class for a backend-subprocess server
Registry Service Classes
ECollectionBackend — A base class for a data source collection backend
ECollectionBackendFactory — A base class for a data source collection backend factory
EOAuth2Support — An interface for OAuth 2.0 support
EServerSideSource — A server-side data source
EServerSideSourceCredentialsProvider
ESourceRegistryServer — Server-side repository for data sources
EWebDAVCollectionBackend
Addressbook Backend Classes
EBookBackend — An abstract class for implementing addressbook backends
EBookBackendSync — An abstract class for implementing synchronous addressbook backends
EBookBackendFactory — The factory for creating new addressbooks
EBookBackendSExp — A utility for comparing EContact objects or vcards with search expressions.
EBookCache — An ECache descendant for addressbooks
EBookMetaBackend — An EBookBackend descendant for book backends
EBookSqlite — An SQLite storage facility for addressbooks
EDataBook — Server side D-Bus layer to communicate with addressbooks
EDataBookDirect — An interface for implementing Direct Read Access
EDataBookCursor — The abstract cursor API
EDataBookCursorCache — The SQLite cursor implementation
EDataBookCursorSqlite — The SQLite cursor implementation
EDataBookFactory — The main addressbook server object
EDataBookView — A server side object for issuing view notifications
ESubprocessBookFactory
ESystemLocaleWatcher
Calendar Backend Classes
ECalBackend — An abstract class for implementing calendar backends
ECalBackendFactory — The factory for creating new calendars
ECalBackendSExp — A utility for comparing ECalComponent(s) with search expressions.
ECalBackendSync — A convenience subclass of ECalBackend
EIntervalTree — A utility for calculating intervals and recurrances
ECalCache — An ECache descendant for calendars
ECalMetaBackend — An ECalBackend descendant for calendar backends
EDataCal — Server side D-Bus layer to communicate with calendars
EDataCalFactory — The main calendar server object
EDataCalView — A server side object for issuing view notifications
ESubprocessCalFactory
IV. Miscellaneous Utilities
Available for clients and backends
e-data-server-util
e-categories
Cancellable Locks — locks, which can listen for a GCancellable during lock call
ECacheReaper
e-cache-reaper-utils
e-collator — Collation services for locale sensitive sorting
e-debug-log
e-error
e-flag
e-free-form-exp
e-gdata-query — A GData (Google Data) query parameters
EGDataSession — A GData (Google Data) session
e-json-utils — A set of JSON utility functions
e-memory
e-named-parameters — A structure to hold named parameters
ENetworkMonitor
e-operation-pool
e-secret-store — Interface to store secrets
ESExp
ESoupSession — A SoupSession descendant
e-soup-ssl-trust — SSL certificate trust handling for WebDAV sources
ESourceRegistryWatcher — Watch changes in ESource-s
e-time-utils
e-uid
e-webdav-discover
EWebDAVSession — A WebDAV, CalDAV and CardDAV session
EXmlDocument — An XML document wrapper
e-xml-hash-utils
e-xml-utils
eds-version
Built-in OAuth 2.0 authentication
EOAuth2Service — An interface for an OAuth2 service
EOAuth2Services — An extensible object holding all known OAuth2 services
EOAuth2ServiceBase — An abstract base class for EOAuth2Service implementations
EOAuth2ServiceGoogle
EOAuth2ServiceOutlook
EOAuth2ServiceYahoo
Available only for backends
EFileCache — Simple file-based hash table for strings
e-db3-utils — Utilities for Berkeley DB databases
ESoupAuthBearer — OAuth 2.0 support for libsoup
e-sqlite3-vfs
EUserPrompter — Manages user prompts over DBus
EUserPrompterServer — Server-side user prompter
EUserPrompterServerExtension — Extension for a server-side user prompter
Addressbook related utilities
e-book-contacts-enums
e-book-contacts-utils
EDestination
e-address-western
e-name-western
e-phone-number — Phone number support
Calendar related utilities
e-cal-recur
e-cal-time-util
e-cal-util
e-cal-system-timezone
e-cal-check-timezones
ETimezoneCache — An interface for caching time zone data
e-cal-backend-util
e-cal-enums
EReminderWatcher — Calendar reminder watcher
Credentials
ESourceCredentialsProvider
ESourceCredentialsProviderImpl
ESourceCredentialsProviderImplPassword
ESourceCredentialsProviderImplOAuth2
V. Examples
Contacts Browser Example — Explanation of how to create a scrolling window listing contacts in alphabetical order.
VI. Unit Testing
e-test-server-utils — A utility for unit testing EDS
VII. Deprecated Classes
Common Deprecated Classes
e-credentials
EIterator
EList
EListIterator
e-url
Client Deprecated Classes
EBook
EBookView
e-book-types
Backend Deprecated Classes
e-dbhash — Simple DB-based hash table for strings
EOfflineListener — Tracks Evolution's online/offline state
EBookBackendSqliteDB — An SQLite storage facility for addressbooks
EBookBackendSummary — A utility for storing contact data and searching for contacts
EBookBackendCache — A utility for storing contact data and searching for contacts
e-book-backend-db-cache — A Berkeley DB cache facility for addressbooks
Index
Annotation Glossary