| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
- Remove trailing tabs.
- Add terminators to multi-line lists.
|
| |
|
|
|
|
|
|
|
| |
Tracks a GProxyResolver for the backend, which is actually another
ESource with an ESourceProxy extension (if applicable to the backend).
New functions:
e_collection_backend_ref_proxy_resolver().
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
SoupAuth subclass for use with OAuth 2.0 HTTP authentication.
See http://tools.ietf.org/html/rfc6750
EBackends should use e_source_get_oauth2_access_token() to obtain
the access token and token expiry for an ESource, then pass them to
e_soup_auth_bearer_set_access_token().
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Documentation in EDS is not good quality enough to require
that the gtk-doc checks pass for distcheck.
Commenting out the tests in this directory so that distcheck
can pass without checking quality of docs (all other gtk-doc directories
already dont set TESTS = $(GTKDOC_CHECK) ).
|
| | |
|
| |
|
|
|
|
|
|
| |
This is the GMainContext on which to attach backend event sources.
New functions:
e_backend_ref_main_context()
|
| |
|
|
|
|
| |
Added the MKDB_OPTIONS to all gtk-doc makefiles, this makes
the <note><para></para></note> semantics in gtk-doc statements
work properly (along with probably a few other features).
|
| |
|
|
|
|
|
|
|
|
| |
This is the socket endpoint for the network service to which the
EBackend is a client. This can be NULL if the EBackend does not
use network sockets.
The initial value of the "connectable" property is derived from the
ESourceAuthentication extension of the EBackend's "source" property,
if the extension is present.
|
| |
|
|
|
|
| |
Similar to e_data_factory_ref_backend(), but allows for backends that
implement the GInitable interface so they can fail gracefully if they
are unable to initialize critical resources, such as a cache database.
|
| |
|
|
| |
Use e_source_registry_server_new_auth_session() instead.
|
| |
|
|
|
| |
Convenience function instantiates an appropriate authentication session
type for the given data source UID.
|
| |
|
|
|
|
|
|
|
|
| |
This will allow modules -- particularly the online accounts modules --
to subclass and customize EAuthenticationSession, and then register the
subclass to be used for data sources under their purview.
Care must be taken when subclassing, however, to comply with the D-Bus
interaction protocol that clients will be expecting, lest the client be
left hanging during its authenticate() call.
|
| |
|
|
|
|
| |
It was a mistake to encode this much file location policy directly into
libebackend's API. Instead, evolution-source-registry.c will implement
its own function that uses e_source_registry_server_load_resource().
|
| |
|
|
|
|
| |
Loads data source key files from a GResource by enumerating the children
at the given pathname and calling e_source_registry_server_load_file()
on each child.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
This is the object providing OAuth 2.0 support by implementing the
EOAuth2Support interface. Setting this property to a non-NULL value
automatically exports the OAuth2Support D-Bus interface.
New functions:
e_server_side_source_ref_oauth2_support()
e_server_side_source_set_oauth2_support()
|
| |
|
|
|
| |
Standard server-side interface to be implemented by E-D-S modules
providing OAuth 2.0 support for ESources.
|
| |
|
|
|
|
| |
Server-side equivalent of e_source_registry_find_extension().
Use it in e_source_registry_server_ref_backend().
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Extracts the resource ID for a child source, which is supposed to be a
stable and unique server-assigned identifier for the remote resource
described by the child source. If the child source is not actually a
child of the collection backend, the function returns NULL.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Claims all previously used sources that have not yet been claimed by
e_collection_backend_new_child() and returns them in a GList. Note
that previously used sources can only be claimed once, so subsequent
calls to this function for backend will return NULL.
The backend is then expected to compare the returned list with a
current list of resources from a remote server, create new ESource
instances as needed with e_collection_backend_new_child(), discard
unneeded ESource instances with e_source_remove(), and export the
remaining instances with e_source_registry_server_add_source().
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Add "remote-creatable" and "remote-deletable" properties which work the
same as the "removable" and "writable" properties in terms of exporting
and unexporting D-Bus interfaces.
Add handlers for Create() and Delete() D-Bus method invocations, which
call e_source_remote_create() and e_source_remote_delete() respectively.
Override the remote_create_sync() and remote_delete_sync() methods to
ferry the request to an associated ECollectionBackend (or set an error
if there is no associated ECollectionBackend).
|
| | |
|
| |
|
|
|
|
|
| |
Returns the ECollectionBackend for a given ESource, if one exists.
This works for any collection member: the "collection" ESource itself
as well as any of its hierarchical descendants.
|
| |
|
|
|
|
|
|
|
|
| |
These are convenience functions providing a consistent interface for
backends running in either the registry service itself or a client
process communicating with the registry service over D-Bus.
Dynamically loaded backend classes need not implement these methods.
They will inherit a suitable method implementation from ECalBackend,
EBookBackend or ECollectionBackend.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I realized ECollectionBackends are going to need a proper asynchronous
authentication function so they know when authentication is achieved.
e_source_registry_server_queue_auth_session() is a "fire-and-forget"
function with no way for the caller to know if and when authentication
is achieved.
The replacement function, e_source_registry_server_authenticate_sync(),
is a variation of e_source_registry_authenticate_sync() for use in the
registry service itself. It takes an EAuthenticationSession instead of
an ESource.
Since this API has not yet seen a stable release, I'm going to forego
deprecating the old function and just remove it. This is an API break,
and the libebackend soname has been bumped accordingly.
|
| |
|
|
| |
Apparently nothing uses it anymore.
|
| |
|
|
|
|
| |
Read-only boolean property indicates whether the source has been
exported over D-Bus. Basically just queries the registry server
for itself.
|
| |
|
|
|
|
| |
Returns the UID-based cache directory for an ECollectionBackend.
This will tie into EServerSideSource's "write-directory" property.
|
| |
|
|
|
|
|
|
|
|
|
| |
Defines the directory where data source changes are to be written,
which may not be the same directory as it was originally read from.
Defaults to the value returned by e_server_side_source_get_user_dir().
This allows an ECollectionBackend to override the default directory to
keep key files for backend-created data sources separate from key files
for user-created data sources.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The top-level headers are named after the library:
#include <libebackend/libebackend.h>
#include <libebook/libebook.h>
#include <libecal/libecal.h>
#include <libedata-book/libedata-book.h>
#include <libedata-cal/libedata-cal.h>
#include <libedataserver/libedataserver.h>
#include <libedataserverui/libedataserverui.h>
Including individual headers will cause a compilation error.
|
| |
|
|
|
| |
This new service manages data source key files and serves them to
clients, through the ESource and ESourceRegistry client-side APIs.
|
| | |
|
| |
|
|
|
|
|
|
| |
Just a way to get access to the EBackendFactory itself.
Needed on the account-mgmt branch to check whether a suitable E-D-S
backend factory is available to handle a given GNOME Online Account
provider type such as "exchange".
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The signal is no longer needed due to the previous EDataFactory commit.
I also removed a couple unused "last_client_gone" function pointers in
EBookBackendClass and ECalBackendClass just to get rid of all traces of
the signal (and since I'm on an ABI breaking spree anyway).
The API breakage should be contained within E-D-S. The ABI breakage
will affect 3rd party extensions so the libedata-book and libedata-cal
shared object names have been bumped for good measure.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Have EDataFactory keep only weak references to the EBackend instances it
creates. Then, when the last client connection to a backend closes, the
backend finalizes automatically. No explicit action required.
This breaks the API slightly by renaming e_data_factory_get_backend() to
e_data_factory_ref_backend() to reflect the fact that a strong reference
is now returned to the caller, and the caller must call g_object_unref()
when finished with it. The impact of the API break should be contained
within E-D-S.
This uses the new GWeakRef API in GLib 2.32 to ensure thread-safety.
The libebackend shared object name has already been bumped for 3.5.1.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Network monitoring no longer needs to be centralized in EDataFactory
since we're using GNetworkMonitor, so remove EDataFactory's "online"
property and public get/set functions.
Instead, let each EBackend instance manage its own "online" state.
Eventually we'll transition to more sophisticated network monitoring.
This is an API break but not the first since 3.5.1 development began.
libebackend's shared object name has already been bumped.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Bump our gtk-doc requirement to 1.14 and use --flavour no-tmpl.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Borrowing GApplication's use count concept for EDBusServer. It works
somewhat like a reference count: when the use count drops to zero, the
main loop terminates (in this case, after a 10 second delay). The use
count usually follows the number of client connections.
New functions to increment and decrement the use count:
void e_dbus_server_hold (EDBusServer *server)
void e_dbus_server_release (EDBusServer *server)
This lets us handle the --keep-running option more gracefully by
simply incrementing the server's use count directly in main().
For the record: I hemmed and hawed over a good while over whether to
make EDBusServer inherit from GApplication or just copy the use count
feature from GApplication. In the end, I still think GApplication is
over-engineered and tries to serve too many different use cases, so
for now I'd prefer to keep EDBusServer simple. I expect to revisit
this decision at some point down the road.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
EBackend is an abstract base class for address book and calendar
backends.
EBackendFactory is an abstract base class for creating address book and
calendar backends. It is also an EExtension that extends EDataFactory.
EDBusServer is an abstract base class for an extensible D-Bus server.
EDataFactory is a type of EDBusServer that exports connection objects
for individual address books or calendars.
|
| |
|
|
| |
Copied from Evolution's libeutil.
|