Reference Manual for evolution-data-server 3.21.1

Abstract

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
ESourceRegistry — A central repository for data sources
Data Source Extensions
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
ESourceGoaESource extension for GNOME Online Accounts
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
ESourceMDNESource extension for MDN settings
ESourceMemoListESource extension for a memo list
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
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
EBookQuery — Querying and filtering contacts in an addressbook
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
III. Backend Programming Interfaces
Abstract Classes for Backends
EBackend — An abstract base class for backends
EBackendFactory — An abstract base class for backend factories
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
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
ESourceRegistryServer — Server-side repository for data sources
Addressbook Backend Classes
EBookBackend — An abstract class for implementing addressbook backends
EBookBackendFactory — The factory for creating new addressbooks
EBookBackendSExp — A utility for comparing EContacts or vcards with search expressions.
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
EDataBookCursorSqlite — The SQLite cursor implementation
EDataBookFactory — The main addressbook server object
EDataBookView — A server side object for issuing view notifications
Calendar Backend Classes
ECalBackend — An abstract class for implementing calendar backends
ECalBackendCache — A helper class for caching calendar components
ECalBackendFactory — The factory for creating new calendars
ECalBackendSExp — A utility for comparing ECalComponents with search expressions.
ECalBackendStore — A helper class for storing calendar components
ECalBackendSync — A convenience subclass of ECalBackend
EIntervalTree — A utility for calculating intervals and recurrances
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
IV. Miscellaneous Utilities
Available for clients and backends
Main Utility Toolbox
ECategories
ECollator — Collation services for locale sensitive sorting
Debug logging
EFlag
EMemChunk
EOperationPool
Secret store interface — Interface to store secrets
ESExp
Time parsing and formatting
Unique identifiers
EXmlHash
Version Checking
Available only for backends
EFileCache — Simple file-based hash table for strings
Berkeley DB utilities — Utilities for Berkeley DB databases
ESoupAuthBearer — OAuth 2.0 support for libsoup
SQLite vfs
EUserPrompter — Manages user prompts over DBus
EUserPrompterServer — Server-side user prompter
EUserPrompterServerExtension — Extension for a server-side user prompter
Addressbook related utilities
Addressbook related types
EDestination
EAddressWestern
ENameWestern
EPhoneNumber — Phone number support
Calendar related utilities
Calendar recurrences
Calendar time utilities
Calendar utilities
Calendar system timezone
Calendar timezones
ETimezoneCache — An interface for caching time zone data
Calendar Backend Utilities
V. Examples
Contacts Browser Example — Explanation of how to create a scrolling window listing contacts in alphabetical order.
VI. Unit Testing
ETestServerFixture — A utility for unit testing EDS
VII. Deprecated Classes
Common Deprecated Classes
ECredentials
EIterator
EList
EListIterator
EProxy
EUri
Client Deprecated Classes
EBook
EBookView
ECal
ECalView
Deprecated addressbook types
Backend Deprecated Classes
EDbHash — 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
Berkeley DB caching API — A Berkeley DB cache facility for addressbooks
Index
Index of deprecated symbols
Index of new symbols in 3.12
Index of new symbols in 3.10
Index of new symbols in 3.8
Index of new symbols in 3.6
Index of new symbols in 3.4
Index of new symbols in 3.2
Index of new symbols in 3.0
Index of new symbols in 2.32
Index of new symbols in 2.30
Index of new symbols in 2.28
Index of new symbols in 2.26
Index of new symbols in 2.24
Index of new symbols in 2.22
Index of new symbols in 1.12
Annotation Glossary