summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2018-11-08 18:44:19 +0100
committerMilan Crha <mcrha@redhat.com>2018-11-08 18:44:19 +0100
commit3ddb21132920cc3106cf9ef0642369d2f59d3fdb (patch)
tree29b9b0815c1b128899bfb0b5a9b8f84e33bf7bbe
parentc559c57c38b1a26043cd5795eebd80c35ebf2ed2 (diff)
downloadevolution-data-server-3ddb21132920cc3106cf9ef0642369d2f59d3fdb.tar.gz
Remove e-gdbus-templates from libedataserver
The only two parts using it were GDBus objects for address book and calendar view, which could be easily transformed to use gdbus-codegen, the same as the rest of the GDBus objects defined in src/private/.
-rw-r--r--CMakeLists.txt2
-rw-r--r--docs/reference/evolution-data-server/evolution-data-server-docs.sgml.in1
-rw-r--r--src/addressbook/CMakeLists.txt1
-rw-r--r--src/addressbook/libebook/CMakeLists.txt3
-rw-r--r--src/addressbook/libebook/e-book-client-view.c48
-rw-r--r--src/addressbook/libedata-book/CMakeLists.txt7
-rw-r--r--src/addressbook/libedata-book/e-data-book-view.c91
-rw-r--r--src/addressbook/libegdbus/CMakeLists.txt37
-rw-r--r--src/addressbook/libegdbus/e-gdbus-book-view.c865
-rw-r--r--src/addressbook/libegdbus/e-gdbus-book-view.h167
-rw-r--r--src/calendar/CMakeLists.txt1
-rw-r--r--src/calendar/libecal/CMakeLists.txt5
-rw-r--r--src/calendar/libecal/e-cal-client-view.c44
-rw-r--r--src/calendar/libedata-cal/CMakeLists.txt9
-rw-r--r--src/calendar/libedata-cal/e-data-cal-view.c89
-rw-r--r--src/calendar/libegdbus/CMakeLists.txt37
-rw-r--r--src/calendar/libegdbus/e-gdbus-cal-view.c865
-rw-r--r--src/calendar/libegdbus/e-gdbus-cal-view.h149
-rw-r--r--src/libedataserver/CMakeLists.txt2
-rw-r--r--src/libedataserver/e-gdbus-templates.c2393
-rw-r--r--src/libedataserver/e-gdbus-templates.h764
-rw-r--r--src/libedataserver/libedataserver.h1
-rw-r--r--src/private/CMakeLists.txt26
-rw-r--r--src/private/org.gnome.evolution.dataserver.AddressBookView.xml51
-rw-r--r--src/private/org.gnome.evolution.dataserver.CalendarView.xml51
-rw-r--r--src/services/evolution-addressbook-factory/evolution-addressbook-factory.c1
-rw-r--r--src/services/evolution-alarm-notify/evolution-alarm-notify.c1
-rw-r--r--src/services/evolution-calendar-factory/evolution-calendar-factory.c1
-rw-r--r--src/services/evolution-source-registry/evolution-source-registry.c1
-rw-r--r--src/services/evolution-user-prompter/evolution-user-prompter.c1
30 files changed, 285 insertions, 5429 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c60afbd25..71d3a317e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -53,7 +53,7 @@ set(LIBEBACKEND_CURRENT 10)
set(LIBEBACKEND_REVISION 0)
set(LIBEBACKEND_AGE 0)
-set(LIBEDATASERVER_CURRENT 23)
+set(LIBEDATASERVER_CURRENT 24)
set(LIBEDATASERVER_REVISION 0)
set(LIBEDATASERVER_AGE 0)
diff --git a/docs/reference/evolution-data-server/evolution-data-server-docs.sgml.in b/docs/reference/evolution-data-server/evolution-data-server-docs.sgml.in
index 3e7913468..a5ba6f283 100644
--- a/docs/reference/evolution-data-server/evolution-data-server-docs.sgml.in
+++ b/docs/reference/evolution-data-server/evolution-data-server-docs.sgml.in
@@ -230,7 +230,6 @@
<xi:include href="xml/e-flag.xml"/>
<xi:include href="xml/e-free-form-exp.xml"/>
<xi:include href="xml/e-gdata-oauth2-authorizer.xml"/>
- <xi:include href="xml/e-gdbus-templates.xml"/>
<xi:include href="xml/e-memory.xml"/>
<xi:include href="xml/e-network-monitor.xml"/>
<xi:include href="xml/e-operation-pool.xml"/>
diff --git a/src/addressbook/CMakeLists.txt b/src/addressbook/CMakeLists.txt
index b1c70664b..85d56e647 100644
--- a/src/addressbook/CMakeLists.txt
+++ b/src/addressbook/CMakeLists.txt
@@ -2,4 +2,3 @@ add_subdirectory(backends)
add_subdirectory(libebook)
add_subdirectory(libebook-contacts)
add_subdirectory(libedata-book)
-add_subdirectory(libegdbus)
diff --git a/src/addressbook/libebook/CMakeLists.txt b/src/addressbook/libebook/CMakeLists.txt
index e0926ccde..6ed4c13f6 100644
--- a/src/addressbook/libebook/CMakeLists.txt
+++ b/src/addressbook/libebook/CMakeLists.txt
@@ -9,7 +9,6 @@ set(DEPENDENCIES
edbus-private
edataserver
edata-book
- egdbus-book
)
set(SOURCES
@@ -67,12 +66,10 @@ target_include_directories(ebook PUBLIC
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/src
${CMAKE_BINARY_DIR}/src/addressbook
- ${CMAKE_BINARY_DIR}/src/addressbook/libegdbus
${CMAKE_BINARY_DIR}/src/private
${CMAKE_SOURCE_DIR}/src
${CMAKE_SOURCE_DIR}/src/private
${CMAKE_SOURCE_DIR}/src/addressbook
- ${CMAKE_SOURCE_DIR}/src/addressbook/libegdbus
${CMAKE_CURRENT_BINARY_DIR}
${ADDRESSBOOK_INCLUDE_DIRS}
)
diff --git a/src/addressbook/libebook/e-book-client-view.c b/src/addressbook/libebook/e-book-client-view.c
index a18dab322..dc4796c2d 100644
--- a/src/addressbook/libebook/e-book-client-view.c
+++ b/src/addressbook/libebook/e-book-client-view.c
@@ -38,7 +38,7 @@
#include "e-book-client.h"
#include "e-book-client-view.h"
-#include "e-gdbus-book-view.h"
+#include "e-dbus-address-book-view.h"
#define E_BOOK_CLIENT_VIEW_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE \
@@ -48,7 +48,7 @@ typedef struct _SignalClosure SignalClosure;
struct _EBookClientViewPrivate {
EBookClient *client;
- GDBusProxy *dbus_proxy;
+ EDBusAddressBookView *dbus_proxy;
GDBusConnection *connection;
gchar *object_path;
guint running : 1;
@@ -446,7 +446,7 @@ direct_contacts_fetch (EBookClientView *client_view,
}
static void
-book_client_view_objects_added_cb (EGdbusBookView *object,
+book_client_view_objects_added_cb (EDBusAddressBookView *object,
const gchar * const *vcards,
GWeakRef *client_view_weak_ref)
{
@@ -491,7 +491,7 @@ book_client_view_objects_added_cb (EGdbusBookView *object,
}
static void
-book_client_view_objects_modified_cb (EGdbusBookView *object,
+book_client_view_objects_modified_cb (EDBusAddressBookView *object,
const gchar * const *vcards,
GWeakRef *client_view_weak_ref)
{
@@ -536,8 +536,8 @@ book_client_view_objects_modified_cb (EGdbusBookView *object,
}
static void
-book_client_view_objects_removed_cb (EGdbusBookView *object,
- const gchar * const *ids,
+book_client_view_objects_removed_cb (EDBusAddressBookView *object,
+ const gchar * const *uids,
GWeakRef *client_view_weak_ref)
{
EBookClientView *client_view;
@@ -556,8 +556,8 @@ book_client_view_objects_removed_cb (EGdbusBookView *object,
return;
}
- for (ii = 0; ids[ii] != NULL; ii++)
- list = g_slist_prepend (list, g_strdup (ids[ii]));
+ for (ii = 0; uids[ii] != NULL; ii++)
+ list = g_slist_prepend (list, g_strdup (uids[ii]));
signal_closure = g_slice_new0 (SignalClosure);
g_weak_ref_init (&signal_closure->client_view, client_view);
@@ -581,7 +581,7 @@ book_client_view_objects_removed_cb (EGdbusBookView *object,
}
static void
-book_client_view_progress_cb (EGdbusBookView *object,
+book_client_view_progress_cb (EDBusAddressBookView *object,
guint percent,
const gchar *message,
GWeakRef *client_view_weak_ref)
@@ -623,8 +623,9 @@ book_client_view_progress_cb (EGdbusBookView *object,
}
static void
-book_client_view_complete_cb (EGdbusBookView *object,
- const gchar * const *in_error_strv,
+book_client_view_complete_cb (EDBusAddressBookView *object,
+ const gchar *arg_error_name,
+ const gchar *arg_error_message,
GWeakRef *client_view_weak_ref)
{
EBookClientView *client_view;
@@ -643,8 +644,11 @@ book_client_view_complete_cb (EGdbusBookView *object,
signal_closure = g_slice_new0 (SignalClosure);
g_weak_ref_init (&signal_closure->client_view, client_view);
- e_gdbus_templates_decode_error (
- in_error_strv, &signal_closure->error);
+ if (arg_error_name && *arg_error_name && arg_error_message)
+ signal_closure->error = g_dbus_error_new_for_dbus_error (arg_error_name, arg_error_message);
+ else
+ signal_closure->error = NULL;
+
if (signal_closure->error)
g_dbus_error_strip_remote_error (signal_closure->error);
@@ -822,7 +826,7 @@ book_client_view_dispose (GObject *object)
* Also omit a callback function, so the GDBusMessage
* uses G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED.
*/
- e_gdbus_book_view_call_dispose (priv->dbus_proxy, NULL, NULL, NULL);
+ e_dbus_address_book_view_call_dispose (priv->dbus_proxy, NULL, NULL, NULL);
g_object_unref (priv->dbus_proxy);
priv->dbus_proxy = NULL;
}
@@ -854,7 +858,7 @@ book_client_view_initable_init (GInitable *initable,
{
EBookClient *book_client;
EBookClientViewPrivate *priv;
- EGdbusBookView *gdbus_bookview;
+ EDBusAddressBookView *dbus_bookview;
gulong handler_id;
gchar *bus_name;
@@ -873,7 +877,7 @@ book_client_view_initable_init (GInitable *initable,
bus_name = e_client_dup_bus_name (E_CLIENT (book_client));
g_object_unref (book_client);
- gdbus_bookview = e_gdbus_book_view_proxy_new_sync (
+ dbus_bookview = e_dbus_address_book_view_proxy_new_sync (
priv->connection,
G_DBUS_PROXY_FLAGS_NONE,
bus_name,
@@ -882,10 +886,10 @@ book_client_view_initable_init (GInitable *initable,
g_free (bus_name);
- if (gdbus_bookview == NULL)
+ if (dbus_bookview == NULL)
return FALSE;
- priv->dbus_proxy = G_DBUS_PROXY (gdbus_bookview);
+ priv->dbus_proxy = dbus_bookview;
handler_id = g_signal_connect_data (
priv->dbus_proxy, "objects-added",
@@ -1169,7 +1173,7 @@ e_book_client_view_start (EBookClientView *client_view,
client_view->priv->running = TRUE;
- e_gdbus_book_view_call_start_sync (
+ e_dbus_address_book_view_call_start_sync (
client_view->priv->dbus_proxy, NULL, &local_error);
if (local_error != NULL) {
@@ -1196,7 +1200,7 @@ e_book_client_view_stop (EBookClientView *client_view,
client_view->priv->running = FALSE;
- e_gdbus_book_view_call_stop_sync (
+ e_dbus_address_book_view_call_stop_sync (
client_view->priv->dbus_proxy, NULL, &local_error);
if (local_error != NULL) {
@@ -1224,7 +1228,7 @@ e_book_client_view_set_flags (EBookClientView *client_view,
g_return_if_fail (E_IS_BOOK_CLIENT_VIEW (client_view));
- e_gdbus_book_view_call_set_flags_sync (
+ e_dbus_address_book_view_call_set_flags_sync (
client_view->priv->dbus_proxy, flags, NULL, &local_error);
if (local_error != NULL) {
@@ -1274,7 +1278,7 @@ e_book_client_view_set_fields_of_interest (EBookClientView *client_view,
} else
strv = e_client_util_slist_to_strv (fields_of_interest);
- e_gdbus_book_view_call_set_fields_of_interest_sync (
+ e_dbus_address_book_view_call_set_fields_of_interest_sync (
client_view->priv->dbus_proxy,
(const gchar * const *) strv,
NULL, &local_error);
diff --git a/src/addressbook/libedata-book/CMakeLists.txt b/src/addressbook/libedata-book/CMakeLists.txt
index 994d5f40a..8972c9bd5 100644
--- a/src/addressbook/libedata-book/CMakeLists.txt
+++ b/src/addressbook/libedata-book/CMakeLists.txt
@@ -6,7 +6,6 @@ set(DEPENDENCIES
ebook-contacts
edbus-private
edataserver
- egdbus-book
)
set(SOURCES
@@ -95,12 +94,10 @@ target_include_directories(edata-book PUBLIC
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/src
${CMAKE_BINARY_DIR}/src/addressbook
- ${CMAKE_BINARY_DIR}/src/addressbook/libegdbus
${CMAKE_BINARY_DIR}/src/private
${CMAKE_SOURCE_DIR}/src
${CMAKE_SOURCE_DIR}/src/private
${CMAKE_SOURCE_DIR}/src/addressbook
- ${CMAKE_SOURCE_DIR}/src/addressbook/libegdbus
${CMAKE_CURRENT_BINARY_DIR}
${ADDRESSBOOK_INCLUDE_DIRS}
${LIBDB_INCLUDE_DIRS}
@@ -141,12 +138,10 @@ target_include_directories(e-book-backend-sqlitedb-test PUBLIC
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/src
${CMAKE_BINARY_DIR}/src/addressbook
- ${CMAKE_BINARY_DIR}/src/addressbook/libegdbus
${CMAKE_BINARY_DIR}/src/private
${CMAKE_SOURCE_DIR}/src
${CMAKE_SOURCE_DIR}/src/private
${CMAKE_SOURCE_DIR}/src/addressbook
- ${CMAKE_SOURCE_DIR}/src/addressbook/libegdbus
${CMAKE_CURRENT_BINARY_DIR}
${ADDRESSBOOK_INCLUDE_DIRS}
${LIBDB_INCLUDE_DIRS}
@@ -185,12 +180,10 @@ target_include_directories(evolution-addressbook-factory-subprocess PUBLIC
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/src
${CMAKE_BINARY_DIR}/src/addressbook
- ${CMAKE_BINARY_DIR}/src/addressbook/libegdbus
${CMAKE_BINARY_DIR}/src/private
${CMAKE_SOURCE_DIR}/src
${CMAKE_SOURCE_DIR}/src/private
${CMAKE_SOURCE_DIR}/src/addressbook
- ${CMAKE_SOURCE_DIR}/src/addressbook/libegdbus
${CMAKE_CURRENT_BINARY_DIR}
${ADDRESSBOOK_INCLUDE_DIRS}
${GTK_INCLUDE_DIRS}
diff --git a/src/addressbook/libedata-book/e-data-book-view.c b/src/addressbook/libedata-book/e-data-book-view.c
index 36157adc6..86c98af92 100644
--- a/src/addressbook/libedata-book/e-data-book-view.c
+++ b/src/addressbook/libedata-book/e-data-book-view.c
@@ -40,7 +40,7 @@
#include "e-data-book.h"
#include "e-book-backend.h"
-#include "e-gdbus-book-view.h"
+#include "e-dbus-address-book-view.h"
#define E_DATA_BOOK_VIEW_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE \
@@ -54,7 +54,7 @@
struct _EDataBookViewPrivate {
GDBusConnection *connection;
- EGdbusBookView *gdbus_object;
+ EDBusAddressBookView *dbus_object;
gchar *object_path;
EBookBackend *backend;
@@ -158,8 +158,8 @@ send_pending_adds (EDataBookView *view)
if (view->priv->adds->len == 0)
return;
- e_gdbus_book_view_emit_objects_added (
- view->priv->gdbus_object,
+ e_dbus_address_book_view_emit_objects_added (
+ view->priv->dbus_object,
(const gchar * const *) view->priv->adds->data);
reset_array (view->priv->adds);
}
@@ -170,8 +170,8 @@ send_pending_changes (EDataBookView *view)
if (view->priv->changes->len == 0)
return;
- e_gdbus_book_view_emit_objects_modified (
- view->priv->gdbus_object,
+ e_dbus_address_book_view_emit_objects_modified (
+ view->priv->dbus_object,
(const gchar * const *) view->priv->changes->data);
reset_array (view->priv->changes);
}
@@ -182,8 +182,8 @@ send_pending_removes (EDataBookView *view)
if (view->priv->removes->len == 0)
return;
- e_gdbus_book_view_emit_objects_removed (
- view->priv->gdbus_object,
+ e_dbus_address_book_view_emit_objects_removed (
+ view->priv->dbus_object,
(const gchar * const *) view->priv->removes->data);
reset_array (view->priv->removes);
}
@@ -231,7 +231,7 @@ bookview_start_thread (gpointer data)
}
static gboolean
-impl_DataBookView_start (EGdbusBookView *object,
+impl_DataBookView_start (EDBusAddressBookView *object,
GDBusMethodInvocation *invocation,
EDataBookView *view)
{
@@ -244,7 +244,7 @@ impl_DataBookView_start (EGdbusBookView *object,
NULL, bookview_start_thread, g_object_ref (view));
g_thread_unref (thread);
- e_gdbus_book_view_complete_start (object, invocation, NULL);
+ e_dbus_address_book_view_complete_start (object, invocation);
return TRUE;
}
@@ -262,7 +262,7 @@ bookview_stop_thread (gpointer data)
}
static gboolean
-impl_DataBookView_stop (EGdbusBookView *object,
+impl_DataBookView_stop (EDBusAddressBookView *object,
GDBusMethodInvocation *invocation,
EDataBookView *view)
{
@@ -275,30 +275,30 @@ impl_DataBookView_stop (EGdbusBookView *object,
NULL, bookview_stop_thread, g_object_ref (view));
g_thread_unref (thread);
- e_gdbus_book_view_complete_stop (object, invocation, NULL);
+ e_dbus_address_book_view_complete_stop (object, invocation);
return TRUE;
}
static gboolean
-impl_DataBookView_setFlags (EGdbusBookView *object,
+impl_DataBookView_setFlags (EDBusAddressBookView *object,
GDBusMethodInvocation *invocation,
EBookClientViewFlags flags,
EDataBookView *view)
{
view->priv->flags = flags;
- e_gdbus_book_view_complete_set_flags (object, invocation, NULL);
+ e_dbus_address_book_view_complete_set_flags (object, invocation);
return TRUE;
}
static gboolean
-impl_DataBookView_dispose (EGdbusBookView *object,
+impl_DataBookView_dispose (EDBusAddressBookView *object,
GDBusMethodInvocation *invocation,
EDataBookView *view)
{
- e_gdbus_book_view_complete_dispose (object, invocation, NULL);
+ e_dbus_address_book_view_complete_dispose (object, invocation);
e_book_backend_stop_view (view->priv->backend, view);
view->priv->running = FALSE;
@@ -308,7 +308,7 @@ impl_DataBookView_dispose (EGdbusBookView *object,
}
static gboolean
-impl_DataBookView_set_fields_of_interest (EGdbusBookView *object,
+impl_DataBookView_set_fields_of_interest (EDBusAddressBookView *object,
GDBusMethodInvocation *invocation,
const gchar * const *in_fields_of_interest,
EDataBookView *view)
@@ -348,8 +348,7 @@ impl_DataBookView_set_fields_of_interest (EGdbusBookView *object,
g_strdup (field), GINT_TO_POINTER (1));
}
- e_gdbus_book_view_complete_set_fields_of_interest (
- object, invocation, NULL);
+ e_dbus_address_book_view_complete_set_fields_of_interest (object, invocation);
return TRUE;
}
@@ -485,7 +484,7 @@ data_book_view_dispose (GObject *object)
g_mutex_unlock (&priv->pending_mutex);
g_clear_object (&priv->connection);
- g_clear_object (&priv->gdbus_object);
+ g_clear_object (&priv->dbus_object);
g_clear_object (&priv->backend);
g_clear_object (&priv->sexp);
@@ -529,8 +528,8 @@ data_book_view_initable_init (GInitable *initable,
view = E_DATA_BOOK_VIEW (initable);
- return e_gdbus_book_view_register_object (
- view->priv->gdbus_object,
+ return g_dbus_interface_skeleton_export (
+ G_DBUS_INTERFACE_SKELETON (view->priv->dbus_object),
view->priv->connection,
view->priv->object_path,
error);
@@ -613,21 +612,21 @@ e_data_book_view_init (EDataBookView *view)
view->priv->flags = E_BOOK_CLIENT_VIEW_FLAGS_NOTIFY_INITIAL;
- view->priv->gdbus_object = e_gdbus_book_view_stub_new ();
+ view->priv->dbus_object = e_dbus_address_book_view_skeleton_new ();
g_signal_connect (
- view->priv->gdbus_object, "handle-start",
+ view->priv->dbus_object, "handle-start",
G_CALLBACK (impl_DataBookView_start), view);
g_signal_connect (
- view->priv->gdbus_object, "handle-stop",
+ view->priv->dbus_object, "handle-stop",
G_CALLBACK (impl_DataBookView_stop), view);
g_signal_connect (
- view->priv->gdbus_object, "handle-set-flags",
+ view->priv->dbus_object, "handle-set-flags",
G_CALLBACK (impl_DataBookView_setFlags), view);
g_signal_connect (
- view->priv->gdbus_object, "handle-dispose",
+ view->priv->dbus_object, "handle-dispose",
G_CALLBACK (impl_DataBookView_dispose), view);
g_signal_connect (
- view->priv->gdbus_object, "handle-set-fields-of-interest",
+ view->priv->dbus_object, "handle-set-fields-of-interest",
G_CALLBACK (impl_DataBookView_set_fields_of_interest), view);
view->priv->fields_of_interest = NULL;
@@ -1073,7 +1072,7 @@ void
e_data_book_view_notify_complete (EDataBookView *view,
const GError *error)
{
- gchar **strv_error;
+ gchar *error_name, *error_message;
g_return_if_fail (E_IS_DATA_BOOK_VIEW (view));
@@ -1091,11 +1090,25 @@ e_data_book_view_notify_complete (EDataBookView *view,
g_mutex_unlock (&view->priv->pending_mutex);
- strv_error = e_gdbus_templates_encode_error (error);
- e_gdbus_book_view_emit_complete (
- view->priv->gdbus_object,
- (const gchar * const *) strv_error);
- g_strfreev (strv_error);
+ if (error) {
+ gchar *dbus_error_name = g_dbus_error_encode_gerror (error);
+
+ error_name = e_util_utf8_make_valid (dbus_error_name ? dbus_error_name : "");
+ error_message = e_util_utf8_make_valid (error->message);
+
+ g_free (dbus_error_name);
+ } else {
+ error_name = g_strdup ("");
+ error_message = g_strdup ("");
+ }
+
+ e_dbus_address_book_view_emit_complete (
+ view->priv->dbus_object,
+ error_name,
+ error_message);
+
+ g_free (error_name);
+ g_free (error_message);
}
/**
@@ -1115,18 +1128,18 @@ e_data_book_view_notify_progress (EDataBookView *view,
guint percent,
const gchar *message)
{
- gchar *gdbus_message = NULL;
+ gchar *dbus_message = NULL;
g_return_if_fail (E_IS_DATA_BOOK_VIEW (view));
if (!view->priv->running)
return;
- e_gdbus_book_view_emit_progress (
- view->priv->gdbus_object, percent,
- e_util_ensure_gdbus_string (message, &gdbus_message));
+ e_dbus_address_book_view_emit_progress (
+ view->priv->dbus_object, percent,
+ e_util_ensure_gdbus_string (message, &dbus_message));
- g_free (gdbus_message);
+ g_free (dbus_message);
}
/**
diff --git a/src/addressbook/libegdbus/CMakeLists.txt b/src/addressbook/libegdbus/CMakeLists.txt
deleted file mode 100644
index 472566cac..000000000
--- a/src/addressbook/libegdbus/CMakeLists.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-set(SOURCES
- e-gdbus-book-view.h
- e-gdbus-book-view.c
-)
-
-set(DEPENDENCIES
- edataserver
-)
-
-add_library(egdbus-book STATIC
- ${SOURCES}
-)
-
-add_dependencies(egdbus-book
- ${DEPENDENCIES}
-)
-
-target_compile_definitions(egdbus-book PRIVATE
- -DG_LOG_DOMAIN=\"egdbus-book\"
-)
-
-target_compile_options(egdbus-book PUBLIC
- ${DATA_SERVER_CFLAGS}
-)
-
-target_include_directories(egdbus-book PUBLIC
- ${CMAKE_BINARY_DIR}
- ${CMAKE_BINARY_DIR}/src
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_SOURCE_DIR}/src
- ${DATA_SERVER_INCLUDE_DIRS}
-)
-
-target_link_libraries(egdbus-book
- ${DEPENDENCIES}
- ${DATA_SERVER_LDFLAGS}
-)
diff --git a/src/addressbook/libegdbus/e-gdbus-book-view.c b/src/addressbook/libegdbus/e-gdbus-book-view.c
deleted file mode 100644
index 992758c42..000000000
--- a/src/addressbook/libegdbus/e-gdbus-book-view.c
+++ /dev/null
@@ -1,865 +0,0 @@
-/*
- * e-gdbus-book-view.c
- *
- * Copyright (C) 2011 Red Hat, Inc. (www.redhat.com)
- *
- * This library is free software: you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include <stdio.h>
-#include <gio/gio.h>
-
-#include "e-gdbus-book-view.h"
-
-#define GDBUS_BOOK_VIEW_INTERFACE_NAME "org.gnome.evolution.dataserver.AddressBookView"
-
-typedef EGdbusBookViewIface EGdbusBookViewInterface;
-G_DEFINE_INTERFACE (EGdbusBookView, e_gdbus_book_view, G_TYPE_OBJECT);
-
-enum
-{
- _0_SIGNAL,
- __OBJECTS_ADDED_SIGNAL,
- __OBJECTS_MODIFIED_SIGNAL,
- __OBJECTS_REMOVED_SIGNAL,
- __PROGRESS_SIGNAL,
- __COMPLETE_SIGNAL,
- __START_METHOD,
- __STOP_METHOD,
- __SET_FLAGS_METHOD,
- __DISPOSE_METHOD,
- __SET_FIELDS_OF_INTEREST_METHOD,
- __LAST_SIGNAL
-};
-
-static guint signals[__LAST_SIGNAL] = {0};
-
-/* ------------------------------------------------------------------------- */
-
-/* Various lookup tables */
-
-static GHashTable *_method_name_to_id = NULL;
-static GHashTable *_method_name_to_type = NULL;
-static GHashTable *_signal_name_to_id = NULL;
-static GHashTable *_signal_name_to_type = NULL;
-
-static guint
-lookup_method_id_from_method_name (const gchar *method_name)
-{
- return GPOINTER_TO_UINT (g_hash_table_lookup (_method_name_to_id, method_name));
-}
-
-static guint
-lookup_method_type_from_method_name (const gchar *method_name)
-{
- return GPOINTER_TO_UINT (g_hash_table_lookup (_method_name_to_type, method_name));
-}
-
-static guint
-lookup_signal_id_from_signal_name (const gchar *signal_name)
-{
- return GPOINTER_TO_UINT (g_hash_table_lookup (_signal_name_to_id, signal_name));
-}
-
-static guint
-lookup_signal_type_from_signal_name (const gchar *signal_name)
-{
- return GPOINTER_TO_UINT (g_hash_table_lookup (_signal_name_to_type, signal_name));
-}
-
-/* ------------------------------------------------------------------------- */
-
-E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_STRV (GDBUS_BOOK_VIEW_INTERFACE_NAME,
- objects_added)
-E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_STRV (GDBUS_BOOK_VIEW_INTERFACE_NAME,
- objects_modified)
-E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_STRV (GDBUS_BOOK_VIEW_INTERFACE_NAME,
- objects_removed)
-E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_UINT_STRING (GDBUS_BOOK_VIEW_INTERFACE_NAME,
- progress)
-E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_STRV (GDBUS_BOOK_VIEW_INTERFACE_NAME,
- complete)
-
-static void
-e_gdbus_book_view_default_init (EGdbusBookViewIface *iface)
-{
- /* Build lookup structures */
- _method_name_to_id = g_hash_table_new (g_str_hash, g_str_equal);
- _method_name_to_type = g_hash_table_new (g_str_hash, g_str_equal);
- _signal_name_to_id = g_hash_table_new (g_str_hash, g_str_equal);
- _signal_name_to_type = g_hash_table_new (g_str_hash, g_str_equal);
-
- /* GObject signals definitions for D-Bus signals: */
- E_INIT_GDBUS_SIGNAL_STRV (
- EGdbusBookViewIface,
- "objects_added",
- objects_added,
- __OBJECTS_ADDED_SIGNAL)
- E_INIT_GDBUS_SIGNAL_STRV (
- EGdbusBookViewIface,
- "objects_modified",
- objects_modified,
- __OBJECTS_MODIFIED_SIGNAL)
- E_INIT_GDBUS_SIGNAL_STRV (
- EGdbusBookViewIface,
- "objects_removed",
- objects_removed,
- __OBJECTS_REMOVED_SIGNAL)
- E_INIT_GDBUS_SIGNAL_UINT_STRING (
- EGdbusBookViewIface,
- "progress",
- progress,
- __PROGRESS_SIGNAL)
- E_INIT_GDBUS_SIGNAL_STRV (
- EGdbusBookViewIface,
- "complete",
- complete,
- __COMPLETE_SIGNAL)
-
- /* GObject signals definitions for D-Bus methods: */
- E_INIT_GDBUS_METHOD_VOID (
- EGdbusBookViewIface,
- "start",
- start,
- __START_METHOD)
- E_INIT_GDBUS_METHOD_VOID (
- EGdbusBookViewIface,
- "stop",
- stop,
- __STOP_METHOD)
- E_INIT_GDBUS_METHOD_VOID (
- EGdbusBookViewIface,
- "dispose",
- dispose,
- __DISPOSE_METHOD)
- E_INIT_GDBUS_METHOD_UINT (
- EGdbusBookViewIface,
- "set_flags",
- set_flags,
- __SET_FLAGS_METHOD)
- E_INIT_GDBUS_METHOD_STRV (
- EGdbusBookViewIface,
- "set_fields_of_interest",
- set_fields_of_interest,
- __SET_FIELDS_OF_INTEREST_METHOD)
-}
-
-void
-e_gdbus_book_view_call_start (GDBusProxy *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- e_gdbus_proxy_method_call_void ("start", proxy, cancellable, callback, user_data);
-}
-
-gboolean
-e_gdbus_book_view_call_start_finish (GDBusProxy *proxy,
- GAsyncResult *result,
- GError **error)
-{
- return e_gdbus_proxy_method_call_finish_void (proxy, result, error);
-}
-
-gboolean
-e_gdbus_book_view_call_start_sync (GDBusProxy *proxy,
- GCancellable *cancellable,
- GError **error)
-{
- return e_gdbus_proxy_method_call_sync_void__void ("start", proxy, cancellable, error);
-}
-
-void
-e_gdbus_book_view_call_stop (GDBusProxy *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- e_gdbus_proxy_method_call_void ("stop", proxy, cancellable, callback, user_data);
-}
-
-gboolean
-e_gdbus_book_view_call_stop_finish (GDBusProxy *proxy,
- GAsyncResult *result,
- GError **error)
-{
- return e_gdbus_proxy_method_call_finish_void (proxy, result, error);
-}
-
-gboolean
-e_gdbus_book_view_call_stop_sync (GDBusProxy *proxy,
- GCancellable *cancellable,
- GError **error)
-{
- return e_gdbus_proxy_method_call_sync_void__void ("stop", proxy, cancellable, error);
-}
-
-void
-e_gdbus_book_view_call_set_flags (GDBusProxy *proxy,
- guint in_flags,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- e_gdbus_proxy_method_call_uint ("set_flags", proxy, in_flags, cancellable, callback, user_data);
-}
-
-gboolean
-e_gdbus_book_view_call_set_flags_finish (GDBusProxy *proxy,
- GAsyncResult *result,
- GError **error)
-{
- return e_gdbus_proxy_method_call_finish_void (proxy, result, error);
-}
-
-gboolean
-e_gdbus_book_view_call_set_flags_sync (GDBusProxy *proxy,
- guint in_flags,
- GCancellable *cancellable,
- GError **error)
-{
- return e_gdbus_proxy_method_call_sync_uint__void ("set_flags", proxy, in_flags, cancellable, error);
-}
-
-void
-e_gdbus_book_view_call_dispose (GDBusProxy *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- e_gdbus_proxy_method_call_void ("dispose", proxy, cancellable, callback, user_data);
-}
-
-gboolean
-e_gdbus_book_view_call_dispose_finish (GDBusProxy *proxy,
- GAsyncResult *result,
- GError **error)
-{
- return e_gdbus_proxy_method_call_finish_void (proxy, result, error);
-}
-
-gboolean
-e_gdbus_book_view_call_dispose_sync (GDBusProxy *proxy,
- GCancellable *cancellable,
- GError **error)
-{
- return e_gdbus_proxy_method_call_sync_void__void ("dispose", proxy, cancellable, error);
-}
-
-void
-e_gdbus_book_view_call_set_fields_of_interest (GDBusProxy *proxy,
- const gchar * const *in_only_fields,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- e_gdbus_proxy_method_call_strv ("set_fields_of_interest", proxy, in_only_fields, cancellable, callback, user_data);
-}
-
-gboolean
-e_gdbus_book_view_call_set_fields_of_interest_finish (GDBusProxy *proxy,
- GAsyncResult *result,
- GError **error)
-{
- return e_gdbus_proxy_method_call_finish_void (proxy, result, error);
-}
-
-gboolean
-e_gdbus_book_view_call_set_fields_of_interest_sync (GDBusProxy *proxy,
- const gchar * const *in_only_fields,
- GCancellable *cancellable,
- GError **error)
-{
- return e_gdbus_proxy_method_call_sync_strv__void ("set_fields_of_interest", proxy, in_only_fields, cancellable, error);
-}
-
-void
-e_gdbus_book_view_emit_objects_added (EGdbusBookView *object,
- const gchar * const *arg_objects)
-{
- g_signal_emit (object, signals[__OBJECTS_ADDED_SIGNAL], 0, arg_objects);
-}
-
-void
-e_gdbus_book_view_emit_objects_modified (EGdbusBookView *object,
- const gchar * const *arg_objects)
-{
- g_signal_emit (object, signals[__OBJECTS_MODIFIED_SIGNAL], 0, arg_objects);
-}
-
-void
-e_gdbus_book_view_emit_objects_removed (EGdbusBookView *object,
- const gchar * const *arg_uids)
-{
- g_signal_emit (object, signals[__OBJECTS_REMOVED_SIGNAL], 0, arg_uids);
-}
-
-void
-e_gdbus_book_view_emit_progress (EGdbusBookView *object,
- guint arg_percent,
- const gchar *arg_message)
-{
- g_signal_emit (object, signals[__PROGRESS_SIGNAL], 0, arg_percent, arg_message);
-}
-
-void
-e_gdbus_book_view_emit_complete (EGdbusBookView *object,
- const gchar * const *arg_error)
-{
- g_signal_emit (object, signals[__COMPLETE_SIGNAL], 0, arg_error);
-}
-
-E_DECLARE_GDBUS_NOTIFY_SIGNAL_1 (book_view,
- objects_added,
- objects,
- "as")
-E_DECLARE_GDBUS_NOTIFY_SIGNAL_1 (book_view,
- objects_modified,
- objects,
- "as")
-E_DECLARE_GDBUS_NOTIFY_SIGNAL_1 (book_view,
- objects_removed,
- uids,
- "as")
-E_DECLARE_GDBUS_NOTIFY_SIGNAL_2 (book_view,
- progress,
- percent,
- "u",
- message,
- "s")
-E_DECLARE_GDBUS_NOTIFY_SIGNAL_1 (book_view,
- complete,
- error,
- "as")
-
-E_DECLARE_GDBUS_SYNC_METHOD_0 (book_view,
- start)
-E_DECLARE_GDBUS_SYNC_METHOD_0 (book_view,
- stop)
-E_DECLARE_GDBUS_SYNC_METHOD_0 (book_view,
- dispose)
-E_DECLARE_GDBUS_SYNC_METHOD_1 (book_view,
- set_flags,
- flags,
- "u")
-E_DECLARE_GDBUS_SYNC_METHOD_1 (book_view,
- set_fields_of_interest,
- fields_of_interest,
- "as")
-
-static const GDBusMethodInfo * const e_gdbus_book_view_method_info_pointers[] =
-{
- &E_DECLARED_GDBUS_METHOD_INFO_NAME (book_view, start),
- &E_DECLARED_GDBUS_METHOD_INFO_NAME (book_view, stop),
- &E_DECLARED_GDBUS_METHOD_INFO_NAME (book_view, set_flags),
- &E_DECLARED_GDBUS_METHOD_INFO_NAME (book_view, dispose),
- &E_DECLARED_GDBUS_METHOD_INFO_NAME (book_view, set_fields_of_interest),
- NULL
-};
-
-static const GDBusSignalInfo * const e_gdbus_book_view_signal_info_pointers[] =
-{
- &E_DECLARED_GDBUS_SIGNAL_INFO_NAME (book_view, objects_added),
- &E_DECLARED_GDBUS_SIGNAL_INFO_NAME (book_view, objects_modified),
- &E_DECLARED_GDBUS_SIGNAL_INFO_NAME (book_view, objects_removed),
- &E_DECLARED_GDBUS_SIGNAL_INFO_NAME (book_view, progress),
- &E_DECLARED_GDBUS_SIGNAL_INFO_NAME (book_view, complete),
- NULL
-};
-
-static const GDBusInterfaceInfo _e_gdbus_book_view_interface_info =
-{
- -1,
- (gchar *) GDBUS_BOOK_VIEW_INTERFACE_NAME,
- (GDBusMethodInfo **) &e_gdbus_book_view_method_info_pointers,
- (GDBusSignalInfo **) &e_gdbus_book_view_signal_info_pointers,
- (GDBusPropertyInfo **) NULL
-};
-
-static void
-handle_method_call (GDBusConnection *connection,
- const gchar *sender,
- const gchar *object_path,
- const gchar *interface_name,
- const gchar *method_name,
- GVariant *parameters,
- GDBusMethodInvocation *invocation,
- gpointer user_data)
-{
- guint method_id, method_type;
-
- method_id = lookup_method_id_from_method_name (method_name);
- method_type = lookup_method_type_from_method_name (method_name);
-
- g_return_if_fail (method_id != 0);
- g_return_if_fail (method_type != 0);
-
- e_gdbus_stub_handle_method_call (user_data, invocation, parameters, method_name, signals[method_id], method_type);
-}
-
-static GVariant *
-get_property (GDBusConnection *connection,
- const gchar *sender,
- const gchar *object_path,
- const gchar *interface_name,
- const gchar *property_name,
- GError **error,
- gpointer user_data)
-{
- g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_NOT_SUPPORTED, "This implementation does not support property `%s'", property_name);
- return NULL;
-}
-
-static gboolean
-set_property (GDBusConnection *connection,
- const gchar *sender,
- const gchar *object_path,
- const gchar *interface_name,
- const gchar *property_name,
- GVariant *value,
- GError **error,
- gpointer user_data)
-{
- g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_NOT_SUPPORTED, "This implementation does not support property `%s'", property_name);
- return FALSE;
-}
-
-static const GDBusInterfaceVTable e_gdbus_book_view_interface_vtable =
-{
- handle_method_call,
- get_property,
- set_property
-};
-
-static gboolean
-emit_notifications_in_idle (gpointer user_data)
-{
- GObject *object = G_OBJECT (user_data);
- GDBusConnection *connection;
- const gchar *path;
- GHashTable *notification_queue;
- GHashTableIter iter;
- const gchar *property_name;
- GVariant *value;
- GVariantBuilder *builder;
- GVariantBuilder *invalidated_builder;
- GHashTable *pvc;
- gboolean has_changes;
-
- notification_queue = g_object_get_data (object, "gdbus-codegen-notification-queue");
- path = g_object_get_data (object, "gdbus-codegen-path");
- connection = g_object_get_data (object, "gdbus-codegen-connection");
- pvc = g_object_get_data (object, "gdbus-codegen-pvc");
- g_return_val_if_fail (notification_queue != NULL && path != NULL && connection != NULL && pvc != NULL, FALSE);
-
- builder = g_variant_builder_new (G_VARIANT_TYPE_ARRAY);
- invalidated_builder = g_variant_builder_new (G_VARIANT_TYPE ("as"));
- g_hash_table_iter_init (&iter, notification_queue);
- has_changes = FALSE;
- while (g_hash_table_iter_next (&iter, (gpointer) &property_name, (gpointer) &value)) {
- GVariant *cached_value;
- cached_value = g_hash_table_lookup (pvc, property_name);
- if (cached_value == NULL || !g_variant_equal (cached_value, value)) {
- g_hash_table_insert (pvc, (gpointer) property_name, (gpointer) g_variant_ref (value));
- g_variant_builder_add (builder, "{sv}", property_name, value);
- has_changes = TRUE;
- }
- }
-
- if (has_changes) {
- g_dbus_connection_emit_signal (
- connection,
- NULL,
- path,
- "org.freedesktop.DBus.Properties",
- "PropertiesChanged",
- g_variant_new (
- "(sa{sv}as)",
- GDBUS_BOOK_VIEW_INTERFACE_NAME,
- builder,
- invalidated_builder),
- NULL);
- } else {
- g_variant_builder_unref (builder);
- g_variant_builder_unref (invalidated_builder);
- }
-
- g_hash_table_remove_all (notification_queue);
- g_object_set_data (object, "gdbus-codegen-notification-idle-id", GUINT_TO_POINTER (0));
- return FALSE;
-}
-
-/**
- * e_gdbus_book_view_drain_notify:
- * @object: A #EGdbusBookView that is exported.
- *
- * If @object has queued notifications, empty the queue forcing
- * the <literal>PropertiesChanged</literal> signal to be emitted.
- * See <xref linkend="EGdbusBookView.description"/> for more background information.
- */
-void
-e_gdbus_book_view_drain_notify (EGdbusBookView *object)
-{
- gint idle_id;
- idle_id = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (object), "gdbus-codegen-notification-idle-id"));
- if (idle_id > 0) {
- emit_notifications_in_idle (object);
- g_source_remove (idle_id);
- }
-}
-
-static void
-on_object_unregistered (GObject *object)
-{
- gint idle_id;
- idle_id = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (object), "gdbus-codegen-notification-idle-id"));
- if (idle_id > 0) {
- g_source_remove (idle_id);
- }
- g_object_set_data (G_OBJECT (object), "gdbus-codegen-path", NULL);
- g_object_set_data (G_OBJECT (object), "gdbus-codegen-connection", NULL);
-}
-
-/**
- * e_gdbus_book_view_register_object:
- * @object: An instance of a #GObject<!-- -->-derived type implementing the #EGdbusBookView interface.
- * @connection: A #GDBusConnection.
- * @object_path: The object to register the object at.
- * @error: Return location for error or %NULL.
- *
- * Registers @object at @object_path on @connection.
- *
- * See <xref linkend="EGdbusBookView.description"/>
- * for how properties, methods and signals are handled.
- *
- * Returns: 0 if @error is set, otherwise a registration id (never 0) that can be used with g_dbus_connection_unregister_object().
- */
-guint
-e_gdbus_book_view_register_object (EGdbusBookView *object,
- GDBusConnection *connection,
- const gchar *object_path,
- GError **error)
-{
- GHashTable *pvc;
-
- pvc = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, (GDestroyNotify) g_variant_unref);
-
- g_object_set_data_full (G_OBJECT (object), "gdbus-codegen-path", (gpointer) g_strdup (object_path), g_free);
- g_object_set_data (G_OBJECT (object), "gdbus-codegen-connection", (gpointer) connection);
- g_object_set_data_full (G_OBJECT (object), "gdbus-codegen-pvc", (gpointer) pvc, (GDestroyNotify) g_hash_table_unref);
- return g_dbus_connection_register_object (
- connection,
- object_path,
- (GDBusInterfaceInfo *) &_e_gdbus_book_view_interface_info,
- &e_gdbus_book_view_interface_vtable,
- object,
- (GDestroyNotify) on_object_unregistered,
- error);
-}
-
-/**
- * e_gdbus_book_view_interface_info:
- *
- * Gets interface description for the <literal>org.gnome.evolution.dataserver.AddressBookView</literal> D-Bus interface.
- *
- * Returns: A #GDBusInterfaceInfo. Do not free, the object is statically allocated.
- */
-const GDBusInterfaceInfo *
-e_gdbus_book_view_interface_info (void)
-{
- return &_e_gdbus_book_view_interface_info;
-}
-
-/* ---------------------------------------------------------------------- */
-
-static void proxy_iface_init (EGdbusBookViewIface *iface);
-
-G_DEFINE_TYPE_WITH_CODE (EGdbusBookViewProxy, e_gdbus_book_view_proxy, G_TYPE_DBUS_PROXY,
- G_IMPLEMENT_INTERFACE (E_TYPE_GDBUS_BOOK_VIEW, proxy_iface_init));
-
-static void
-e_gdbus_book_view_proxy_init (EGdbusBookViewProxy *proxy)
-{
- g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), (GDBusInterfaceInfo *) &_e_gdbus_book_view_interface_info);
-}
-
-static void
-g_signal (GDBusProxy *proxy,
- const gchar *sender_name,
- const gchar *signal_name,
- GVariant *parameters)
-{
- guint signal_id, signal_type;
-
- signal_id = lookup_signal_id_from_signal_name (signal_name);
- signal_type = lookup_signal_type_from_signal_name (signal_name);
-
- g_return_if_fail (signal_id != 0);
- g_return_if_fail (signal_type != 0);
-
- e_gdbus_proxy_emit_signal (proxy, parameters, signals[signal_id], signal_type);
-}
-
-static void
-e_gdbus_book_view_proxy_class_init (EGdbusBookViewProxyClass *class)
-{
- GDBusProxyClass *proxy_class;
-
- proxy_class = G_DBUS_PROXY_CLASS (class);
- proxy_class->g_signal = g_signal;
-}
-
-static void
-proxy_iface_init (EGdbusBookViewIface *iface)
-{
-}
-
-/**
- * e_gdbus_book_view_proxy_new:
- * @connection: A #GDBusConnection.
- * @flags: Flags used when constructing the proxy.
- * @name: A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
- * @object_path: An object path.
- * @cancellable: A #GCancellable or %NULL.
- * @callback: Callback function to invoke when the proxy is ready.
- * @user_data: User data to pass to @callback.
- *
- * Like g_dbus_proxy_new() but returns a #EGdbusBookViewProxy.
- *
- * This is a failable asynchronous constructor - when the proxy is ready, callback will be invoked and you can use e_gdbus_book_view_proxy_new_finish() to get the result.
- */
-void
-e_gdbus_book_view_proxy_new (GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_async_initable_new_async (
- E_TYPE_GDBUS_BOOK_VIEW_PROXY,
- G_PRIORITY_DEFAULT,
- cancellable,
- callback,
- user_data,
- "g-flags", flags,
- "g-name", name,
- "g-connection", connection,
- "g-object-path", object_path,
- "g-interface-name", GDBUS_BOOK_VIEW_INTERFACE_NAME,
- NULL);
-}
-
-/**
- * e_gdbus_book_view_proxy_new_finish:
- * @result: A #GAsyncResult obtained from the #GAsyncReadyCallback function passed to e_gdbus_book_view_proxy_new().
- * @error: Return location for error or %NULL.
- *
- * Finishes creating a #EGdbusBookViewProxy.
- *
- * Returns: A #EGdbusBookViewProxy or %NULL if @error is set. Free with g_object_unref().
- */
-EGdbusBookView *
-e_gdbus_book_view_proxy_new_finish (GAsyncResult *result,
- GError **error)
-{
- GObject *object;
- GObject *source_object;
- source_object = g_async_result_get_source_object (result);
- g_return_val_if_fail (source_object != NULL, NULL);
- object = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), result, error);
- g_object_unref (source_object);
- if (object != NULL)
- return E_GDBUS_BOOK_VIEW (object);
- else
- return NULL;
-}
-
-/**
- * e_gdbus_book_view_proxy_new_sync:
- * @connection: A #GDBusConnection.
- * @flags: Flags used when constructing the proxy.
- * @name: A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
- * @object_path: An object path.
- * @cancellable: A #GCancellable or %NULL.
- * @error: Return location for error or %NULL.
- *
- * Like g_dbus_proxy_new_sync() but returns a #EGdbusBookViewProxy.
- *
- * This is a synchronous failable constructor. See e_gdbus_book_view_proxy_new() and e_gdbus_book_view_proxy_new_finish() for the asynchronous version.
- *
- * Returns: A #EGdbusBookViewProxy or %NULL if error is set. Free with g_object_unref().
- */
-EGdbusBookView *
-e_gdbus_book_view_proxy_new_sync (GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error)
-{
- GInitable *initable;
- initable = g_initable_new (
- E_TYPE_GDBUS_BOOK_VIEW_PROXY,
- cancellable,
- error,
- "g-flags", flags,
- "g-name", name,
- "g-connection", connection,
- "g-object-path", object_path,
- "g-interface-name", GDBUS_BOOK_VIEW_INTERFACE_NAME,
- NULL);
- if (initable != NULL)
- return E_GDBUS_BOOK_VIEW (initable);
- else
- return NULL;
-}
-
-/**
- * e_gdbus_book_view_proxy_new_for_bus:
- * @bus_type: A #GBusType.
- * @flags: Flags used when constructing the proxy.
- * @name: A bus name (well-known or unique).
- * @object_path: An object path.
- * @cancellable: A #GCancellable or %NULL.
- * @callback: Callback function to invoke when the proxy is ready.
- * @user_data: User data to pass to @callback.
- *
- * Like g_dbus_proxy_new_for_bus() but returns a #EGdbusBookViewProxy.
- *
- * This is a failable asynchronous constructor - when the proxy is ready, callback will be invoked and you can use e_gdbus_book_view_proxy_new_for_bus_finish() to get the result.
- */
-void
-e_gdbus_book_view_proxy_new_for_bus (GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_async_initable_new_async (
- E_TYPE_GDBUS_BOOK_VIEW_PROXY,
- G_PRIORITY_DEFAULT,
- cancellable,
- callback,
- user_data,
- "g-flags", flags,
- "g-name", name,
- "g-bus-type", bus_type,
- "g-object-path", object_path,
- "g-interface-name", GDBUS_BOOK_VIEW_INTERFACE_NAME,
- NULL);
-}
-
-/**
- * e_gdbus_book_view_proxy_new_for_bus_finish:
- * @result: A #GAsyncResult obtained from the #GAsyncReadyCallback function passed to e_gdbus_book_view_proxy_new_for_bus().
- * @error: Return location for error or %NULL.
- *
- * Finishes creating a #EGdbusBookViewProxy.
- *
- * Returns: A #EGdbusBookViewProxy or %NULL if @error is set. Free with g_object_unref().
- */
-EGdbusBookView *
-e_gdbus_book_view_proxy_new_for_bus_finish (GAsyncResult *result,
- GError **error)
-{
- GObject *object;
- GObject *source_object;
- source_object = g_async_result_get_source_object (result);
- g_return_val_if_fail (source_object != NULL, NULL);
- object = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), result, error);
- g_object_unref (source_object);
- if (object != NULL)
- return E_GDBUS_BOOK_VIEW (object);
- else
- return NULL;
-}
-
-/**
- * e_gdbus_book_view_proxy_new_for_bus_sync:
- * @bus_type: A #GBusType.
- * @flags: Flags used when constructing the proxy.
- * @name: A bus name (well-known or unique).
- * @object_path: An object path.
- * @cancellable: A #GCancellable or %NULL.
- * @error: Return location for error or %NULL.
- *
- * Like g_dbus_proxy_new_for_bus_sync() but returns a #EGdbusBookViewProxy.
- *
- * This is a synchronous failable constructor. See e_gdbus_book_view_proxy_new_for_bus() and e_gdbus_book_view_proxy_new_for_bus_finish() for the asynchronous version.
- *
- * Returns: A #EGdbusBookViewProxy or %NULL if error is set. Free with g_object_unref().
- */
-EGdbusBookView *
-e_gdbus_book_view_proxy_new_for_bus_sync (GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error)
-{
- GInitable *initable;
- initable = g_initable_new (
- E_TYPE_GDBUS_BOOK_VIEW_PROXY,
- cancellable,
- error,
- "g-flags", flags,
- "g-name", name,
- "g-bus-type", bus_type,
- "g-object-path", object_path,
- "g-interface-name", GDBUS_BOOK_VIEW_INTERFACE_NAME,
- NULL);
- if (initable != NULL)
- return E_GDBUS_BOOK_VIEW (initable);
- else
- return NULL;
-}
-
-/* ---------------------------------------------------------------------- */
-
-static void stub_iface_init (EGdbusBookViewIface *iface);
-
-G_DEFINE_TYPE_WITH_CODE (EGdbusBookViewStub, e_gdbus_book_view_stub, G_TYPE_OBJECT,
- G_IMPLEMENT_INTERFACE (E_TYPE_GDBUS_BOOK_VIEW, stub_iface_init));
-
-static void
-e_gdbus_book_view_stub_init (EGdbusBookViewStub *stub)
-{
-}
-
-static void
-e_gdbus_book_view_stub_class_init (EGdbusBookViewStubClass *class)
-{
-}
-
-static void
-stub_iface_init (EGdbusBookViewIface *iface)
-{
-}
-
-/**
- * e_gdbus_book_view_stub_new:
- *
- * Creates a new stub object that can be exported via e_gdbus_book_view_register_object().
- *
- * Returns: A #EGdbusBookViewStub instance. Free with g_object_unref().
- */
-EGdbusBookView *
-e_gdbus_book_view_stub_new (void)
-{
- return E_GDBUS_BOOK_VIEW (g_object_new (E_TYPE_GDBUS_BOOK_VIEW_STUB, NULL));
-}
diff --git a/src/addressbook/libegdbus/e-gdbus-book-view.h b/src/addressbook/libegdbus/e-gdbus-book-view.h
deleted file mode 100644
index 25e18d4e2..000000000
--- a/src/addressbook/libegdbus/e-gdbus-book-view.h
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * e-gdbus-book-view.h
- *
- * Copyright (C) 2011 Red Hat, Inc. (www.redhat.com)
- *
- * This library is free software: you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#ifndef E_GDBUS_BOOK_VIEW_H
-#define E_GDBUS_BOOK_VIEW_H
-
-#include <gio/gio.h>
-
-#include <libedataserver/libedataserver.h>
-
-G_BEGIN_DECLS
-
-#define E_TYPE_GDBUS_BOOK_VIEW (e_gdbus_book_view_get_type ())
-#define E_GDBUS_BOOK_VIEW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TYPE_GDBUS_BOOK_VIEW, EGdbusBookView))
-#define E_IS_GDBUS_BOOK_VIEW(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TYPE_GDBUS_BOOK_VIEW))
-#define E_GDBUS_BOOK_VIEW_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE((o), E_TYPE_GDBUS_BOOK_VIEW, EGdbusBookViewIface))
-
-/**
- * EGdbusBookView:
- *
- * Opaque type representing a proxy or an exported object.
- */
-typedef struct _EGdbusBookView EGdbusBookView; /* Dummy typedef */
-typedef struct _EGdbusBookViewIface EGdbusBookViewIface;
-
-GType e_gdbus_book_view_get_type (void) G_GNUC_CONST;
-
-/* ---------------------------------------------------------------------- */
-
-typedef struct _EGdbusBookViewProxy EGdbusBookViewProxy;
-typedef struct _EGdbusBookViewProxyClass EGdbusBookViewProxyClass;
-typedef struct _EGdbusBookViewProxyPrivate EGdbusBookViewProxyPrivate;
-
-struct _EGdbusBookViewProxy
-{
- GDBusProxy parent_instance;
- EGdbusBookViewProxyPrivate *priv;
-};
-
-struct _EGdbusBookViewProxyClass
-{
- GDBusProxyClass parent_class;
-};
-
-#define E_TYPE_GDBUS_BOOK_VIEW_PROXY (e_gdbus_book_view_proxy_get_type ())
-GType e_gdbus_book_view_proxy_get_type (void) G_GNUC_CONST;
-
-void e_gdbus_book_view_proxy_new (GDBusConnection *connection, GDBusProxyFlags flags, const gchar *name, const gchar *object_path, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-EGdbusBookView *e_gdbus_book_view_proxy_new_finish (GAsyncResult *result, GError **error);
-EGdbusBookView *e_gdbus_book_view_proxy_new_sync (GDBusConnection *connection, GDBusProxyFlags flags, const gchar *name, const gchar *object_path, GCancellable *cancellable, GError **error);
-
-void e_gdbus_book_view_proxy_new_for_bus (GBusType bus_type, GDBusProxyFlags flags, const gchar *name, const gchar *object_path, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-EGdbusBookView *e_gdbus_book_view_proxy_new_for_bus_finish (GAsyncResult *result, GError **error);
-EGdbusBookView *e_gdbus_book_view_proxy_new_for_bus_sync (GBusType bus_type, GDBusProxyFlags flags, const gchar *name, const gchar *object_path, GCancellable *cancellable, GError **error);
-
-/* ---------------------------------------------------------------------- */
-
-typedef struct _EGdbusBookViewStub EGdbusBookViewStub;
-typedef struct _EGdbusBookViewStubClass EGdbusBookViewStubClass;
-typedef struct _EGdbusBookViewStubPrivate EGdbusBookViewStubPrivate;
-
-struct _EGdbusBookViewStub
-{
- GObject parent_instance;
- EGdbusBookViewStubPrivate *priv;
-};
-
-struct _EGdbusBookViewStubClass
-{
- GObjectClass parent_class;
-};
-
-#define E_TYPE_GDBUS_BOOK_VIEW_STUB (e_gdbus_book_view_stub_get_type ())
-GType e_gdbus_book_view_stub_get_type (void) G_GNUC_CONST;
-
-EGdbusBookView *e_gdbus_book_view_stub_new (void);
-
-guint e_gdbus_book_view_register_object (EGdbusBookView *object, GDBusConnection *connection, const gchar *object_path, GError **error);
-
-void e_gdbus_book_view_drain_notify (EGdbusBookView *object);
-
-const GDBusInterfaceInfo *e_gdbus_book_view_interface_info (void) G_GNUC_CONST;
-
-struct _EGdbusBookViewIface
-{
- GTypeInterface parent_iface;
-
- /* Signal handlers for receiving D-Bus signals: */
- void (*objects_added) (EGdbusBookView *object, const gchar * const *arg_objects);
- void (*objects_modified) (EGdbusBookView *object, const gchar * const *arg_objects);
- void (*objects_removed) (EGdbusBookView *object, const gchar * const *arg_uids);
-
- void (*progress) (EGdbusBookView *object, guint arg_percent, const gchar *arg_message);
- void (*complete) (EGdbusBookView *object, const gchar * const *arg_error);
-
- /* Signal handlers for handling D-Bus method calls: */
- gboolean (*handle_start) (EGdbusBookView *object, GDBusMethodInvocation *invocation);
- gboolean (*handle_stop) (EGdbusBookView *object, GDBusMethodInvocation *invocation);
- gboolean (*handle_set_flags) (EGdbusBookView *object, GDBusMethodInvocation *invocation, guint in_flags);
- gboolean (*handle_dispose) (EGdbusBookView *object, GDBusMethodInvocation *invocation);
- gboolean (*handle_set_fields_of_interest)(EGdbusBookView *object, GDBusMethodInvocation *invocation, const gchar * const *in_only_fields);
-};
-
-/* D-Bus Methods */
-void e_gdbus_book_view_call_start (GDBusProxy *proxy, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-gboolean e_gdbus_book_view_call_start_finish (GDBusProxy *proxy, GAsyncResult *result, GError **error);
-gboolean e_gdbus_book_view_call_start_sync (GDBusProxy *proxy, GCancellable *cancellable, GError **error);
-
-void e_gdbus_book_view_call_stop (GDBusProxy *proxy, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-gboolean e_gdbus_book_view_call_stop_finish (GDBusProxy *proxy, GAsyncResult *result, GError **error);
-gboolean e_gdbus_book_view_call_stop_sync (GDBusProxy *proxy, GCancellable *cancellable, GError **error);
-
-void e_gdbus_book_view_call_set_flags (GDBusProxy *proxy,
- guint in_flags,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-gboolean e_gdbus_book_view_call_set_flags_finish (GDBusProxy *proxy,
- GAsyncResult *res,
- GError **error);
-gboolean e_gdbus_book_view_call_set_flags_sync (GDBusProxy *proxy,
- guint in_flags,
- GCancellable *cancellable,
- GError **error);
-
-void e_gdbus_book_view_call_dispose (GDBusProxy *proxy, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-gboolean e_gdbus_book_view_call_dispose_finish (GDBusProxy *proxy, GAsyncResult *result, GError **error);
-gboolean e_gdbus_book_view_call_dispose_sync (GDBusProxy *proxy, GCancellable *cancellable, GError **error);
-
-void e_gdbus_book_view_call_set_fields_of_interest (GDBusProxy *proxy, const gchar * const *in_only_fileds, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-gboolean e_gdbus_book_view_call_set_fields_of_interest_finish (GDBusProxy *proxy, GAsyncResult *result, GError **error);
-gboolean e_gdbus_book_view_call_set_fields_of_interest_sync (GDBusProxy *proxy, const gchar * const *in_only_fileds, GCancellable *cancellable, GError **error);
-
-/* D-Bus Methods Completion Helpers */
-#define e_gdbus_book_view_complete_start e_gdbus_complete_sync_method_void
-#define e_gdbus_book_view_complete_stop e_gdbus_complete_sync_method_void
-#define e_gdbus_book_view_complete_set_flags e_gdbus_complete_sync_method_void
-#define e_gdbus_book_view_complete_dispose e_gdbus_complete_sync_method_void
-#define e_gdbus_book_view_complete_set_fields_of_interest e_gdbus_complete_sync_method_void
-
-/* D-Bus Signal Emission Helpers */
-void e_gdbus_book_view_emit_objects_added (EGdbusBookView *object, const gchar * const *arg_objects);
-void e_gdbus_book_view_emit_objects_modified (EGdbusBookView *object, const gchar * const *arg_objects);
-void e_gdbus_book_view_emit_objects_removed (EGdbusBookView *object, const gchar * const *arg_uids);
-
-void e_gdbus_book_view_emit_progress (EGdbusBookView *object, guint arg_percent, const gchar *arg_message);
-void e_gdbus_book_view_emit_complete (EGdbusBookView *object, const gchar * const *arg_error);
-
-G_END_DECLS
-
-#endif /* E_GDBUS_BOOK_VIEW_H */
diff --git a/src/calendar/CMakeLists.txt b/src/calendar/CMakeLists.txt
index b555f9e97..d02647c7d 100644
--- a/src/calendar/CMakeLists.txt
+++ b/src/calendar/CMakeLists.txt
@@ -1,4 +1,3 @@
add_subdirectory(backends)
add_subdirectory(libecal)
add_subdirectory(libedata-cal)
-add_subdirectory(libegdbus)
diff --git a/src/calendar/libecal/CMakeLists.txt b/src/calendar/libecal/CMakeLists.txt
index addfa07a0..b1cdf8d5a 100644
--- a/src/calendar/libecal/CMakeLists.txt
+++ b/src/calendar/libecal/CMakeLists.txt
@@ -5,7 +5,6 @@ add_pkgconfig_file(libecal.pc.in libecal-${API_VERSION}.pc)
set(DEPENDENCIES
edbus-private
edataserver
- egdbus-cal
)
set(SOURCES
@@ -72,12 +71,10 @@ target_include_directories(ecal PUBLIC
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/src
${CMAKE_BINARY_DIR}/src/calendar
- ${CMAKE_BINARY_DIR}/src/calendar/libegdbus
${CMAKE_BINARY_DIR}/src/private
${CMAKE_SOURCE_DIR}/src
- ${CMAKE_SOURCE_DIR}/src/private
${CMAKE_SOURCE_DIR}/src/calendar
- ${CMAKE_SOURCE_DIR}/src/calendar/libegdbus
+ ${CMAKE_SOURCE_DIR}/src/private
${CMAKE_CURRENT_BINARY_DIR}
${CALENDAR_INCLUDE_DIRS}
)
diff --git a/src/calendar/libecal/e-cal-client-view.c b/src/calendar/libecal/e-cal-client-view.c
index 8dcf3da48..70dcb50e9 100644
--- a/src/calendar/libecal/e-cal-client-view.c
+++ b/src/calendar/libecal/e-cal-client-view.c
@@ -38,7 +38,7 @@
#include "e-cal-client.h"
#include "e-cal-client-view.h"
-#include "e-gdbus-cal-view.h"
+#include "e-dbus-calendar-view.h"
#define E_CAL_CLIENT_VIEW_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE \
@@ -48,7 +48,7 @@ typedef struct _SignalClosure SignalClosure;
struct _ECalClientViewPrivate {
ECalClient *client;
- GDBusProxy *dbus_proxy;
+ EDBusCalendarView *dbus_proxy;
GDBusConnection *connection;
gchar *object_path;
gboolean running;
@@ -300,7 +300,7 @@ cal_client_view_emit_complete_idle_cb (gpointer user_data)
}
static void
-cal_client_view_objects_added_cb (EGdbusCalView *dbus_proxy,
+cal_client_view_objects_added_cb (EDBusCalendarView *dbus_proxy,
const gchar * const *objects,
GWeakRef *client_view_weak_ref)
{
@@ -340,7 +340,7 @@ cal_client_view_objects_added_cb (EGdbusCalView *dbus_proxy,
}
static void
-cal_client_view_objects_modified_cb (EGdbusCalView *dbus_proxy,
+cal_client_view_objects_modified_cb (EDBusCalendarView *dbus_proxy,
const gchar * const *objects,
GWeakRef *client_view_weak_ref)
{
@@ -380,7 +380,7 @@ cal_client_view_objects_modified_cb (EGdbusCalView *dbus_proxy,
}
static void
-cal_client_view_objects_removed_cb (EGdbusCalView *dbus_proxy,
+cal_client_view_objects_removed_cb (EDBusCalendarView *dbus_proxy,
const gchar * const *uids,
GWeakRef *client_view_weak_ref)
{
@@ -420,7 +420,7 @@ cal_client_view_objects_removed_cb (EGdbusCalView *dbus_proxy,
}
static void
-cal_client_view_progress_cb (EGdbusCalView *dbus_proxy,
+cal_client_view_progress_cb (EDBusCalendarView *dbus_proxy,
guint percent,
const gchar *message,
GWeakRef *client_view_weak_ref)
@@ -462,8 +462,9 @@ cal_client_view_progress_cb (EGdbusCalView *dbus_proxy,
}
static void
-cal_client_view_complete_cb (EGdbusCalView *dbus_proxy,
- const gchar * const *arg_error,
+cal_client_view_complete_cb (EDBusCalendarView *dbus_proxy,
+ const gchar *arg_error_name,
+ const gchar *arg_error_message,
GWeakRef *client_view_weak_ref)
{
ECalClientView *client_view;
@@ -482,8 +483,13 @@ cal_client_view_complete_cb (EGdbusCalView *dbus_proxy,
signal_closure = g_slice_new0 (SignalClosure);
g_weak_ref_init (&signal_closure->client_view, client_view);
- e_gdbus_templates_decode_error (
- arg_error, &signal_closure->error);
+ if (arg_error_name && *arg_error_name && arg_error_message)
+ signal_closure->error = g_dbus_error_new_for_dbus_error (arg_error_name, arg_error_message);
+ else
+ signal_closure->error = NULL;
+
+ if (signal_closure->error)
+ g_dbus_error_strip_remote_error (signal_closure->error);
main_context = cal_client_view_ref_main_context (client_view);
@@ -633,7 +639,7 @@ cal_client_view_dispose (GObject *object)
* Also omit a callback function, so the GDBusMessage
* uses G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED.
*/
- e_gdbus_cal_view_call_dispose (priv->dbus_proxy, NULL, NULL, NULL);
+ e_dbus_calendar_view_call_dispose (priv->dbus_proxy, NULL, NULL, NULL);
g_object_unref (priv->dbus_proxy);
priv->dbus_proxy = NULL;
}
@@ -665,7 +671,7 @@ cal_client_view_initable_init (GInitable *initable,
{
ECalClient *cal_client;
ECalClientViewPrivate *priv;
- EGdbusCalView *gdbus_calview;
+ EDBusCalendarView *dbus_calview;
gulong handler_id;
gchar *bus_name;
@@ -684,7 +690,7 @@ cal_client_view_initable_init (GInitable *initable,
bus_name = e_client_dup_bus_name (E_CLIENT (cal_client));
g_object_unref (cal_client);
- gdbus_calview = e_gdbus_cal_view_proxy_new_sync (
+ dbus_calview = e_dbus_calendar_view_proxy_new_sync (
priv->connection,
G_DBUS_PROXY_FLAGS_NONE,
bus_name,
@@ -693,10 +699,10 @@ cal_client_view_initable_init (GInitable *initable,
g_free (bus_name);
- if (gdbus_calview == NULL)
+ if (dbus_calview == NULL)
return FALSE;
- priv->dbus_proxy = G_DBUS_PROXY (gdbus_calview);
+ priv->dbus_proxy = dbus_calview;
handler_id = g_signal_connect_data (
priv->dbus_proxy, "objects-added",
@@ -1011,7 +1017,7 @@ e_cal_client_view_start (ECalClientView *client_view,
client_view->priv->running = TRUE;
- e_gdbus_cal_view_call_start_sync (
+ e_dbus_calendar_view_call_start_sync (
client_view->priv->dbus_proxy, NULL, &local_error);
if (local_error != NULL) {
@@ -1040,7 +1046,7 @@ e_cal_client_view_stop (ECalClientView *client_view,
client_view->priv->running = FALSE;
- e_gdbus_cal_view_call_stop_sync (
+ e_dbus_calendar_view_call_stop_sync (
client_view->priv->dbus_proxy, NULL, &local_error);
if (local_error != NULL) {
@@ -1079,7 +1085,7 @@ e_cal_client_view_set_fields_of_interest (ECalClientView *client_view,
g_return_if_fail (E_IS_CAL_CLIENT_VIEW (client_view));
strv = e_client_util_slist_to_strv (fields_of_interest);
- e_gdbus_cal_view_call_set_fields_of_interest_sync (
+ e_dbus_calendar_view_call_set_fields_of_interest_sync (
client_view->priv->dbus_proxy,
(const gchar * const *) strv,
NULL, &local_error);
@@ -1110,7 +1116,7 @@ e_cal_client_view_set_flags (ECalClientView *client_view,
g_return_if_fail (E_IS_CAL_CLIENT_VIEW (client_view));
- e_gdbus_cal_view_call_set_flags_sync (
+ e_dbus_calendar_view_call_set_flags_sync (
client_view->priv->dbus_proxy, flags, NULL, &local_error);
if (local_error != NULL) {
diff --git a/src/calendar/libedata-cal/CMakeLists.txt b/src/calendar/libedata-cal/CMakeLists.txt
index 15df5d213..749fdf68d 100644
--- a/src/calendar/libedata-cal/CMakeLists.txt
+++ b/src/calendar/libedata-cal/CMakeLists.txt
@@ -5,7 +5,6 @@ set(DEPENDENCIES
ecal
edbus-private
edataserver
- egdbus-cal
)
set(SOURCES
@@ -73,12 +72,10 @@ target_include_directories(edata-cal PUBLIC
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/src
${CMAKE_BINARY_DIR}/src/calendar
- ${CMAKE_BINARY_DIR}/src/calendar/libegdbus
${CMAKE_BINARY_DIR}/src/private
${CMAKE_SOURCE_DIR}/src
- ${CMAKE_SOURCE_DIR}/src/private
${CMAKE_SOURCE_DIR}/src/calendar
- ${CMAKE_SOURCE_DIR}/src/calendar/libegdbus
+ ${CMAKE_SOURCE_DIR}/src/private
${CMAKE_CURRENT_BINARY_DIR}
${CALENDAR_INCLUDE_DIRS}
)
@@ -120,12 +117,10 @@ target_include_directories(evolution-calendar-factory-subprocess PUBLIC
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/src
${CMAKE_BINARY_DIR}/src/calendar
- ${CMAKE_BINARY_DIR}/src/calendar/libegdbus
${CMAKE_BINARY_DIR}/src/private
${CMAKE_SOURCE_DIR}/src
- ${CMAKE_SOURCE_DIR}/src/private
${CMAKE_SOURCE_DIR}/src/calendar
- ${CMAKE_SOURCE_DIR}/src/calendar/libegdbus
+ ${CMAKE_SOURCE_DIR}/src/private
${CMAKE_CURRENT_BINARY_DIR}
${CALENDAR_INCLUDE_DIRS}
${GTK_INCLUDE_DIRS}
diff --git a/src/calendar/libedata-cal/e-data-cal-view.c b/src/calendar/libedata-cal/e-data-cal-view.c
index 6180baaaf..f858349b4 100644
--- a/src/calendar/libedata-cal/e-data-cal-view.c
+++ b/src/calendar/libedata-cal/e-data-cal-view.c
@@ -39,7 +39,7 @@
#include "e-cal-backend.h"
#include "e-cal-backend-sexp.h"
#include "e-data-cal-view.h"
-#include "e-gdbus-cal-view.h"
+#include "e-dbus-calendar-view.h"
#define E_DATA_CAL_VIEW_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE \
@@ -53,7 +53,7 @@
struct _EDataCalViewPrivate {
GDBusConnection *connection;
- EGdbusCalView *gdbus_object;
+ EDBusCalendarView *dbus_object;
gchar *object_path;
/* The backend we are monitoring */
@@ -187,7 +187,7 @@ calview_start_thread (gpointer data)
}
static gboolean
-impl_DataCalView_start (EGdbusCalView *object,
+impl_DataCalView_start (EDBusCalendarView *object,
GDBusMethodInvocation *invocation,
EDataCalView *view)
{
@@ -206,7 +206,7 @@ impl_DataCalView_start (EGdbusCalView *object,
g_thread_unref (thread);
}
- e_gdbus_cal_view_complete_start (object, invocation, NULL);
+ e_dbus_calendar_view_complete_start (object, invocation);
return TRUE;
}
@@ -224,7 +224,7 @@ calview_stop_thread (gpointer data)
}
static gboolean
-impl_DataCalView_stop (EGdbusCalView *object,
+impl_DataCalView_stop (EDBusCalendarView *object,
GDBusMethodInvocation *invocation,
EDataCalView *view)
{
@@ -235,30 +235,30 @@ impl_DataCalView_stop (EGdbusCalView *object,
thread = g_thread_new (NULL, calview_stop_thread, g_object_ref (view));
g_thread_unref (thread);
- e_gdbus_cal_view_complete_stop (object, invocation, NULL);
+ e_dbus_calendar_view_complete_stop (object, invocation);
return TRUE;
}
static gboolean
-impl_DataCalView_setFlags (EGdbusCalView *object,
+impl_DataCalView_setFlags (EDBusCalendarView *object,
GDBusMethodInvocation *invocation,
ECalClientViewFlags flags,
EDataCalView *view)
{
view->priv->flags = flags;
- e_gdbus_cal_view_complete_set_flags (object, invocation, NULL);
+ e_dbus_calendar_view_complete_set_flags (object, invocation);
return TRUE;
}
static gboolean
-impl_DataCalView_dispose (EGdbusCalView *object,
+impl_DataCalView_dispose (EDBusCalendarView *object,
GDBusMethodInvocation *invocation,
EDataCalView *view)
{
- e_gdbus_cal_view_complete_dispose (object, invocation, NULL);
+ e_dbus_calendar_view_complete_dispose (object, invocation);
e_cal_backend_stop_view (view->priv->backend, view);
view->priv->stopped = TRUE;
@@ -268,7 +268,7 @@ impl_DataCalView_dispose (EGdbusCalView *object,
}
static gboolean
-impl_DataCalView_set_fields_of_interest (EGdbusCalView *object,
+impl_DataCalView_set_fields_of_interest (EDBusCalendarView *object,
GDBusMethodInvocation *invocation,
const gchar * const *in_fields_of_interest,
EDataCalView *view)
@@ -301,8 +301,7 @@ impl_DataCalView_set_fields_of_interest (EGdbusCalView *object,
g_strdup (field), GINT_TO_POINTER (1));
}
- e_gdbus_cal_view_complete_set_fields_of_interest (
- object, invocation, NULL);
+ e_dbus_calendar_view_complete_set_fields_of_interest (object, invocation);
return TRUE;
}
@@ -438,7 +437,7 @@ data_cal_view_dispose (GObject *object)
g_mutex_unlock (&priv->pending_mutex);
g_clear_object (&priv->connection);
- g_clear_object (&priv->gdbus_object);
+ g_clear_object (&priv->dbus_object);
g_clear_object (&priv->backend);
g_clear_object (&priv->sexp);
@@ -483,8 +482,8 @@ data_cal_view_initable_init (GInitable *initable,
view = E_DATA_CAL_VIEW (initable);
- return e_gdbus_cal_view_register_object (
- view->priv->gdbus_object,
+ return g_dbus_interface_skeleton_export (
+ G_DBUS_INTERFACE_SKELETON (view->priv->dbus_object),
view->priv->connection,
view->priv->object_path,
error);
@@ -567,21 +566,21 @@ e_data_cal_view_init (EDataCalView *view)
view->priv->flags = E_CAL_CLIENT_VIEW_FLAGS_NOTIFY_INITIAL;
- view->priv->gdbus_object = e_gdbus_cal_view_stub_new ();
+ view->priv->dbus_object = e_dbus_calendar_view_skeleton_new ();
g_signal_connect (
- view->priv->gdbus_object, "handle-start",
+ view->priv->dbus_object, "handle-start",
G_CALLBACK (impl_DataCalView_start), view);
g_signal_connect (
- view->priv->gdbus_object, "handle-stop",
+ view->priv->dbus_object, "handle-stop",
G_CALLBACK (impl_DataCalView_stop), view);
g_signal_connect (
- view->priv->gdbus_object, "handle-set-flags",
+ view->priv->dbus_object, "handle-set-flags",
G_CALLBACK (impl_DataCalView_setFlags), view);
g_signal_connect (
- view->priv->gdbus_object, "handle-dispose",
+ view->priv->dbus_object, "handle-dispose",
G_CALLBACK (impl_DataCalView_dispose), view);
g_signal_connect (
- view->priv->gdbus_object, "handle-set-fields-of-interest",
+ view->priv->dbus_object, "handle-set-fields-of-interest",
G_CALLBACK (impl_DataCalView_set_fields_of_interest), view);
view->priv->backend = NULL;
@@ -649,8 +648,8 @@ send_pending_adds (EDataCalView *view)
if (view->priv->adds->len == 0)
return;
- e_gdbus_cal_view_emit_objects_added (
- view->priv->gdbus_object,
+ e_dbus_calendar_view_emit_objects_added (
+ view->priv->dbus_object,
(const gchar * const *) view->priv->adds->data);
reset_array (view->priv->adds);
}
@@ -661,8 +660,8 @@ send_pending_changes (EDataCalView *view)
if (view->priv->changes->len == 0)
return;
- e_gdbus_cal_view_emit_objects_modified (
- view->priv->gdbus_object,
+ e_dbus_calendar_view_emit_objects_modified (
+ view->priv->dbus_object,
(const gchar * const *) view->priv->changes->data);
reset_array (view->priv->changes);
}
@@ -674,8 +673,8 @@ send_pending_removes (EDataCalView *view)
return;
/* send ECalComponentIds as <uid>[\n<rid>], as encoded in notify_remove() */
- e_gdbus_cal_view_emit_objects_removed (
- view->priv->gdbus_object,
+ e_dbus_calendar_view_emit_objects_removed (
+ view->priv->dbus_object,
(const gchar * const *) view->priv->removes->data);
reset_array (view->priv->removes);
}
@@ -1359,18 +1358,18 @@ e_data_cal_view_notify_progress (EDataCalView *view,
gint percent,
const gchar *message)
{
- gchar *gdbus_message = NULL;
+ gchar *dbus_message = NULL;
g_return_if_fail (E_IS_DATA_CAL_VIEW (view));
if (!view->priv->started || view->priv->stopped)
return;
- e_gdbus_cal_view_emit_progress (
- view->priv->gdbus_object, percent,
- e_util_ensure_gdbus_string (message, &gdbus_message));
+ e_dbus_calendar_view_emit_progress (
+ view->priv->dbus_object, percent,
+ e_util_ensure_gdbus_string (message, &dbus_message));
- g_free (gdbus_message);
+ g_free (dbus_message);
}
/**
@@ -1387,7 +1386,7 @@ void
e_data_cal_view_notify_complete (EDataCalView *view,
const GError *error)
{
- gchar **error_strv;
+ gchar *error_name, *error_message;
g_return_if_fail (E_IS_DATA_CAL_VIEW (view));
@@ -1402,13 +1401,25 @@ e_data_cal_view_notify_complete (EDataCalView *view,
send_pending_changes (view);
send_pending_removes (view);
- error_strv = e_gdbus_templates_encode_error (error);
+ if (error) {
+ gchar *dbus_error_name = g_dbus_error_encode_gerror (error);
- e_gdbus_cal_view_emit_complete (
- view->priv->gdbus_object,
- (const gchar * const *) error_strv);
+ error_name = e_util_utf8_make_valid (dbus_error_name ? dbus_error_name : "");
+ error_message = e_util_utf8_make_valid (error->message);
- g_strfreev (error_strv);
+ g_free (dbus_error_name);
+ } else {
+ error_name = g_strdup ("");
+ error_message = g_strdup ("");
+ }
+
+ e_dbus_calendar_view_emit_complete (
+ view->priv->dbus_object,
+ error_name,
+ error_message);
+
+ g_free (error_name);
+ g_free (error_message);
g_mutex_unlock (&view->priv->pending_mutex);
}
diff --git a/src/calendar/libegdbus/CMakeLists.txt b/src/calendar/libegdbus/CMakeLists.txt
deleted file mode 100644
index 558c60c32..000000000
--- a/src/calendar/libegdbus/CMakeLists.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-set(SOURCES
- e-gdbus-cal-view.h
- e-gdbus-cal-view.c
-)
-
-set(DEPENDENCIES
- edataserver
-)
-
-add_library(egdbus-cal STATIC
- ${SOURCES}
-)
-
-add_dependencies(egdbus-cal
- ${DEPENDENCIES}
-)
-
-target_compile_definitions(egdbus-cal PRIVATE
- -DG_LOG_DOMAIN=\"egdbus-cal\"
-)
-
-target_compile_options(egdbus-cal PUBLIC
- ${DATA_SERVER_CFLAGS}
-)
-
-target_include_directories(egdbus-cal PUBLIC
- ${CMAKE_BINARY_DIR}
- ${CMAKE_BINARY_DIR}/src
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_SOURCE_DIR}/src
- ${DATA_SERVER_INCLUDE_DIRS}
-)
-
-target_link_libraries(egdbus-cal
- ${DEPENDENCIES}
- ${DATA_SERVER_LDFLAGS}
-)
diff --git a/src/calendar/libegdbus/e-gdbus-cal-view.c b/src/calendar/libegdbus/e-gdbus-cal-view.c
deleted file mode 100644
index ce9acc3c1..000000000
--- a/src/calendar/libegdbus/e-gdbus-cal-view.c
+++ /dev/null
@@ -1,865 +0,0 @@
-/*
- * e-gdbus-cal-view.c
- *
- * Copyright (C) 2011 Red Hat, Inc. (www.redhat.com)
- *
- * This library is free software: you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include <stdio.h>
-#include <gio/gio.h>
-
-#include "e-gdbus-cal-view.h"
-
-#define GDBUS_CAL_VIEW_INTERFACE_NAME "org.gnome.evolution.dataserver.CalendarView"
-
-typedef EGdbusCalViewIface EGdbusCalViewInterface;
-G_DEFINE_INTERFACE (EGdbusCalView, e_gdbus_cal_view, G_TYPE_OBJECT);
-
-enum
-{
- _0_SIGNAL,
- __OBJECTS_ADDED_SIGNAL,
- __OBJECTS_MODIFIED_SIGNAL,
- __OBJECTS_REMOVED_SIGNAL,
- __PROGRESS_SIGNAL,
- __COMPLETE_SIGNAL,
- __START_METHOD,
- __STOP_METHOD,
- __SET_FLAGS_METHOD,
- __DISPOSE_METHOD,
- __SET_FIELDS_OF_INTEREST_METHOD,
- __LAST_SIGNAL
-};
-
-static guint signals[__LAST_SIGNAL] = {0};
-
-/* ------------------------------------------------------------------------- */
-
-/* Various lookup tables */
-
-static GHashTable *_method_name_to_id = NULL;
-static GHashTable *_method_name_to_type = NULL;
-static GHashTable *_signal_name_to_id = NULL;
-static GHashTable *_signal_name_to_type = NULL;
-
-static guint
-lookup_method_id_from_method_name (const gchar *method_name)
-{
- return GPOINTER_TO_UINT (g_hash_table_lookup (_method_name_to_id, method_name));
-}
-
-static guint
-lookup_method_type_from_method_name (const gchar *method_name)
-{
- return GPOINTER_TO_UINT (g_hash_table_lookup (_method_name_to_type, method_name));
-}
-
-static guint
-lookup_signal_id_from_signal_name (const gchar *signal_name)
-{
- return GPOINTER_TO_UINT (g_hash_table_lookup (_signal_name_to_id, signal_name));
-}
-
-static guint
-lookup_signal_type_from_signal_name (const gchar *signal_name)
-{
- return GPOINTER_TO_UINT (g_hash_table_lookup (_signal_name_to_type, signal_name));
-}
-
-/* ------------------------------------------------------------------------- */
-
-E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_STRV (GDBUS_CAL_VIEW_INTERFACE_NAME,
- objects_added)
-E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_STRV (GDBUS_CAL_VIEW_INTERFACE_NAME,
- objects_modified)
-E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_STRV (GDBUS_CAL_VIEW_INTERFACE_NAME,
- objects_removed)
-E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_UINT_STRING (GDBUS_CAL_VIEW_INTERFACE_NAME,
- progress)
-E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_STRV (GDBUS_CAL_VIEW_INTERFACE_NAME,
- complete)
-
-static void
-e_gdbus_cal_view_default_init (EGdbusCalViewIface *iface)
-{
- /* Build lookup structures */
- _method_name_to_id = g_hash_table_new (g_str_hash, g_str_equal);
- _method_name_to_type = g_hash_table_new (g_str_hash, g_str_equal);
- _signal_name_to_id = g_hash_table_new (g_str_hash, g_str_equal);
- _signal_name_to_type = g_hash_table_new (g_str_hash, g_str_equal);
-
- /* GObject signals definitions for D-Bus signals: */
- E_INIT_GDBUS_SIGNAL_STRV (
- EGdbusCalViewIface,
- "objects_added",
- objects_added,
- __OBJECTS_ADDED_SIGNAL)
- E_INIT_GDBUS_SIGNAL_STRV (
- EGdbusCalViewIface,
- "objects_modified",
- objects_modified,
- __OBJECTS_MODIFIED_SIGNAL)
- E_INIT_GDBUS_SIGNAL_STRV (
- EGdbusCalViewIface,
- "objects_removed",
- objects_removed,
- __OBJECTS_REMOVED_SIGNAL)
- E_INIT_GDBUS_SIGNAL_UINT_STRING (
- EGdbusCalViewIface,
- "progress",
- progress,
- __PROGRESS_SIGNAL)
- E_INIT_GDBUS_SIGNAL_STRV (
- EGdbusCalViewIface,
- "complete",
- complete,
- __COMPLETE_SIGNAL)
-
- /* GObject signals definitions for D-Bus methods: */
- E_INIT_GDBUS_METHOD_VOID (
- EGdbusCalViewIface,
- "start",
- start,
- __START_METHOD)
- E_INIT_GDBUS_METHOD_VOID (
- EGdbusCalViewIface,
- "stop",
- stop,
- __STOP_METHOD)
- E_INIT_GDBUS_METHOD_UINT (
- EGdbusCalViewIface,
- "set_flags",
- set_flags,
- __SET_FLAGS_METHOD)
- E_INIT_GDBUS_METHOD_VOID (
- EGdbusCalViewIface,
- "dispose",
- dispose,
- __DISPOSE_METHOD)
- E_INIT_GDBUS_METHOD_STRV (
- EGdbusCalViewIface,
- "set_fields_of_interest",
- set_fields_of_interest,
- __SET_FIELDS_OF_INTEREST_METHOD)
-}
-
-void
-e_gdbus_cal_view_call_start (GDBusProxy *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- e_gdbus_proxy_method_call_void ("start", proxy, cancellable, callback, user_data);
-}
-
-gboolean
-e_gdbus_cal_view_call_start_finish (GDBusProxy *proxy,
- GAsyncResult *result,
- GError **error)
-{
- return e_gdbus_proxy_method_call_finish_void (proxy, result, error);
-}
-
-gboolean
-e_gdbus_cal_view_call_start_sync (GDBusProxy *proxy,
- GCancellable *cancellable,
- GError **error)
-{
- return e_gdbus_proxy_method_call_sync_void__void ("start", proxy, cancellable, error);
-}
-
-void
-e_gdbus_cal_view_call_stop (GDBusProxy *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- e_gdbus_proxy_method_call_void ("stop", proxy, cancellable, callback, user_data);
-}
-
-gboolean
-e_gdbus_cal_view_call_stop_finish (GDBusProxy *proxy,
- GAsyncResult *result,
- GError **error)
-{
- return e_gdbus_proxy_method_call_finish_void (proxy, result, error);
-}
-
-gboolean
-e_gdbus_cal_view_call_stop_sync (GDBusProxy *proxy,
- GCancellable *cancellable,
- GError **error)
-{
- return e_gdbus_proxy_method_call_sync_void__void ("stop", proxy, cancellable, error);
-}
-
-void
-e_gdbus_cal_view_call_set_flags (GDBusProxy *proxy,
- guint in_flags,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- e_gdbus_proxy_method_call_uint ("set_flags", proxy, in_flags, cancellable, callback, user_data);
-}
-
-gboolean
-e_gdbus_cal_view_call_set_flags_finish (GDBusProxy *proxy,
- GAsyncResult *result,
- GError **error)
-{
- return e_gdbus_proxy_method_call_finish_void (proxy, result, error);
-}
-
-gboolean
-e_gdbus_cal_view_call_set_flags_sync (GDBusProxy *proxy,
- guint in_flags,
- GCancellable *cancellable,
- GError **error)
-{
- return e_gdbus_proxy_method_call_sync_uint__void ("set_flags", proxy, in_flags, cancellable, error);
-}
-
-void
-e_gdbus_cal_view_call_dispose (GDBusProxy *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- e_gdbus_proxy_method_call_void ("dispose", proxy, cancellable, callback, user_data);
-}
-
-gboolean
-e_gdbus_cal_view_call_dispose_finish (GDBusProxy *proxy,
- GAsyncResult *result,
- GError **error)
-{
- return e_gdbus_proxy_method_call_finish_void (proxy, result, error);
-}
-
-gboolean
-e_gdbus_cal_view_call_dispose_sync (GDBusProxy *proxy,
- GCancellable *cancellable,
- GError **error)
-{
- return e_gdbus_proxy_method_call_sync_void__void ("dispose", proxy, cancellable, error);
-}
-
-void
-e_gdbus_cal_view_call_set_fields_of_interest (GDBusProxy *proxy,
- const gchar * const *in_only_fields,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- e_gdbus_proxy_method_call_strv ("set_fields_of_interest", proxy, in_only_fields, cancellable, callback, user_data);
-}
-
-gboolean
-e_gdbus_cal_view_call_set_fields_of_interest_finish (GDBusProxy *proxy,
- GAsyncResult *result,
- GError **error)
-{
- return e_gdbus_proxy_method_call_finish_void (proxy, result, error);
-}
-
-gboolean
-e_gdbus_cal_view_call_set_fields_of_interest_sync (GDBusProxy *proxy,
- const gchar * const *in_only_fields,
- GCancellable *cancellable,
- GError **error)
-{
- return e_gdbus_proxy_method_call_sync_strv__void ("set_fields_of_interest", proxy, in_only_fields, cancellable, error);
-}
-
-void
-e_gdbus_cal_view_emit_objects_added (EGdbusCalView *object,
- const gchar * const *arg_objects)
-{
- g_signal_emit (object, signals[__OBJECTS_ADDED_SIGNAL], 0, arg_objects);
-}
-
-void
-e_gdbus_cal_view_emit_objects_modified (EGdbusCalView *object,
- const gchar * const *arg_objects)
-{
- g_signal_emit (object, signals[__OBJECTS_MODIFIED_SIGNAL], 0, arg_objects);
-}
-
-void
-e_gdbus_cal_view_emit_objects_removed (EGdbusCalView *object,
- const gchar * const *arg_uids)
-{
- g_signal_emit (object, signals[__OBJECTS_REMOVED_SIGNAL], 0, arg_uids);
-}
-
-void
-e_gdbus_cal_view_emit_progress (EGdbusCalView *object,
- guint arg_percent,
- const gchar *arg_message)
-{
- g_signal_emit (object, signals[__PROGRESS_SIGNAL], 0, arg_percent, arg_message);
-}
-
-void
-e_gdbus_cal_view_emit_complete (EGdbusCalView *object,
- const gchar * const *arg_error)
-{
- g_signal_emit (object, signals[__COMPLETE_SIGNAL], 0, arg_error);
-}
-
-E_DECLARE_GDBUS_NOTIFY_SIGNAL_1 (cal_view,
- objects_added,
- objects,
- "as")
-E_DECLARE_GDBUS_NOTIFY_SIGNAL_1 (cal_view,
- objects_modified,
- objects,
- "as")
-E_DECLARE_GDBUS_NOTIFY_SIGNAL_1 (cal_view,
- objects_removed,
- uids,
- "as")
-E_DECLARE_GDBUS_NOTIFY_SIGNAL_2 (cal_view,
- progress,
- percent,
- "u",
- message,
- "s")
-E_DECLARE_GDBUS_NOTIFY_SIGNAL_1 (cal_view,
- complete,
- error,
- "as")
-
-E_DECLARE_GDBUS_SYNC_METHOD_0 (cal_view,
- start)
-E_DECLARE_GDBUS_SYNC_METHOD_0 (cal_view,
- stop)
-E_DECLARE_GDBUS_SYNC_METHOD_0 (cal_view,
- dispose)
-E_DECLARE_GDBUS_SYNC_METHOD_1 (cal_view,
- set_flags,
- flags,
- "u")
-E_DECLARE_GDBUS_SYNC_METHOD_1 (cal_view,
- set_fields_of_interest,
- fields_of_interest,
- "as")
-
-static const GDBusMethodInfo * const e_gdbus_cal_view_method_info_pointers[] =
-{
- &E_DECLARED_GDBUS_METHOD_INFO_NAME (cal_view, start),
- &E_DECLARED_GDBUS_METHOD_INFO_NAME (cal_view, stop),
- &E_DECLARED_GDBUS_METHOD_INFO_NAME (cal_view, set_flags),
- &E_DECLARED_GDBUS_METHOD_INFO_NAME (cal_view, dispose),
- &E_DECLARED_GDBUS_METHOD_INFO_NAME (cal_view, set_fields_of_interest),
- NULL
-};
-
-static const GDBusSignalInfo * const e_gdbus_cal_view_signal_info_pointers[] =
-{
- &E_DECLARED_GDBUS_SIGNAL_INFO_NAME (cal_view, objects_added),
- &E_DECLARED_GDBUS_SIGNAL_INFO_NAME (cal_view, objects_modified),
- &E_DECLARED_GDBUS_SIGNAL_INFO_NAME (cal_view, objects_removed),
- &E_DECLARED_GDBUS_SIGNAL_INFO_NAME (cal_view, progress),
- &E_DECLARED_GDBUS_SIGNAL_INFO_NAME (cal_view, complete),
- NULL
-};
-
-static const GDBusInterfaceInfo _e_gdbus_cal_view_interface_info =
-{
- -1,
- (gchar *) GDBUS_CAL_VIEW_INTERFACE_NAME,
- (GDBusMethodInfo **) &e_gdbus_cal_view_method_info_pointers,
- (GDBusSignalInfo **) &e_gdbus_cal_view_signal_info_pointers,
- (GDBusPropertyInfo **) NULL
-};
-
-static void
-handle_method_call (GDBusConnection *connection,
- const gchar *sender,
- const gchar *object_path,
- const gchar *interface_name,
- const gchar *method_name,
- GVariant *parameters,
- GDBusMethodInvocation *invocation,
- gpointer user_data)
-{
- guint method_id, method_type;
-
- method_id = lookup_method_id_from_method_name (method_name);
- method_type = lookup_method_type_from_method_name (method_name);
-
- g_return_if_fail (method_id != 0);
- g_return_if_fail (method_type != 0);
-
- e_gdbus_stub_handle_method_call (user_data, invocation, parameters, method_name, signals[method_id], method_type);
-}
-
-static GVariant *
-get_property (GDBusConnection *connection,
- const gchar *sender,
- const gchar *object_path,
- const gchar *interface_name,
- const gchar *property_name,
- GError **error,
- gpointer user_data)
-{
- g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_NOT_SUPPORTED, "This implementation does not support property `%s'", property_name);
- return NULL;
-}
-
-static gboolean
-set_property (GDBusConnection *connection,
- const gchar *sender,
- const gchar *object_path,
- const gchar *interface_name,
- const gchar *property_name,
- GVariant *value,
- GError **error,
- gpointer user_data)
-{
- g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_NOT_SUPPORTED, "This implementation does not support property `%s'", property_name);
- return FALSE;
-}
-
-static const GDBusInterfaceVTable e_gdbus_cal_view_interface_vtable =
-{
- handle_method_call,
- get_property,
- set_property
-};
-
-static gboolean
-emit_notifications_in_idle (gpointer user_data)
-{
- GObject *object = G_OBJECT (user_data);
- GDBusConnection *connection;
- const gchar *path;
- GHashTable *notification_queue;
- GHashTableIter iter;
- const gchar *property_name;
- GVariant *value;
- GVariantBuilder *builder;
- GVariantBuilder *invalidated_builder;
- GHashTable *pvc;
- gboolean has_changes;
-
- notification_queue = g_object_get_data (object, "gdbus-codegen-notification-queue");
- path = g_object_get_data (object, "gdbus-codegen-path");
- connection = g_object_get_data (object, "gdbus-codegen-connection");
- pvc = g_object_get_data (object, "gdbus-codegen-pvc");
- g_return_val_if_fail (notification_queue != NULL && path != NULL && connection != NULL && pvc != NULL, FALSE);
-
- builder = g_variant_builder_new (G_VARIANT_TYPE_ARRAY);
- invalidated_builder = g_variant_builder_new (G_VARIANT_TYPE ("as"));
- g_hash_table_iter_init (&iter, notification_queue);
- has_changes = FALSE;
- while (g_hash_table_iter_next (&iter, (gpointer) &property_name, (gpointer) &value)) {
- GVariant *cached_value;
- cached_value = g_hash_table_lookup (pvc, property_name);
- if (cached_value == NULL || !g_variant_equal (cached_value, value)) {
- g_hash_table_insert (pvc, (gpointer) property_name, (gpointer) g_variant_ref (value));
- g_variant_builder_add (builder, "{sv}", property_name, value);
- has_changes = TRUE;
- }
- }
-
- if (has_changes) {
- g_dbus_connection_emit_signal (
- connection,
- NULL,
- path,
- "org.freedesktop.DBus.Properties",
- "PropertiesChanged",
- g_variant_new (
- "(sa{sv}as)",
- GDBUS_CAL_VIEW_INTERFACE_NAME,
- builder,
- invalidated_builder),
- NULL);
- } else {
- g_variant_builder_unref (builder);
- g_variant_builder_unref (invalidated_builder);
- }
-
- g_hash_table_remove_all (notification_queue);
- g_object_set_data (object, "gdbus-codegen-notification-idle-id", GUINT_TO_POINTER (0));
- return FALSE;
-}
-
-/**
- * e_gdbus_cal_view_drain_notify:
- * @object: A #EGdbusCalView that is exported.
- *
- * If @object has queued notifications, empty the queue forcing
- * the <literal>PropertiesChanged</literal> signal to be emitted.
- * See <xref linkend="EGdbusCalView.description"/> for more background information.
- */
-void
-e_gdbus_cal_view_drain_notify (EGdbusCalView *object)
-{
- gint idle_id;
- idle_id = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (object), "gdbus-codegen-notification-idle-id"));
- if (idle_id > 0) {
- emit_notifications_in_idle (object);
- g_source_remove (idle_id);
- }
-}
-
-static void
-on_object_unregistered (GObject *object)
-{
- gint idle_id;
- idle_id = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (object), "gdbus-codegen-notification-idle-id"));
- if (idle_id > 0) {
- g_source_remove (idle_id);
- }
- g_object_set_data (G_OBJECT (object), "gdbus-codegen-path", NULL);
- g_object_set_data (G_OBJECT (object), "gdbus-codegen-connection", NULL);
-}
-
-/**
- * e_gdbus_cal_view_register_object:
- * @object: An instance of a #GObject<!-- -->-derived type implementing the #EGdbusCalView interface.
- * @connection: A #GDBusConnection.
- * @object_path: The object to register the object at.
- * @error: Return location for error or %NULL.
- *
- * Registers @object at @object_path on @connection.
- *
- * See <xref linkend="EGdbusCalView.description"/>
- * for how properties, methods and signals are handled.
- *
- * Returns: 0 if @error is set, otherwise a registration id (never 0) that can be used with g_dbus_connection_unregister_object().
- */
-guint
-e_gdbus_cal_view_register_object (EGdbusCalView *object,
- GDBusConnection *connection,
- const gchar *object_path,
- GError **error)
-{
- GHashTable *pvc;
-
- pvc = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, (GDestroyNotify) g_variant_unref);
-
- g_object_set_data_full (G_OBJECT (object), "gdbus-codegen-path", (gpointer) g_strdup (object_path), g_free);
- g_object_set_data (G_OBJECT (object), "gdbus-codegen-connection", (gpointer) connection);
- g_object_set_data_full (G_OBJECT (object), "gdbus-codegen-pvc", (gpointer) pvc, (GDestroyNotify) g_hash_table_unref);
- return g_dbus_connection_register_object (
- connection,
- object_path,
- (GDBusInterfaceInfo *) &_e_gdbus_cal_view_interface_info,
- &e_gdbus_cal_view_interface_vtable,
- object,
- (GDestroyNotify) on_object_unregistered,
- error);
-}
-
-/**
- * e_gdbus_cal_view_interface_info:
- *
- * Gets interface description for the <literal>org.gnome.evolution.dataserver.CalendarView</literal> D-Bus interface.
- *
- * Returns: A #GDBusInterfaceInfo. Do not free, the object is statically allocated.
- */
-const GDBusInterfaceInfo *
-e_gdbus_cal_view_interface_info (void)
-{
- return &_e_gdbus_cal_view_interface_info;
-}
-
-/* ---------------------------------------------------------------------- */
-
-static void proxy_iface_init (EGdbusCalViewIface *iface);
-
-G_DEFINE_TYPE_WITH_CODE (EGdbusCalViewProxy, e_gdbus_cal_view_proxy, G_TYPE_DBUS_PROXY,
- G_IMPLEMENT_INTERFACE (E_TYPE_GDBUS_CAL_VIEW, proxy_iface_init));
-
-static void
-e_gdbus_cal_view_proxy_init (EGdbusCalViewProxy *proxy)
-{
- g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), (GDBusInterfaceInfo *) &_e_gdbus_cal_view_interface_info);
-}
-
-static void
-g_signal (GDBusProxy *proxy,
- const gchar *sender_name,
- const gchar *signal_name,
- GVariant *parameters)
-{
- guint signal_id, signal_type;
-
- signal_id = lookup_signal_id_from_signal_name (signal_name);
- signal_type = lookup_signal_type_from_signal_name (signal_name);
-
- g_return_if_fail (signal_id != 0);
- g_return_if_fail (signal_type != 0);
-
- e_gdbus_proxy_emit_signal (proxy, parameters, signals[signal_id], signal_type);
-}
-
-static void
-e_gdbus_cal_view_proxy_class_init (EGdbusCalViewProxyClass *class)
-{
- GDBusProxyClass *proxy_class;
-
- proxy_class = G_DBUS_PROXY_CLASS (class);
- proxy_class->g_signal = g_signal;
-}
-
-static void
-proxy_iface_init (EGdbusCalViewIface *iface)
-{
-}
-
-/**
- * e_gdbus_cal_view_proxy_new:
- * @connection: A #GDBusConnection.
- * @flags: Flags used when constructing the proxy.
- * @name: A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
- * @object_path: An object path.
- * @cancellable: A #GCancellable or %NULL.
- * @callback: Callback function to invoke when the proxy is ready.
- * @user_data: User data to pass to @callback.
- *
- * Like g_dbus_proxy_new() but returns a #EGdbusCalViewProxy.
- *
- * This is a failable asynchronous constructor - when the proxy is ready, callback will be invoked and you can use e_gdbus_cal_view_proxy_new_finish() to get the result.
- */
-void
-e_gdbus_cal_view_proxy_new (GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_async_initable_new_async (
- E_TYPE_GDBUS_CAL_VIEW_PROXY,
- G_PRIORITY_DEFAULT,
- cancellable,
- callback,
- user_data,
- "g-flags", flags,
- "g-name", name,
- "g-connection", connection,
- "g-object-path", object_path,
- "g-interface-name", GDBUS_CAL_VIEW_INTERFACE_NAME,
- NULL);
-}
-
-/**
- * e_gdbus_cal_view_proxy_new_finish:
- * @result: A #GAsyncResult obtained from the #GAsyncReadyCallback function passed to e_gdbus_cal_view_proxy_new().
- * @error: Return location for error or %NULL.
- *
- * Finishes creating a #EGdbusCalViewProxy.
- *
- * Returns: A #EGdbusCalViewProxy or %NULL if @error is set. Free with g_object_unref().
- */
-EGdbusCalView *
-e_gdbus_cal_view_proxy_new_finish (GAsyncResult *result,
- GError **error)
-{
- GObject *object;
- GObject *source_object;
- source_object = g_async_result_get_source_object (result);
- g_return_val_if_fail (source_object != NULL, NULL);
- object = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), result, error);
- g_object_unref (source_object);
- if (object != NULL)
- return E_GDBUS_CAL_VIEW (object);
- else
- return NULL;
-}
-
-/**
- * e_gdbus_cal_view_proxy_new_sync:
- * @connection: A #GDBusConnection.
- * @flags: Flags used when constructing the proxy.
- * @name: A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
- * @object_path: An object path.
- * @cancellable: A #GCancellable or %NULL.
- * @error: Return location for error or %NULL.
- *
- * Like g_dbus_proxy_new_sync() but returns a #EGdbusCalViewProxy.
- *
- * This is a synchronous failable constructor. See e_gdbus_cal_view_proxy_new() and e_gdbus_cal_view_proxy_new_finish() for the asynchronous version.
- *
- * Returns: A #EGdbusCalViewProxy or %NULL if error is set. Free with g_object_unref().
- */
-EGdbusCalView *
-e_gdbus_cal_view_proxy_new_sync (GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error)
-{
- GInitable *initable;
- initable = g_initable_new (
- E_TYPE_GDBUS_CAL_VIEW_PROXY,
- cancellable,
- error,
- "g-flags", flags,
- "g-name", name,
- "g-connection", connection,
- "g-object-path", object_path,
- "g-interface-name", GDBUS_CAL_VIEW_INTERFACE_NAME,
- NULL);
- if (initable != NULL)
- return E_GDBUS_CAL_VIEW (initable);
- else
- return NULL;
-}
-
-/**
- * e_gdbus_cal_view_proxy_new_for_bus:
- * @bus_type: A #GBusType.
- * @flags: Flags used when constructing the proxy.
- * @name: A bus name (well-known or unique).
- * @object_path: An object path.
- * @cancellable: A #GCancellable or %NULL.
- * @callback: Callback function to invoke when the proxy is ready.
- * @user_data: User data to pass to @callback.
- *
- * Like g_dbus_proxy_new_for_bus() but returns a #EGdbusCalViewProxy.
- *
- * This is a failable asynchronous constructor - when the proxy is ready, callback will be invoked and you can use e_gdbus_cal_view_proxy_new_for_bus_finish() to get the result.
- */
-void
-e_gdbus_cal_view_proxy_new_for_bus (GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_async_initable_new_async (
- E_TYPE_GDBUS_CAL_VIEW_PROXY,
- G_PRIORITY_DEFAULT,
- cancellable,
- callback,
- user_data,
- "g-flags", flags,
- "g-name", name,
- "g-bus-type", bus_type,
- "g-object-path", object_path,
- "g-interface-name", GDBUS_CAL_VIEW_INTERFACE_NAME,
- NULL);
-}
-
-/**
- * e_gdbus_cal_view_proxy_new_for_bus_finish:
- * @result: A #GAsyncResult obtained from the #GAsyncReadyCallback function passed to e_gdbus_cal_view_proxy_new_for_bus().
- * @error: Return location for error or %NULL.
- *
- * Finishes creating a #EGdbusCalViewProxy.
- *
- * Returns: A #EGdbusCalViewProxy or %NULL if @error is set. Free with g_object_unref().
- */
-EGdbusCalView *
-e_gdbus_cal_view_proxy_new_for_bus_finish (GAsyncResult *result,
- GError **error)
-{
- GObject *object;
- GObject *source_object;
- source_object = g_async_result_get_source_object (result);
- g_return_val_if_fail (source_object != NULL, NULL);
- object = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), result, error);
- g_object_unref (source_object);
- if (object != NULL)
- return E_GDBUS_CAL_VIEW (object);
- else
- return NULL;
-}
-
-/**
- * e_gdbus_cal_view_proxy_new_for_bus_sync:
- * @bus_type: A #GBusType.
- * @flags: Flags used when constructing the proxy.
- * @name: A bus name (well-known or unique).
- * @object_path: An object path.
- * @cancellable: A #GCancellable or %NULL.
- * @error: Return location for error or %NULL.
- *
- * Like g_dbus_proxy_new_for_bus_sync() but returns a #EGdbusCalViewProxy.
- *
- * This is a synchronous failable constructor. See e_gdbus_cal_view_proxy_new_for_bus() and e_gdbus_cal_view_proxy_new_for_bus_finish() for the asynchronous version.
- *
- * Returns: A #EGdbusCalViewProxy or %NULL if error is set. Free with g_object_unref().
- */
-EGdbusCalView *
-e_gdbus_cal_view_proxy_new_for_bus_sync (GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error)
-{
- GInitable *initable;
- initable = g_initable_new (
- E_TYPE_GDBUS_CAL_VIEW_PROXY,
- cancellable,
- error,
- "g-flags", flags,
- "g-name", name,
- "g-bus-type", bus_type,
- "g-object-path", object_path,
- "g-interface-name", GDBUS_CAL_VIEW_INTERFACE_NAME,
- NULL);
- if (initable != NULL)
- return E_GDBUS_CAL_VIEW (initable);
- else
- return NULL;
-}
-
-/* ---------------------------------------------------------------------- */
-
-static void stub_iface_init (EGdbusCalViewIface *iface);
-
-G_DEFINE_TYPE_WITH_CODE (EGdbusCalViewStub, e_gdbus_cal_view_stub, G_TYPE_OBJECT,
- G_IMPLEMENT_INTERFACE (E_TYPE_GDBUS_CAL_VIEW, stub_iface_init));
-
-static void
-e_gdbus_cal_view_stub_init (EGdbusCalViewStub *stub)
-{
-}
-
-static void
-e_gdbus_cal_view_stub_class_init (EGdbusCalViewStubClass *class)
-{
-}
-
-static void
-stub_iface_init (EGdbusCalViewIface *iface)
-{
-}
-
-/**
- * e_gdbus_cal_view_stub_new:
- *
- * Creates a new stub object that can be exported via e_gdbus_cal_view_register_object().
- *
- * Returns: A #EGdbusCalViewStub instance. Free with g_object_unref().
- */
-EGdbusCalView *
-e_gdbus_cal_view_stub_new (void)
-{
- return E_GDBUS_CAL_VIEW (g_object_new (E_TYPE_GDBUS_CAL_VIEW_STUB, NULL));
-}
diff --git a/src/calendar/libegdbus/e-gdbus-cal-view.h b/src/calendar/libegdbus/e-gdbus-cal-view.h
deleted file mode 100644
index 41987bd5b..000000000
--- a/src/calendar/libegdbus/e-gdbus-cal-view.h
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * e-gdbus-cal-view.h
- *
- * Copyright (C) 2011 Red Hat, Inc. (www.redhat.com)
- *
- * This library is free software: you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#ifndef E_GDBUS_CAL_VIEW_H
-#define E_GDBUS_CAL_VIEW_H
-
-#include <libedataserver/libedataserver.h>
-
-G_BEGIN_DECLS
-
-#define E_TYPE_GDBUS_CAL_VIEW (e_gdbus_cal_view_get_type ())
-#define E_GDBUS_CAL_VIEW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TYPE_GDBUS_CAL_VIEW, EGdbusCalView))
-#define E_IS_GDBUS_CAL_VIEW(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TYPE_GDBUS_CAL_VIEW))
-#define E_GDBUS_CAL_VIEW_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE((o), E_TYPE_GDBUS_CAL_VIEW, EGdbusCalViewIface))
-
-typedef struct _EGdbusCalView EGdbusCalView; /* Dummy typedef */
-typedef struct _EGdbusCalViewIface EGdbusCalViewIface;
-
-GType e_gdbus_cal_view_get_type (void) G_GNUC_CONST;
-
-/* ---------------------------------------------------------------------- */
-
-typedef struct _EGdbusCalViewProxy EGdbusCalViewProxy;
-typedef struct _EGdbusCalViewProxyClass EGdbusCalViewProxyClass;
-typedef struct _EGdbusCalViewProxyPrivate EGdbusCalViewProxyPrivate;
-
-struct _EGdbusCalViewProxy
-{
- GDBusProxy parent_instance;
- EGdbusCalViewProxyPrivate *priv;
-};
-
-struct _EGdbusCalViewProxyClass
-{
- GDBusProxyClass parent_class;
-};
-
-#define E_TYPE_GDBUS_CAL_VIEW_PROXY (e_gdbus_cal_view_proxy_get_type ())
-GType e_gdbus_cal_view_proxy_get_type (void) G_GNUC_CONST;
-
-void e_gdbus_cal_view_proxy_new (GDBusConnection *connection, GDBusProxyFlags flags, const gchar *name, const gchar *object_path, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-EGdbusCalView * e_gdbus_cal_view_proxy_new_finish (GAsyncResult *result, GError **error);
-EGdbusCalView * e_gdbus_cal_view_proxy_new_sync (GDBusConnection *connection, GDBusProxyFlags flags, const gchar *name, const gchar *object_path, GCancellable *cancellable, GError **error);
-
-void e_gdbus_cal_view_proxy_new_for_bus (GBusType bus_type, GDBusProxyFlags flags, const gchar *name, const gchar *object_path, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-EGdbusCalView * e_gdbus_cal_view_proxy_new_for_bus_finish (GAsyncResult *result, GError **error);
-EGdbusCalView * e_gdbus_cal_view_proxy_new_for_bus_sync (GBusType bus_type, GDBusProxyFlags flags, const gchar *name, const gchar *object_path, GCancellable *cancellable, GError **error);
-
-/* ---------------------------------------------------------------------- */
-
-typedef struct _EGdbusCalViewStub EGdbusCalViewStub;
-typedef struct _EGdbusCalViewStubClass EGdbusCalViewStubClass;
-typedef struct _EGdbusCalViewStubPrivate EGdbusCalViewStubPrivate;
-
-struct _EGdbusCalViewStub
-{
- GObject parent_instance;
- EGdbusCalViewStubPrivate *priv;
-};
-
-struct _EGdbusCalViewStubClass
-{
- GObjectClass parent_class;
-};
-
-#define E_TYPE_GDBUS_CAL_VIEW_STUB (e_gdbus_cal_view_stub_get_type ())
-GType e_gdbus_cal_view_stub_get_type (void) G_GNUC_CONST;
-
-EGdbusCalView *e_gdbus_cal_view_stub_new (void);
-guint e_gdbus_cal_view_register_object (EGdbusCalView *object, GDBusConnection *connection, const gchar *object_path, GError **error);
-void e_gdbus_cal_view_drain_notify (EGdbusCalView *object);
-
-const GDBusInterfaceInfo *e_gdbus_cal_view_interface_info (void) G_GNUC_CONST;
-
-struct _EGdbusCalViewIface
-{
- GTypeInterface parent_iface;
-
- /* Signal handlers for receiving D-Bus signals: */
- void (*objects_added) (EGdbusCalView *object, const gchar * const *arg_objects);
- void (*objects_modified) (EGdbusCalView *object, const gchar * const *arg_objects);
- void (*objects_removed) (EGdbusCalView *object, const gchar * const *arg_uids);
-
- void (*progress) (EGdbusCalView *object, guint arg_percent, const gchar *arg_message);
- void (*complete) (EGdbusCalView *object, guint arg_status, const gchar *arg_message);
-
- /* Signal handlers for handling D-Bus method calls: */
- gboolean (*handle_start) (EGdbusCalView *object, GDBusMethodInvocation *invocation);
- gboolean (*handle_stop) (EGdbusCalView *object, GDBusMethodInvocation *invocation);
- gboolean (*handle_set_flags) (EGdbusCalView *object, GDBusMethodInvocation *invocation, guint in_flags);
- gboolean (*handle_dispose) (EGdbusCalView *object, GDBusMethodInvocation *invocation);
- gboolean (*handle_set_fields_of_interest)(EGdbusCalView *object, GDBusMethodInvocation *invocation, const gchar * const *in_only_fields);
-};
-
-/* D-Bus Methods */
-void e_gdbus_cal_view_call_start (GDBusProxy *proxy, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-gboolean e_gdbus_cal_view_call_start_finish (GDBusProxy *proxy, GAsyncResult *result, GError **error);
-gboolean e_gdbus_cal_view_call_start_sync (GDBusProxy *proxy, GCancellable *cancellable, GError **error);
-
-void e_gdbus_cal_view_call_stop (GDBusProxy *proxy, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-gboolean e_gdbus_cal_view_call_stop_finish (GDBusProxy *proxy, GAsyncResult *result, GError **error);
-gboolean e_gdbus_cal_view_call_stop_sync (GDBusProxy *proxy, GCancellable *cancellable, GError **error);
-
-void e_gdbus_cal_view_call_set_flags (GDBusProxy *proxy, guint in_flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-gboolean e_gdbus_cal_view_call_set_flags_finish (GDBusProxy *proxy, GAsyncResult *res, GError **error);
-gboolean e_gdbus_cal_view_call_set_flags_sync (GDBusProxy *proxy, guint in_flags, GCancellable *cancellable, GError **error);
-
-void e_gdbus_cal_view_call_dispose (GDBusProxy *proxy, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-gboolean e_gdbus_cal_view_call_dispose_finish (GDBusProxy *proxy, GAsyncResult *result, GError **error);
-gboolean e_gdbus_cal_view_call_dispose_sync (GDBusProxy *proxy, GCancellable *cancellable, GError **error);
-
-void e_gdbus_cal_view_call_set_fields_of_interest (GDBusProxy *proxy, const gchar * const *in_only_fileds, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-gboolean e_gdbus_cal_view_call_set_fields_of_interest_finish (GDBusProxy *proxy, GAsyncResult *result, GError **error);
-gboolean e_gdbus_cal_view_call_set_fields_of_interest_sync (GDBusProxy *proxy, const gchar * const *in_only_fileds, GCancellable *cancellable, GError **error);
-
-/* D-Bus Methods Completion Helpers */
-#define e_gdbus_cal_view_complete_start e_gdbus_complete_sync_method_void
-#define e_gdbus_cal_view_complete_stop e_gdbus_complete_sync_method_void
-#define e_gdbus_cal_view_complete_set_flags e_gdbus_complete_sync_method_void
-#define e_gdbus_cal_view_complete_dispose e_gdbus_complete_sync_method_void
-#define e_gdbus_cal_view_complete_set_fields_of_interest e_gdbus_complete_sync_method_void
-
-/* D-Bus Signal Emission Helpers */
-void e_gdbus_cal_view_emit_objects_added (EGdbusCalView *object, const gchar * const *arg_objects);
-void e_gdbus_cal_view_emit_objects_modified (EGdbusCalView *object, const gchar * const *arg_objects);
-void e_gdbus_cal_view_emit_objects_removed (EGdbusCalView *object, const gchar * const *arg_uids);
-
-void e_gdbus_cal_view_emit_progress (EGdbusCalView *object, guint arg_percent, const gchar *arg_message);
-void e_gdbus_cal_view_emit_complete (EGdbusCalView *object, const gchar * const *arg_error);
-
-G_END_DECLS
-
-#endif /* E_GDBUS_CAL_VIEW_H */
diff --git a/src/libedataserver/CMakeLists.txt b/src/libedataserver/CMakeLists.txt
index e82b3d7ed..4393579c8 100644
--- a/src/libedataserver/CMakeLists.txt
+++ b/src/libedataserver/CMakeLists.txt
@@ -58,7 +58,6 @@ set(SOURCES
e-flag.c
e-free-form-exp.c
e-gdata-oauth2-authorizer.c
- e-gdbus-templates.c
e-iterator.c
e-list.c
e-list-iterator.c
@@ -147,7 +146,6 @@ set(HEADERS
e-flag.h
e-free-form-exp.h
e-gdata-oauth2-authorizer.h
- e-gdbus-templates.h
e-iterator.h
e-list.h
e-list-iterator.h
diff --git a/src/libedataserver/e-gdbus-templates.c b/src/libedataserver/e-gdbus-templates.c
deleted file mode 100644
index 5441fa0f2..000000000
--- a/src/libedataserver/e-gdbus-templates.c
+++ /dev/null
@@ -1,2393 +0,0 @@
-/*
- * e-gdbus-templates.c
- *
- * Copyright (C) 2011 Red Hat, Inc. (www.redhat.com)
- *
- * This library is free software: you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include <gio/gio.h>
-
-#include <stdio.h>
-
-#include "e-data-server-util.h"
-#include "e-flag.h"
-#include "e-gdbus-templates.h"
-
-static GThread *main_thread = NULL;
-
-void
-e_gdbus_templates_init_main_thread (void)
-{
- if (!main_thread) {
- main_thread = g_thread_self ();
- } else if (main_thread != g_thread_self ()) {
- g_warning ("%s: Called in different main thread, stored: %p would use: %p", G_STRFUNC, main_thread, g_thread_self ());
- }
-}
-
-gboolean
-e_gdbus_signal_emission_hook_void (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- const gchar *signal_name,
- const gchar *iface_name)
-{
- GObject *object;
- GDBusConnection *connection;
- const gchar *path;
-
- if (n_param_values < 1 || !G_VALUE_HOLDS (&param_values[0], G_TYPE_OBJECT))
- return FALSE;
-
- object = g_value_get_object (&param_values[0]);
- path = g_object_get_data (object, "gdbus-codegen-path");
- connection = g_object_get_data (object, "gdbus-codegen-connection");
- if (connection == NULL || path == NULL)
- return FALSE;
-
- g_dbus_connection_emit_signal (connection, NULL, path, iface_name, signal_name, NULL, NULL);
-
- return TRUE;
-}
-
-gboolean
-e_gdbus_signal_emission_hook_boolean (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- const gchar *signal_name,
- const gchar *iface_name)
-{
- GObject *object;
- GDBusConnection *connection;
- const gchar *path;
- GVariant *params;
- GVariant *item;
- GVariantBuilder *builder;
-
- if (n_param_values < 1 || !G_VALUE_HOLDS (&param_values[0], G_TYPE_OBJECT))
- return FALSE;
-
- object = g_value_get_object (&param_values[0]);
- path = g_object_get_data (object, "gdbus-codegen-path");
- connection = g_object_get_data (object, "gdbus-codegen-connection");
- if (connection == NULL || path == NULL)
- return FALSE;
-
- builder = g_variant_builder_new (G_VARIANT_TYPE_TUPLE);
- g_return_val_if_fail (n_param_values - 1 == 1, FALSE);
- param_values++;
- item = g_variant_new_boolean (g_value_get_boolean (param_values));
- g_variant_builder_add_value (builder, item);
- param_values++;
- params = g_variant_builder_end (builder);
- g_variant_builder_unref (builder);
-
- g_dbus_connection_emit_signal (connection, NULL, path, iface_name, signal_name, params, NULL);
-
- return TRUE;
-}
-
-gboolean
-e_gdbus_signal_emission_hook_string (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- const gchar *signal_name,
- const gchar *iface_name)
-{
- GObject *object;
- GDBusConnection *connection;
- const gchar *path;
- GVariant *params;
- GVariant *item;
- GVariantBuilder *builder;
-
- if (n_param_values < 1 || !G_VALUE_HOLDS (&param_values[0], G_TYPE_OBJECT))
- return FALSE;
-
- object = g_value_get_object (&param_values[0]);
- path = g_object_get_data (object, "gdbus-codegen-path");
- connection = g_object_get_data (object, "gdbus-codegen-connection");
- if (connection == NULL || path == NULL)
- return FALSE;
-
- builder = g_variant_builder_new (G_VARIANT_TYPE_TUPLE);
- g_return_val_if_fail (n_param_values - 1 == 1, FALSE);
- param_values++;
- item = g_variant_new_string (g_value_get_string (param_values));
- g_variant_builder_add_value (builder, item);
- param_values++;
- params = g_variant_builder_end (builder);
- g_variant_builder_unref (builder);
-
- g_dbus_connection_emit_signal (connection, NULL, path, iface_name, signal_name, params, NULL);
-
- return TRUE;
-}
-
-gboolean
-e_gdbus_signal_emission_hook_strv (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- const gchar *signal_name,
- const gchar *iface_name)
-{
- GObject *object;
- GDBusConnection *connection;
- const gchar *path;
- GVariant *params;
- GVariant *item;
- GVariantBuilder *builder;
- const gchar * const *arg_strv;
-
- if (n_param_values < 1 || !G_VALUE_HOLDS (&param_values[0], G_TYPE_OBJECT))
- return FALSE;
-
- object = g_value_get_object (&param_values[0]);
- path = g_object_get_data (object, "gdbus-codegen-path");
- connection = g_object_get_data (object, "gdbus-codegen-connection");
- if (connection == NULL || path == NULL)
- return FALSE;
-
- builder = g_variant_builder_new (G_VARIANT_TYPE_TUPLE);
- g_return_val_if_fail (n_param_values - 1 == 1, FALSE);
- param_values++;
- arg_strv = g_value_get_boxed (param_values);
- item = g_variant_new_strv (arg_strv, -1);
- g_variant_builder_add_value (builder, item);
- param_values++;
- params = g_variant_builder_end (builder);
- g_variant_builder_unref (builder);
-
- g_dbus_connection_emit_signal (connection, NULL, path, iface_name, signal_name, params, NULL);
-
- return TRUE;
-}
-
-gboolean
-e_gdbus_signal_emission_hook_uint (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- const gchar *signal_name,
- const gchar *iface_name)
-{
- GObject *object;
- GDBusConnection *connection;
- const gchar *path;
- GVariant *params;
- GVariant *item;
- GVariantBuilder *builder;
-
- if (n_param_values < 1 || !G_VALUE_HOLDS (&param_values[0], G_TYPE_OBJECT))
- return FALSE;
-
- object = g_value_get_object (&param_values[0]);
- path = g_object_get_data (object, "gdbus-codegen-path");
- connection = g_object_get_data (object, "gdbus-codegen-connection");
- if (connection == NULL || path == NULL)
- return FALSE;
-
- builder = g_variant_builder_new (G_VARIANT_TYPE_TUPLE);
- g_return_val_if_fail (n_param_values - 1 == 1, FALSE);
- param_values++;
- item = g_variant_new_uint32 (g_value_get_uint (param_values));
- g_variant_builder_add_value (builder, item);
- param_values++;
- params = g_variant_builder_end (builder);
- g_variant_builder_unref (builder);
-
- g_dbus_connection_emit_signal (connection, NULL, path, iface_name, signal_name, params, NULL);
-
- return TRUE;
-}
-
-gboolean
-e_gdbus_signal_emission_hook_uint_string (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- const gchar *signal_name,
- const gchar *iface_name)
-{
- GObject *object;
- GDBusConnection *connection;
- const gchar *path;
- GVariant *params;
- GVariant *item;
- GVariantBuilder *builder;
-
- if (n_param_values < 1 || !G_VALUE_HOLDS (&param_values[0], G_TYPE_OBJECT))
- return FALSE;
-
- object = g_value_get_object (&param_values[0]);
- path = g_object_get_data (object, "gdbus-codegen-path");
- connection = g_object_get_data (object, "gdbus-codegen-connection");
- if (connection == NULL || path == NULL)
- return FALSE;
-
- builder = g_variant_builder_new (G_VARIANT_TYPE_TUPLE);
- g_return_val_if_fail (n_param_values - 1 == 2, FALSE);
- param_values++;
- item = g_variant_new_uint32 (g_value_get_uint (param_values));
- g_variant_builder_add_value (builder, item);
- param_values++;
- item = g_variant_new_string (g_value_get_string (param_values));
- g_variant_builder_add_value (builder, item);
- param_values++;
- params = g_variant_builder_end (builder);
- g_variant_builder_unref (builder);
-
- g_dbus_connection_emit_signal (connection, NULL, path, iface_name, signal_name, params, NULL);
-
- return TRUE;
-}
-
-gboolean
-e_gdbus_signal_emission_hook_async_void (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- const gchar *signal_name,
- const gchar *iface_name)
-{
- GObject *object;
- GDBusConnection *connection;
- const gchar *path;
- GVariant *params;
- GVariant *item;
- GVariantBuilder *builder;
- GError *arg_error;
-
- if (n_param_values < 1 || !G_VALUE_HOLDS (&param_values[0], G_TYPE_OBJECT))
- return FALSE;
-
- object = g_value_get_object (&param_values[0]);
- path = g_object_get_data (object, "gdbus-codegen-path");
- connection = g_object_get_data (object, "gdbus-codegen-connection");
- if (connection == NULL || path == NULL)
- return FALSE;
-
- builder = g_variant_builder_new (G_VARIANT_TYPE_TUPLE);
- g_return_val_if_fail (n_param_values - 1 == 2, FALSE);
- param_values++;
- item = g_variant_new_uint32 (g_value_get_uint (param_values));
- g_variant_builder_add_value (builder, item);
- param_values++;
- arg_error = g_value_get_boxed (param_values);
- if (arg_error) {
- gchar *dbus_error_name = g_dbus_error_encode_gerror (arg_error);
- item = g_variant_new_string (dbus_error_name ? dbus_error_name : "");
- g_variant_builder_add_value (builder, item);
- item = g_variant_new_string (arg_error->message);
- g_variant_builder_add_value (builder, item);
- g_free (dbus_error_name);
- } else {
- item = g_variant_new_string ("");
- g_variant_builder_add_value (builder, item);
- item = g_variant_new_string ("");
- g_variant_builder_add_value (builder, item);
-
- param_values++;
- }
- params = g_variant_builder_end (builder);
- g_variant_builder_unref (builder);
-
- g_dbus_connection_emit_signal (connection, NULL, path, iface_name, signal_name, params, NULL);
-
- return TRUE;
-}
-
-gboolean
-e_gdbus_signal_emission_hook_async_boolean (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- const gchar *signal_name,
- const gchar *iface_name)
-{
- GObject *object;
- GDBusConnection *connection;
- const gchar *path;
- GVariant *params;
- GVariant *item;
- GVariantBuilder *builder;
- GError *arg_error;
-
- if (n_param_values < 1 || !G_VALUE_HOLDS (&param_values[0], G_TYPE_OBJECT))
- return FALSE;
-
- object = g_value_get_object (&param_values[0]);
- path = g_object_get_data (object, "gdbus-codegen-path");
- connection = g_object_get_data (object, "gdbus-codegen-connection");
- if (connection == NULL || path == NULL)
- return FALSE;
-
- builder = g_variant_builder_new (G_VARIANT_TYPE_TUPLE);
- g_return_val_if_fail (n_param_values - 1 == 3, FALSE);
- param_values++;
- item = g_variant_new_uint32 (g_value_get_uint (param_values));
- g_variant_builder_add_value (builder, item);
- param_values++;
- arg_error = g_value_get_boxed (param_values);
- if (arg_error) {
- gchar *dbus_error_name = g_dbus_error_encode_gerror (arg_error);
- item = g_variant_new_string (dbus_error_name ? dbus_error_name : "");
- g_variant_builder_add_value (builder, item);
- item = g_variant_new_string (arg_error->message);
- g_variant_builder_add_value (builder, item);
- g_free (dbus_error_name);
-
- /* fake value for easier processing in e_gdbus_proxy_emit_signal() */
- item = g_variant_new_boolean (FALSE);
- g_variant_builder_add_value (builder, item);
- } else {
- item = g_variant_new_string ("");
- g_variant_builder_add_value (builder, item);
- item = g_variant_new_string ("");
- g_variant_builder_add_value (builder, item);
-
- param_values++;
- item = g_variant_new_boolean (g_value_get_boolean (param_values));
- g_variant_builder_add_value (builder, item);
- param_values++;
- }
- params = g_variant_builder_end (builder);
- g_variant_builder_unref (builder);
-
- g_dbus_connection_emit_signal (connection, NULL, path, iface_name, signal_name, params, NULL);
-
- return TRUE;
-}
-
-gboolean
-e_gdbus_signal_emission_hook_async_string (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- const gchar *signal_name,
- const gchar *iface_name)
-{
- GObject *object;
- GDBusConnection *connection;
- const gchar *path;
- GVariant *params;
- GVariant *item;
- GVariantBuilder *builder;
- GError *arg_error;
-
- if (n_param_values < 1 || !G_VALUE_HOLDS (&param_values[0], G_TYPE_OBJECT))
- return FALSE;
-
- object = g_value_get_object (&param_values[0]);
- path = g_object_get_data (object, "gdbus-codegen-path");
- connection = g_object_get_data (object, "gdbus-codegen-connection");
- if (connection == NULL || path == NULL)
- return FALSE;
-
- builder = g_variant_builder_new (G_VARIANT_TYPE_TUPLE);
- g_return_val_if_fail (n_param_values - 1 == 3, FALSE);
- param_values++;
- item = g_variant_new_uint32 (g_value_get_uint (param_values));
- g_variant_builder_add_value (builder, item);
- param_values++;
- arg_error = g_value_get_boxed (param_values);
- if (arg_error) {
- gchar *dbus_error_name = g_dbus_error_encode_gerror (arg_error);
- item = g_variant_new_string (dbus_error_name ? dbus_error_name : "");
- g_variant_builder_add_value (builder, item);
- item = g_variant_new_string (arg_error->message);
- g_variant_builder_add_value (builder, item);
- g_free (dbus_error_name);
-
- /* fake value for easier processing in e_gdbus_proxy_emit_signal() */
- item = g_variant_new_string ("");
- g_variant_builder_add_value (builder, item);
- } else {
- item = g_variant_new_string ("");
- g_variant_builder_add_value (builder, item);
- item = g_variant_new_string ("");
- g_variant_builder_add_value (builder, item);
-
- param_values++;
- item = g_variant_new_string (g_value_get_string (param_values));
- g_variant_builder_add_value (builder, item);
- param_values++;
- }
- params = g_variant_builder_end (builder);
- g_variant_builder_unref (builder);
-
- g_dbus_connection_emit_signal (connection, NULL, path, iface_name, signal_name, params, NULL);
-
- return TRUE;
-}
-
-gboolean
-e_gdbus_signal_emission_hook_async_strv (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- const gchar *signal_name,
- const gchar *iface_name)
-{
- GObject *object;
- GDBusConnection *connection;
- const gchar *path;
- GVariant *params;
- GVariant *item;
- GVariantBuilder *builder;
- const GError *arg_error;
- const gchar * const *arg_strv;
-
- if (n_param_values < 1 || !G_VALUE_HOLDS (&param_values[0], G_TYPE_OBJECT))
- return FALSE;
-
- object = g_value_get_object (&param_values[0]);
- path = g_object_get_data (object, "gdbus-codegen-path");
- connection = g_object_get_data (object, "gdbus-codegen-connection");
- if (connection == NULL || path == NULL)
- return FALSE;
-
- builder = g_variant_builder_new (G_VARIANT_TYPE_TUPLE);
- g_return_val_if_fail (n_param_values - 1 == 3, FALSE);
- param_values++;
- item = g_variant_new_uint32 (g_value_get_uint (param_values));
- g_variant_builder_add_value (builder, item);
- param_values++;
- arg_error = g_value_get_boxed (param_values);
- if (arg_error) {
- const gchar *fake_strv;
- gchar *dbus_error_name = g_dbus_error_encode_gerror (arg_error);
- item = g_variant_new_string (dbus_error_name ? dbus_error_name : "");
- g_variant_builder_add_value (builder, item);
- item = g_variant_new_string (arg_error->message);
- g_variant_builder_add_value (builder, item);
- g_free (dbus_error_name);
-
- /* fake value for easier processing in e_gdbus_proxy_emit_signal() */
- fake_strv = NULL;
- item = g_variant_new_strv (&fake_strv, -1);
- g_variant_builder_add_value (builder, item);
- } else {
- item = g_variant_new_string ("");
- g_variant_builder_add_value (builder, item);
- item = g_variant_new_string ("");
- g_variant_builder_add_value (builder, item);
-
- param_values++;
- arg_strv = g_value_get_boxed (param_values);
- item = g_variant_new_strv (arg_strv, -1);
- g_variant_builder_add_value (builder, item);
- param_values++;
- }
- params = g_variant_builder_end (builder);
- g_variant_builder_unref (builder);
-
- g_dbus_connection_emit_signal (connection, NULL, path, iface_name, signal_name, params, NULL);
-
- return TRUE;
-}
-
-gboolean
-e_gdbus_signal_emission_hook_async_uint (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- const gchar *signal_name,
- const gchar *iface_name)
-{
- GObject *object;
- GDBusConnection *connection;
- const gchar *path;
- GVariant *params;
- GVariant *item;
- GVariantBuilder *builder;
- GError *arg_error;
-
- if (n_param_values < 1 || !G_VALUE_HOLDS (&param_values[0], G_TYPE_OBJECT))
- return FALSE;
-
- object = g_value_get_object (&param_values[0]);
- path = g_object_get_data (object, "gdbus-codegen-path");
- connection = g_object_get_data (object, "gdbus-codegen-connection");
- if (connection == NULL || path == NULL)
- return FALSE;
-
- builder = g_variant_builder_new (G_VARIANT_TYPE_TUPLE);
- g_return_val_if_fail (n_param_values - 1 == 3, FALSE);
- param_values++;
- item = g_variant_new_uint32 (g_value_get_uint (param_values));
- g_variant_builder_add_value (builder, item);
- param_values++;
- arg_error = g_value_get_boxed (param_values);
- if (arg_error) {
- gchar *dbus_error_name = g_dbus_error_encode_gerror (arg_error);
- item = g_variant_new_string (dbus_error_name ? dbus_error_name : "");
- g_variant_builder_add_value (builder, item);
- item = g_variant_new_string (arg_error->message);
- g_variant_builder_add_value (builder, item);
- g_free (dbus_error_name);
-
- /* fake value for easier processing in e_gdbus_proxy_emit_signal() */
- item = g_variant_new_uint32 (g_value_get_uint (0));
- g_variant_builder_add_value (builder, item);
- } else {
- item = g_variant_new_string ("");
- g_variant_builder_add_value (builder, item);
- item = g_variant_new_string ("");
- g_variant_builder_add_value (builder, item);
-
- param_values++;
- item = g_variant_new_uint32 (g_value_get_uint (param_values));
- g_variant_builder_add_value (builder, item);
- param_values++;
- }
- params = g_variant_builder_end (builder);
- g_variant_builder_unref (builder);
-
- g_dbus_connection_emit_signal (connection, NULL, path, iface_name, signal_name, params, NULL);
-
- return TRUE;
-}
-
-void
-e_gdbus_proxy_emit_signal (GDBusProxy *proxy,
- GVariant *parameters,
- guint signal_id,
- guint signal_type)
-{
- gboolean arg_boolean = FALSE;
- const gchar *arg_const_string = NULL;
- const gchar **arg_const_strv = NULL;
- guint arg_uint = 0;
-
- g_return_if_fail (proxy != NULL);
-
- if ((signal_type & E_GDBUS_TYPE_IS_ASYNC) != 0) {
- /* the signal is a done signal, thus opid and error name with error message are first two parameters */
- guint arg_opid = 0;
- const gchar *dbus_error_name = NULL, *dbus_error_message = NULL;
- GError *arg_error = NULL;
-
- signal_type = signal_type & (~E_GDBUS_TYPE_IS_ASYNC);
- switch (signal_type) {
- case E_GDBUS_TYPE_VOID:
- g_variant_get (parameters, "(u&s&s)", &arg_opid, &dbus_error_name, &dbus_error_message);
- break;
- case E_GDBUS_TYPE_BOOLEAN:
- g_variant_get (parameters, "(u&s&sb)", &arg_opid, &dbus_error_name, &dbus_error_message, &arg_boolean);
- break;
- case E_GDBUS_TYPE_STRING:
- g_variant_get (parameters, "(u&s&s&s)", &arg_opid, &dbus_error_name, &dbus_error_message, &arg_const_string);
- break;
- case E_GDBUS_TYPE_STRV:
- /* array is newly allocated, but items are gvariant's */
- g_variant_get (parameters, "(u&s&s^a&s)", &arg_opid, &dbus_error_name, &dbus_error_message, &arg_const_strv);
- break;
- case E_GDBUS_TYPE_UINT:
- g_variant_get (parameters, "(u&s&su)", &arg_opid, &dbus_error_name, &dbus_error_message, &arg_uint);
- break;
- default:
- /* fix below too, if this is reached */
- g_warning ("%s: Unknown E_GDBUS_TYPE %x", G_STRFUNC, signal_type);
- return;
- }
-
- if (dbus_error_name && *dbus_error_name && dbus_error_message)
- arg_error = g_dbus_error_new_for_dbus_error (dbus_error_name, dbus_error_message);
-
- switch (signal_type) {
- case E_GDBUS_TYPE_VOID:
- g_signal_emit (proxy, signal_id, 0, arg_opid, arg_error);
- break;
- case E_GDBUS_TYPE_BOOLEAN:
- g_signal_emit (proxy, signal_id, 0, arg_opid, arg_error, arg_boolean);
- break;
- case E_GDBUS_TYPE_STRING:
- g_signal_emit (proxy, signal_id, 0, arg_opid, arg_error, arg_const_string);
- break;
- case E_GDBUS_TYPE_STRV:
- g_signal_emit (proxy, signal_id, 0, arg_opid, arg_error, arg_const_strv);
- g_free (arg_const_strv);
- break;
- case E_GDBUS_TYPE_UINT:
- g_signal_emit (proxy, signal_id, 0, arg_opid, arg_error, arg_uint);
- break;
- }
-
- if (arg_error)
- g_error_free (arg_error);
- } else {
- switch (signal_type) {
- case E_GDBUS_TYPE_VOID:
- g_signal_emit (proxy, signal_id, 0);
- break;
- case E_GDBUS_TYPE_BOOLEAN:
- g_variant_get (parameters, "(b)", &arg_boolean);
- g_signal_emit (proxy, signal_id, 0, arg_boolean);
- break;
- case E_GDBUS_TYPE_STRING:
- g_variant_get (parameters, "(&s)", &arg_const_string);
- g_signal_emit (proxy, signal_id, 0, arg_const_string);
- break;
- case E_GDBUS_TYPE_STRV:
- /* array is newly allocated, but items are gvariant's */
- g_variant_get (parameters, "(^a&s)", &arg_const_strv);
- g_signal_emit (proxy, signal_id, 0, arg_const_strv);
- g_free (arg_const_strv);
- break;
- case E_GDBUS_TYPE_UINT:
- g_variant_get (parameters, "(u)", &arg_uint);
- g_signal_emit (proxy, signal_id, 0, arg_uint);
- break;
- case E_GDBUS_TYPE_UINT | E_GDBUS_TYPE_STRING:
- g_variant_get (parameters, "(u&s)", &arg_uint, &arg_const_string);
- g_signal_emit (proxy, signal_id, 0, arg_uint, arg_const_string);
- break;
- default:
- g_warning ("%s: Unknown E_GDBUS_TYPE %x", G_STRFUNC, signal_type);
- break;
- }
- }
-}
-
-void
-e_gdbus_stub_handle_method_call (GObject *stub_object,
- GDBusMethodInvocation *invocation,
- GVariant *parameters,
- const gchar *method_name,
- guint method_id,
- guint method_type)
-{
- gboolean handled = FALSE;
- gboolean arg_boolean = FALSE;
- const gchar *arg_const_string = NULL;
- const gchar ** arg_const_strv = NULL;
- guint arg_uint = 0;
-
- g_return_if_fail (stub_object != NULL);
- g_return_if_fail (method_name != NULL);
-
- switch (method_type & (~E_GDBUS_TYPE_IS_ASYNC)) {
- case E_GDBUS_TYPE_VOID:
- g_signal_emit (stub_object, method_id, 0, invocation, &handled);
- break;
- case E_GDBUS_TYPE_BOOLEAN:
- g_variant_get (parameters, "(b)", &arg_boolean);
- g_signal_emit (stub_object, method_id, 0, invocation, arg_boolean, &handled);
- break;
- case E_GDBUS_TYPE_STRING:
- g_variant_get (parameters, "(&s)", &arg_const_string);
- g_signal_emit (stub_object, method_id, 0, invocation, arg_const_string, &handled);
- break;
- case E_GDBUS_TYPE_STRV:
- /* array is newly allocated, but items are gvariant's */
- g_variant_get (parameters, "(^a&s)", &arg_const_strv);
- g_signal_emit (stub_object, method_id, 0, invocation, arg_const_strv, &handled);
- g_free (arg_const_strv);
- break;
- case E_GDBUS_TYPE_UINT:
- g_variant_get (parameters, "(u)", &arg_uint);
- g_signal_emit (stub_object, method_id, 0, invocation, arg_uint, &handled);
- break;
- default:
- g_warning ("%s: Unknown E_GDBUS_TYPE %x", G_STRFUNC, method_type);
- break;
- }
-
- if (!handled)
- g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_NOT_SUPPORTED, "Method `%s' is not implemented", method_name);
-}
-
-G_DEFINE_INTERFACE (EGdbusAsyncOpKeeper, e_gdbus_async_op_keeper, G_TYPE_OBJECT)
-
-static void
-e_gdbus_async_op_keeper_default_init (EGdbusAsyncOpKeeperInterface *iface)
-{
-}
-
-/**
- * e_gdbus_async_op_keeper_create_pending_ops:
- * @object: a #EGdbusAsyncOpKeeper
- *
- * Create a hash table of pending async operations. This can be freed
- * with g_hash_table_unref() in dispose. The interface asks for this
- * pointer by calling e_gdbus_async_op_keeper_create_pending_ops().
- *
- * Returns: (transfer full) (element-type gpointer gpointer): hash table of
- * pending async operations; free with g_hash_table_unref()
- */
-GHashTable *
-e_gdbus_async_op_keeper_create_pending_ops (EGdbusAsyncOpKeeper *object)
-{
- g_return_val_if_fail (object != NULL, NULL);
- g_return_val_if_fail (E_IS_GDBUS_ASYNC_OP_KEEPER (object), NULL);
-
- return g_hash_table_new (g_direct_hash, g_direct_equal);
-}
-
-/**
- * e_gdbus_async_op_keeper_get_pending_ops:
- * @object: a #EGdbusAsyncOpKeeper
- *
- * Get the hash table of pending async operations previously created
- * by e_gdbus_async_op_keeper_create_pending_ops().
- *
- * Returns: (transfer none): hash table of pending async operations
- */
-GHashTable *
-e_gdbus_async_op_keeper_get_pending_ops (EGdbusAsyncOpKeeper *object)
-{
- EGdbusAsyncOpKeeperInterface *iface;
-
- g_return_val_if_fail (E_IS_GDBUS_ASYNC_OP_KEEPER (object), NULL);
-
- iface = E_GDBUS_ASYNC_OP_KEEPER_GET_IFACE (object);
- g_return_val_if_fail (iface->get_pending_ops != NULL, NULL);
-
- return iface->get_pending_ops (object);
-}
-
-/* synchronously cancels one operation - sends a request from client to the server */
-gboolean
-e_gdbus_async_op_keeper_cancel_op_sync (EGdbusAsyncOpKeeper *object,
- guint in_opid,
- GCancellable *cancellable,
- GError **error)
-{
- EGdbusAsyncOpKeeperInterface *iface;
-
- g_return_val_if_fail (E_IS_GDBUS_ASYNC_OP_KEEPER (object), FALSE);
-
- iface = E_GDBUS_ASYNC_OP_KEEPER_GET_IFACE (object);
- g_return_val_if_fail (iface->cancel_op_sync != NULL, FALSE);
-
- return iface->cancel_op_sync (object, in_opid, cancellable, error);
-}
-
-/* Used to finish asynchronous GDBus call - this might be done in the callback
- * as soon as possible; method returns to a caller operation ID which was started */
-void
-e_gdbus_complete_async_method (gpointer object,
- GDBusMethodInvocation *invocation,
- guint opid)
-{
- g_dbus_method_invocation_return_value (invocation, g_variant_new ("(u)", opid));
-}
-
-/* Used to finish synchronous GDBus call - this might be done in the callback
- * as soon as possible */
-void
-e_gdbus_complete_sync_method_void (gpointer object,
- GDBusMethodInvocation *invocation,
- const GError *error)
-{
- if (error)
- g_dbus_method_invocation_return_gerror (invocation, error);
- else
- g_dbus_method_invocation_return_value (invocation, NULL);
-}
-
-void
-e_gdbus_complete_sync_method_boolean (gpointer object,
- GDBusMethodInvocation *invocation,
- gboolean out_boolean,
- const GError *error)
-{
- if (error)
- g_dbus_method_invocation_return_gerror (invocation, error);
- else
- g_dbus_method_invocation_return_value (invocation, g_variant_new ("(b)", out_boolean));
-}
-
-void
-e_gdbus_complete_sync_method_string (gpointer object,
- GDBusMethodInvocation *invocation,
- const gchar *out_string,
- const GError *error)
-{
- if (error)
- g_dbus_method_invocation_return_gerror (invocation, error);
- else
- g_dbus_method_invocation_return_value (invocation, g_variant_new ("(s)", out_string));
-}
-
-void
-e_gdbus_complete_sync_method_strv (gpointer object,
- GDBusMethodInvocation *invocation,
- const gchar * const *out_strv,
- const GError *error)
-{
- if (error)
- g_dbus_method_invocation_return_gerror (invocation, error);
- else
- g_dbus_method_invocation_return_value (invocation, g_variant_new ("(^as)", out_strv));
-}
-
-void
-e_gdbus_complete_sync_method_uint (gpointer object,
- GDBusMethodInvocation *invocation,
- guint out_uint,
- const GError *error)
-{
- if (error)
- g_dbus_method_invocation_return_gerror (invocation, error);
- else
- g_dbus_method_invocation_return_value (invocation, g_variant_new ("(u)", out_uint));
-}
-
-typedef struct _AsyncOpData
-{
- gint ref_count;
- EGdbusAsyncOpKeeper *proxy;
- guint opid;
-
- GCancellable *cancellable;
- gulong cancel_id;
- guint cancel_idle_id;
-
- gpointer async_source_tag;
- GAsyncReadyCallback async_callback;
- gpointer async_user_data;
-
- guint result_type; /* any of E_GDBUS_TYPE_... except of E_GDBUS_TYPE_IS_ASYNC */
- union {
- gboolean out_boolean;
- gchar *out_string;
- gchar ** out_strv;
- guint out_uint;
- } result;
-} AsyncOpData;
-
-static void
-async_op_data_free (AsyncOpData *op_data)
-{
- GHashTable *pending_ops;
-
- g_return_if_fail (op_data != NULL);
-
- pending_ops = e_gdbus_async_op_keeper_get_pending_ops (op_data->proxy);
-
- if (op_data->cancel_idle_id) {
- GError *error = NULL;
-
- g_source_remove (op_data->cancel_idle_id);
- op_data->cancel_idle_id = 0;
-
- if (pending_ops)
- g_hash_table_remove (pending_ops, GUINT_TO_POINTER (op_data->opid));
-
- if (!e_gdbus_async_op_keeper_cancel_op_sync (op_data->proxy, op_data->opid, NULL, &error)) {
- g_debug ("%s: Failed to cancel operation: %s\n", G_STRFUNC, error ? error->message : "Unknown error");
- g_clear_error (&error);
- }
- } else if (pending_ops) {
- g_hash_table_remove (pending_ops, GUINT_TO_POINTER (op_data->opid));
- }
-
- if (op_data->cancellable) {
- if (op_data->cancel_id) {
- g_cancellable_disconnect (op_data->cancellable, op_data->cancel_id);
- op_data->cancel_id = 0;
- }
- g_object_unref (op_data->cancellable);
- op_data->cancellable = NULL;
- }
-
- if (!g_atomic_int_dec_and_test (&op_data->ref_count))
- return;
-
- g_object_unref (op_data->proxy);
-
- switch (op_data->result_type) {
- case E_GDBUS_TYPE_STRING:
- if (op_data->result.out_string)
- g_free (op_data->result.out_string);
- break;
- case E_GDBUS_TYPE_STRV:
- if (op_data->result.out_strv)
- g_strfreev (op_data->result.out_strv);
- break;
- }
-
- g_free (op_data);
-
- g_return_if_fail (pending_ops != NULL);
-}
-
-static void
-async_op_complete (AsyncOpData *op_data,
- const GError *error,
- gboolean in_idle)
-{
- GSimpleAsyncResult *simple;
-
- g_return_if_fail (op_data != NULL);
-
- g_atomic_int_inc (&op_data->ref_count);
- simple = g_simple_async_result_new (G_OBJECT (op_data->proxy), op_data->async_callback, op_data->async_user_data, op_data->async_source_tag);
- g_simple_async_result_set_op_res_gpointer (simple, op_data, (GDestroyNotify) async_op_data_free);
- if (error)
- g_simple_async_result_set_from_error (simple, error);
-
- if (in_idle)
- g_simple_async_result_complete_in_idle (simple);
- else
- g_simple_async_result_complete (simple);
-
- g_object_unref (simple);
-}
-
-typedef struct _CancelData
-{
- EGdbusAsyncOpKeeper *proxy;
- guint opid;
- AsyncOpData *op_data;
-} CancelData;
-
-static void
-cancel_data_free (gpointer ptr)
-{
- CancelData *cd = ptr;
-
- if (!cd)
- return;
-
- g_object_unref (cd->proxy);
- g_free (cd);
-}
-
-static gboolean
-e_gdbus_op_cancelled_idle_cb (gpointer user_data)
-{
- CancelData *cd = user_data;
- AsyncOpData *op_data;
- GHashTable *pending_ops;
- GCancellable *cancellable;
- GError *error = NULL;
-
- g_return_val_if_fail (cd != NULL, FALSE);
-
- pending_ops = e_gdbus_async_op_keeper_get_pending_ops (cd->proxy);
- if (pending_ops && !g_hash_table_lookup (pending_ops, GUINT_TO_POINTER (cd->opid))) {
- /* got served already */
- return FALSE;
- }
-
- op_data = cd->op_data;
- g_return_val_if_fail (op_data != NULL, FALSE);
-
- cancellable = op_data->cancellable;
- op_data->cancel_idle_id = 0;
-
- if (!e_gdbus_async_op_keeper_cancel_op_sync (op_data->proxy, op_data->opid, NULL, &error)) {
- g_debug ("%s: Failed to cancel operation: %s\n", G_STRFUNC, error ? error->message : "Unknown error");
- g_clear_error (&error);
- }
-
- g_return_val_if_fail (g_cancellable_set_error_if_cancelled (cancellable, &error), FALSE);
-
- async_op_complete (op_data, error, TRUE);
- g_clear_error (&error);
-
- return FALSE;
-}
-
-static void
-e_gdbus_op_cancelled_cb (GCancellable *cancellable,
- AsyncOpData *op_data)
-{
- CancelData *cd;
-
- g_return_if_fail (op_data != NULL);
- g_return_if_fail (op_data->cancellable == cancellable);
-
- cd = g_new0 (CancelData, 1);
- cd->proxy = g_object_ref (op_data->proxy);
- cd->opid = op_data->opid;
- cd->op_data = op_data;
-
- /* do this on idle, because this callback should be left
- * as soon as possible, with no sync calls being done;
- * also schedule with priority higher than gtk+ uses
- * for animations (check docs for G_PRIORITY_HIGH_IDLE) */
- op_data->cancel_idle_id = g_idle_add_full (G_PRIORITY_DEFAULT, e_gdbus_op_cancelled_idle_cb, cd, cancel_data_free);
-}
-
-static void
-e_gdbus_async_call_opid_ready_cb (GObject *source_proxy,
- GAsyncResult *result,
- gpointer user_data)
-{
- GVariant *_result;
- GError *error = NULL;
- AsyncOpData *op_data = user_data;
-
- _result = g_dbus_proxy_call_finish (G_DBUS_PROXY (source_proxy), result, &error);
-
- if (_result != NULL && !error) {
- EGdbusAsyncOpKeeper *op_keeper = E_GDBUS_ASYNC_OP_KEEPER (source_proxy);
- GHashTable *pending_ops;
- gboolean add_pending = TRUE;
-
- g_return_if_fail (op_keeper != NULL);
-
- pending_ops = e_gdbus_async_op_keeper_get_pending_ops (op_keeper);
- g_return_if_fail (pending_ops != NULL);
-
- g_variant_get (_result, "(u)", &op_data->opid);
- g_variant_unref (_result);
-
- if (op_data->cancellable && !g_cancellable_set_error_if_cancelled (op_data->cancellable, &error))
- op_data->cancel_id = g_cancellable_connect (op_data->cancellable, G_CALLBACK (e_gdbus_op_cancelled_cb), op_data, NULL);
- else
- add_pending = op_data->cancellable == NULL;
-
- /* add to pending ops, waiting for associated 'done' signal */
- if (add_pending)
- g_hash_table_insert (pending_ops, GUINT_TO_POINTER (op_data->opid), op_data);
- } else if (_result) {
- g_variant_unref (_result);
- }
-
- if (error) {
- async_op_complete (op_data, error, FALSE);
- g_error_free (error);
- }
-}
-
-static gchar **
-copy_strv (const gchar * const *strv)
-{
- GPtrArray *array;
- gint ii;
-
- array = g_ptr_array_sized_new (g_strv_length ((gchar **) strv) + 1);
-
- for (ii = 0; strv[ii]; ii++) {
- g_ptr_array_add (array, g_strdup (strv[ii]));
- }
-
- /* NULL-terminated */
- g_ptr_array_add (array, NULL);
-
- return (gchar **) g_ptr_array_free (array, FALSE);
-}
-
-static void
-e_gdbus_proxy_async_method_done (guint e_gdbus_type,
- gconstpointer out_value,
- EGdbusAsyncOpKeeper *object,
- guint arg_opid,
- const GError *error)
-{
- AsyncOpData *op_data;
- GHashTable *pending_ops;
-
- g_return_if_fail (object != NULL);
- g_return_if_fail (E_IS_GDBUS_ASYNC_OP_KEEPER (object));
-
- pending_ops = e_gdbus_async_op_keeper_get_pending_ops (object);
- g_return_if_fail (pending_ops != NULL);
-
- op_data = g_hash_table_lookup (pending_ops, GUINT_TO_POINTER (arg_opid));
- if (!op_data) {
- /* it happens for cancelled operations, thus rather than track cancelled ops disable the debug warning */
- /* g_debug ("%s: Operation %d gone before got done signal for it", G_STRFUNC, arg_opid); */
- return;
- }
-
- if (out_value) {
- op_data->result_type = e_gdbus_type;
-
- switch (e_gdbus_type) {
- case E_GDBUS_TYPE_VOID:
- break;
- case E_GDBUS_TYPE_BOOLEAN:
- op_data->result.out_boolean = * ((const gboolean *) out_value);
- break;
- case E_GDBUS_TYPE_STRING:
- op_data->result.out_string = g_strdup ((const gchar *) out_value);
- break;
- case E_GDBUS_TYPE_STRV:
- op_data->result.out_strv = copy_strv ((const gchar * const *) out_value);
- break;
- case E_GDBUS_TYPE_UINT:
- op_data->result.out_uint = * ((const guint *) out_value);
- break;
- default:
- g_warning ("%s: Unknown E_GDBUS_TYPE %x", G_STRFUNC, e_gdbus_type);
- break;
- }
- }
-
- async_op_complete (op_data, error, TRUE);
-}
-
-void
-e_gdbus_proxy_async_method_done_void (EGdbusAsyncOpKeeper *proxy,
- guint arg_opid,
- const GError *error)
-{
- e_gdbus_proxy_async_method_done (E_GDBUS_TYPE_VOID, NULL, proxy, arg_opid, error);
-}
-
-void
-e_gdbus_proxy_async_method_done_boolean (EGdbusAsyncOpKeeper *proxy,
- guint arg_opid,
- const GError *error,
- gboolean out_boolean)
-{
- e_gdbus_proxy_async_method_done (E_GDBUS_TYPE_BOOLEAN, &out_boolean, proxy, arg_opid, error);
-}
-
-/* takes ownership of the out parameter */
-void
-e_gdbus_proxy_async_method_done_string (EGdbusAsyncOpKeeper *proxy,
- guint arg_opid,
- const GError *error,
- const gchar *out_string)
-{
- e_gdbus_proxy_async_method_done (E_GDBUS_TYPE_STRING, out_string, proxy, arg_opid, error);
-}
-
-/* takes ownership of the out parameter */
-void
-e_gdbus_proxy_async_method_done_strv (EGdbusAsyncOpKeeper *proxy,
- guint arg_opid,
- const GError *error,
- const gchar * const *out_strv)
-{
- e_gdbus_proxy_async_method_done (E_GDBUS_TYPE_STRV, out_strv, proxy, arg_opid, error);
-}
-
-void
-e_gdbus_proxy_async_method_done_uint (EGdbusAsyncOpKeeper *proxy,
- guint arg_opid,
- const GError *error,
- guint out_uint)
-{
- e_gdbus_proxy_async_method_done (E_GDBUS_TYPE_UINT, &out_uint, proxy, arg_opid, error);
-}
-
-/* takes ownership of _params */
-static void
-e_gdbus_proxy_call_with_params (GVariant *_params,
- const gchar *method_name,
- gpointer source_tag,
- EGdbusAsyncOpKeeper *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- AsyncOpData *op_data;
-
- op_data = g_new0 (AsyncOpData, 1);
- op_data->proxy = g_object_ref (proxy);
- op_data->opid = 0;
- op_data->async_source_tag = source_tag;
- op_data->async_callback = callback;
- op_data->async_user_data = user_data;
- op_data->cancellable = cancellable;
- if (op_data->cancellable)
- g_object_ref (op_data->cancellable);
-
- g_dbus_proxy_call (G_DBUS_PROXY (proxy), method_name, _params, G_DBUS_CALL_FLAGS_NONE, e_data_server_util_get_dbus_call_timeout (), cancellable, e_gdbus_async_call_opid_ready_cb, op_data);
-}
-
-void
-e_gdbus_proxy_call_void (const gchar *method_name,
- gpointer source_tag,
- EGdbusAsyncOpKeeper *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- e_gdbus_proxy_call_with_params (NULL, method_name, source_tag, proxy, cancellable, callback, user_data);
-}
-
-void
-e_gdbus_proxy_call_boolean (const gchar *method_name,
- gpointer source_tag,
- EGdbusAsyncOpKeeper *proxy,
- gboolean in_boolean,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- GVariant *_params;
-
- _params = g_variant_new ("(b)", in_boolean);
-
- e_gdbus_proxy_call_with_params (_params, method_name, source_tag, proxy, cancellable, callback, user_data);
-}
-
-void
-e_gdbus_proxy_call_string (const gchar *method_name,
- gpointer source_tag,
- EGdbusAsyncOpKeeper *proxy,
- const gchar *in_string,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- GVariant *_params;
-
- _params = g_variant_new ("(s)", in_string);
-
- e_gdbus_proxy_call_with_params (_params, method_name, source_tag, proxy, cancellable, callback, user_data);
-}
-
-void
-e_gdbus_proxy_call_strv (const gchar *method_name,
- gpointer source_tag,
- EGdbusAsyncOpKeeper *proxy,
- const gchar * const *in_strv,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- GVariant *_params;
-
- _params = g_variant_new ("(^as)", in_strv);
-
- e_gdbus_proxy_call_with_params (_params, method_name, source_tag, proxy, cancellable, callback, user_data);
-}
-
-void
-e_gdbus_proxy_call_uint (const gchar *method_name,
- gpointer source_tag,
- EGdbusAsyncOpKeeper *proxy,
- guint in_uint,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- GVariant *_params;
-
- _params = g_variant_new ("(u)", in_uint);
-
- e_gdbus_proxy_call_with_params (_params, method_name, source_tag, proxy, cancellable, callback, user_data);
-}
-
-gboolean
-e_gdbus_proxy_finish_call_void (EGdbusAsyncOpKeeper *proxy,
- GAsyncResult *result,
- GError **error,
- gpointer source_tag)
-{
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (proxy), source_tag), FALSE);
-
- return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error);
-}
-
-gboolean
-e_gdbus_proxy_finish_call_boolean (EGdbusAsyncOpKeeper *proxy,
- GAsyncResult *result,
- gboolean *out_boolean,
- GError **error,
- gpointer source_tag)
-{
- AsyncOpData *op_data;
-
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (proxy), source_tag), FALSE);
- g_return_val_if_fail (out_boolean != NULL, FALSE);
-
- if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error))
- return FALSE;
-
- op_data = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (result));
- g_return_val_if_fail (op_data != NULL, FALSE);
- g_return_val_if_fail (op_data->result_type == E_GDBUS_TYPE_BOOLEAN, FALSE);
-
- *out_boolean = op_data->result.out_boolean;
-
- return TRUE;
-}
-
-/* caller takes ownership and responsibility for freeing the out parameter */
-gboolean
-e_gdbus_proxy_finish_call_string (EGdbusAsyncOpKeeper *proxy,
- GAsyncResult *result,
- gchar **out_string,
- GError **error,
- gpointer source_tag)
-{
- AsyncOpData *op_data;
-
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (proxy), source_tag), FALSE);
- g_return_val_if_fail (out_string != NULL, FALSE);
-
- if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error))
- return FALSE;
-
- op_data = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (result));
- g_return_val_if_fail (op_data != NULL, FALSE);
- g_return_val_if_fail (op_data->result_type == E_GDBUS_TYPE_STRING, FALSE);
-
- *out_string = op_data->result.out_string;
- op_data->result.out_string = NULL;
-
- return TRUE;
-}
-
-/* caller takes ownership and responsibility for freeing the out parameter */
-gboolean
-e_gdbus_proxy_finish_call_strv (EGdbusAsyncOpKeeper *proxy,
- GAsyncResult *result,
- gchar ***out_strv,
- GError **error,
- gpointer source_tag)
-{
- AsyncOpData *op_data;
-
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (proxy), source_tag), FALSE);
- g_return_val_if_fail (out_strv != NULL, FALSE);
-
- if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error))
- return FALSE;
-
- op_data = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (result));
- g_return_val_if_fail (op_data != NULL, FALSE);
- g_return_val_if_fail (op_data->result_type == E_GDBUS_TYPE_STRV, FALSE);
-
- *out_strv = op_data->result.out_strv;
- op_data->result.out_strv = NULL;
-
- return TRUE;
-}
-
-gboolean
-e_gdbus_proxy_finish_call_uint (EGdbusAsyncOpKeeper *proxy,
- GAsyncResult *result,
- guint *out_uint,
- GError **error,
- gpointer source_tag)
-{
- AsyncOpData *op_data;
-
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (proxy), source_tag), FALSE);
- g_return_val_if_fail (out_uint != NULL, FALSE);
-
- if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error))
- return FALSE;
-
- op_data = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (result));
- g_return_val_if_fail (op_data != NULL, FALSE);
- g_return_val_if_fail (op_data->result_type == E_GDBUS_TYPE_UINT, FALSE);
-
- *out_uint = op_data->result.out_uint;
-
- return TRUE;
-}
-
-typedef struct _SyncOpData
-{
- EFlag *flag;
- GError **error;
-
- guint out_type; /* one of E_GDBUS_TYPE_... except of E_GDBUS_TYPE_IS_ASYNC */
- union {
- gboolean *out_boolean;
- gchar **out_string;
- gchar ***out_strv;
- guint *out_uint;
- } out_arg;
-
- union {
- EGdbusCallFinishVoid finish_void;
- EGdbusCallFinishBoolean finish_boolean;
- EGdbusCallFinishString finish_string;
- EGdbusCallFinishStrv finish_strv;
- EGdbusCallFinishUint finish_uint;
- } finish_func;
-
- gboolean finish_result;
-} SyncOpData;
-
-#define SYNC_DATA_HASH_KEY "EGdbusTemplates-SyncOp-Hash"
-static GMutex sync_data_hash_mutex;
-
-static void
-e_gdbus_proxy_sync_ready_cb (GObject *proxy,
- GAsyncResult *result,
- gpointer user_data)
-{
- gint sync_opid = GPOINTER_TO_INT (user_data);
- SyncOpData *sync_data = NULL;
- GHashTable *sync_data_hash;
-
- g_mutex_lock (&sync_data_hash_mutex);
- sync_data_hash = g_object_get_data (proxy, SYNC_DATA_HASH_KEY);
- if (sync_data_hash)
- sync_data = g_hash_table_lookup (sync_data_hash, GINT_TO_POINTER (sync_opid));
- g_mutex_unlock (&sync_data_hash_mutex);
-
- if (!sync_data) {
- /* already finished operation; it can happen when the operation is cancelled,
- * but the result is already waiting in an idle queue.
- */
- return;
- }
-
- g_return_if_fail (sync_data->flag != NULL);
-
- switch (sync_data->out_type) {
- case E_GDBUS_TYPE_VOID:
- g_return_if_fail (sync_data->finish_func.finish_void != NULL);
- sync_data->finish_result = sync_data->finish_func.finish_void (G_DBUS_PROXY (proxy), result, sync_data->error);
- break;
- case E_GDBUS_TYPE_BOOLEAN:
- g_return_if_fail (sync_data->finish_func.finish_boolean != NULL);
- sync_data->finish_result = sync_data->finish_func.finish_boolean (G_DBUS_PROXY (proxy), result, sync_data->out_arg.out_boolean, sync_data->error);
- break;
- case E_GDBUS_TYPE_STRING:
- g_return_if_fail (sync_data->finish_func.finish_string != NULL);
- sync_data->finish_result = sync_data->finish_func.finish_string (G_DBUS_PROXY (proxy), result, sync_data->out_arg.out_string, sync_data->error);
- break;
- case E_GDBUS_TYPE_STRV:
- g_return_if_fail (sync_data->finish_func.finish_strv != NULL);
- sync_data->finish_result = sync_data->finish_func.finish_strv (G_DBUS_PROXY (proxy), result, sync_data->out_arg.out_strv, sync_data->error);
- break;
- case E_GDBUS_TYPE_UINT:
- g_return_if_fail (sync_data->finish_func.finish_uint != NULL);
- sync_data->finish_result = sync_data->finish_func.finish_uint (G_DBUS_PROXY (proxy), result, sync_data->out_arg.out_uint, sync_data->error);
- break;
- default:
- g_warning ("%s: Unknown 'out' E_GDBUS_TYPE %x", G_STRFUNC, sync_data->out_type);
- sync_data->finish_result = FALSE;
- }
-
- e_flag_set (sync_data->flag);
-}
-
-static gboolean
-e_gdbus_proxy_call_sync (GDBusProxy *proxy,
- GCancellable *cancellable,
- GError **error,
- gpointer start_func,
- gpointer finish_func,
- guint in_type,
- gconstpointer in_value,
- guint out_type,
- gpointer out_value)
-{
- static volatile gint sync_op_counter = 0;
- gint sync_opid;
- gpointer sync_opid_ident;
- SyncOpData sync_data = { 0 };
- GHashTable *sync_data_hash;
-
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (start_func != NULL, FALSE);
- g_return_val_if_fail (finish_func != NULL, FALSE);
-
- g_object_ref (proxy);
-
- switch (out_type) {
- case E_GDBUS_TYPE_VOID:
- sync_data.finish_func.finish_void = finish_func;
- break;
- case E_GDBUS_TYPE_BOOLEAN:
- sync_data.out_arg.out_boolean = out_value;
- sync_data.finish_func.finish_boolean = finish_func;
- break;
- case E_GDBUS_TYPE_STRING:
- sync_data.out_arg.out_string = out_value;
- sync_data.finish_func.finish_string = finish_func;
- break;
- case E_GDBUS_TYPE_STRV:
- sync_data.out_arg.out_strv = out_value;
- sync_data.finish_func.finish_strv = finish_func;
- break;
- case E_GDBUS_TYPE_UINT:
- sync_data.out_arg.out_uint = out_value;
- sync_data.finish_func.finish_uint = finish_func;
- break;
- default:
- g_warning ("%s: Unknown 'out' E_GDBUS_TYPE %x", G_STRFUNC, out_type);
- g_object_unref (proxy);
- return FALSE;
- }
-
- sync_data.flag = e_flag_new ();
- sync_data.error = error;
- sync_data.out_type = out_type;
-
- sync_opid = g_atomic_int_add (&sync_op_counter, 1);
-
- g_mutex_lock (&sync_data_hash_mutex);
- sync_data_hash = g_object_get_data (G_OBJECT (proxy), SYNC_DATA_HASH_KEY);
- if (!sync_data_hash) {
- sync_data_hash = g_hash_table_new (g_direct_hash, g_direct_equal);
- g_object_set_data_full (
- G_OBJECT (proxy), SYNC_DATA_HASH_KEY, sync_data_hash,
- (GDestroyNotify) g_hash_table_destroy);
- }
- sync_opid_ident = GINT_TO_POINTER (sync_opid);
- g_hash_table_insert (sync_data_hash, sync_opid_ident, &sync_data);
- g_mutex_unlock (&sync_data_hash_mutex);
-
- switch (in_type) {
- case E_GDBUS_TYPE_VOID: {
- EGdbusCallStartVoid start = start_func;
- start (proxy, cancellable, e_gdbus_proxy_sync_ready_cb, GINT_TO_POINTER (sync_opid));
- } break;
- case E_GDBUS_TYPE_BOOLEAN: {
- EGdbusCallStartBoolean start = start_func;
- start (proxy, * ((gboolean *) in_value), cancellable, e_gdbus_proxy_sync_ready_cb, GINT_TO_POINTER (sync_opid));
- } break;
- case E_GDBUS_TYPE_STRING: {
- EGdbusCallStartString start = start_func;
- start (proxy, (const gchar *) in_value, cancellable, e_gdbus_proxy_sync_ready_cb, GINT_TO_POINTER (sync_opid));
- } break;
- case E_GDBUS_TYPE_STRV: {
- EGdbusCallStartStrv start = start_func;
- start (proxy, (const gchar * const *) in_value, cancellable, e_gdbus_proxy_sync_ready_cb, GINT_TO_POINTER (sync_opid));
- } break;
- case E_GDBUS_TYPE_UINT: {
- EGdbusCallStartUint start = start_func;
- start (proxy, * ((guint *) in_value), cancellable, e_gdbus_proxy_sync_ready_cb, GINT_TO_POINTER (sync_opid));
- } break;
- default:
- g_warning ("%s: Unknown 'in' E_GDBUS_TYPE %x", G_STRFUNC, in_type);
- e_flag_free (sync_data.flag);
- g_mutex_lock (&sync_data_hash_mutex);
- g_hash_table_remove (sync_data_hash, sync_opid_ident);
- g_mutex_unlock (&sync_data_hash_mutex);
- g_object_unref (proxy);
- return FALSE;
- }
-
- /* check if called from the main thread */
- if ((main_thread && main_thread == g_thread_self ()) ||
- (!main_thread && (g_main_context_is_owner (g_main_context_default ())
- || g_main_context_default () == g_main_context_get_thread_default ()
- || !g_main_context_get_thread_default ()))) {
- /* the call to e_gdbus_templates_init_main_thread() wasn't done, but no problem,
- * check if the call was done in the main thread with main loop running,
- * and if so, then remember it
- */
- if (!main_thread && g_main_context_is_owner (g_main_context_default ()))
- e_gdbus_templates_init_main_thread ();
-
- /* Might not be the best thing here, but as the async operation
- * is divided into two-step process, invoking the method and
- * waiting for its "done" signal, then if the sync method is called
- * from the main thread, then there is probably no other option.
- */
- while (!e_flag_is_set (sync_data.flag)) {
- g_usleep (1000);
- g_main_context_iteration (NULL, FALSE);
- }
- } else {
- /* is called in a dedicated thread */
- e_flag_wait (sync_data.flag);
- }
-
- g_mutex_lock (&sync_data_hash_mutex);
- g_hash_table_remove (sync_data_hash, sync_opid_ident);
- g_mutex_unlock (&sync_data_hash_mutex);
-
- e_flag_free (sync_data.flag);
-
- g_object_unref (proxy);
-
- return sync_data.finish_result;
-}
-
-gboolean
-e_gdbus_proxy_call_sync_void__void (GDBusProxy *proxy,
- GCancellable *cancellable,
- GError **error,
- EGdbusCallStartVoid start_func,
- EGdbusCallFinishVoid finish_func)
-{
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (start_func != NULL, FALSE);
- g_return_val_if_fail (finish_func != NULL, FALSE);
-
- return e_gdbus_proxy_call_sync (proxy, cancellable, error, start_func, finish_func, E_GDBUS_TYPE_VOID, NULL, E_GDBUS_TYPE_VOID, NULL);
-}
-
-/**
- * e_gdbus_proxy_call_sync_void__boolean:
- * @proxy:
- * @out_boolean:
- * @cancellable: (allow-none):
- * @error:
- * @start_func: (scope call):
- * @finish_func: (scope call):
- *
- * Returns:
- */
-gboolean
-e_gdbus_proxy_call_sync_void__boolean (GDBusProxy *proxy,
- gboolean *out_boolean,
- GCancellable *cancellable,
- GError **error,
- EGdbusCallStartVoid start_func,
- EGdbusCallFinishBoolean finish_func)
-{
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (start_func != NULL, FALSE);
- g_return_val_if_fail (finish_func != NULL, FALSE);
- g_return_val_if_fail (out_boolean != NULL, FALSE);
-
- return e_gdbus_proxy_call_sync (proxy, cancellable, error, start_func, finish_func, E_GDBUS_TYPE_VOID, NULL, E_GDBUS_TYPE_BOOLEAN, out_boolean);
-}
-
-/**
- * e_gdbus_proxy_call_sync_void__string:
- * @proxy:
- * @out_string:
- * @cancellable: (allow-none):
- * @error:
- * @start_func: (scope call):
- * @finish_func: (scope call):
- *
- * Returns:
- */
-gboolean
-e_gdbus_proxy_call_sync_void__string (GDBusProxy *proxy,
- gchar **out_string,
- GCancellable *cancellable,
- GError **error,
- EGdbusCallStartVoid start_func,
- EGdbusCallFinishString finish_func)
-{
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (start_func != NULL, FALSE);
- g_return_val_if_fail (finish_func != NULL, FALSE);
- g_return_val_if_fail (out_string != NULL, FALSE);
-
- return e_gdbus_proxy_call_sync (proxy, cancellable, error, start_func, finish_func, E_GDBUS_TYPE_VOID, NULL, E_GDBUS_TYPE_STRING, out_string);
-}
-
-/**
- * e_gdbus_proxy_call_sync_void__strv:
- * @proxy:
- * @out_strv:
- * @cancellable: (allow-none):
- * @error:
- * @start_func: (scope call):
- * @finish_func: (scope call):
- *
- * Returns:
- */
-gboolean
-e_gdbus_proxy_call_sync_void__strv (GDBusProxy *proxy,
- gchar ***out_strv,
- GCancellable *cancellable,
- GError **error,
- EGdbusCallStartVoid start_func,
- EGdbusCallFinishStrv finish_func)
-{
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (start_func != NULL, FALSE);
- g_return_val_if_fail (finish_func != NULL, FALSE);
- g_return_val_if_fail (out_strv != NULL, FALSE);
-
- return e_gdbus_proxy_call_sync (proxy, cancellable, error, start_func, finish_func, E_GDBUS_TYPE_VOID, NULL, E_GDBUS_TYPE_STRV, out_strv);
-}
-
-/**
- * e_gdbus_proxy_call_sync_void__uint:
- * @proxy:
- * @out_uint:
- * @cancellable: (allow-none):
- * @error:
- * @start_func: (scope call):
- * @finish_func: (scope call):
- *
- * Returns:
- */
-gboolean
-e_gdbus_proxy_call_sync_void__uint (GDBusProxy *proxy,
- guint *out_uint,
- GCancellable *cancellable,
- GError **error,
- EGdbusCallStartVoid start_func,
- EGdbusCallFinishUint finish_func)
-{
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (start_func != NULL, FALSE);
- g_return_val_if_fail (finish_func != NULL, FALSE);
- g_return_val_if_fail (out_uint != NULL, FALSE);
-
- return e_gdbus_proxy_call_sync (proxy, cancellable, error, start_func, finish_func, E_GDBUS_TYPE_VOID, NULL, E_GDBUS_TYPE_UINT, out_uint);
-}
-
-gboolean
-e_gdbus_proxy_call_sync_boolean__void (GDBusProxy *proxy,
- gboolean in_boolean,
- GCancellable *cancellable,
- GError **error,
- EGdbusCallStartBoolean start_func,
- EGdbusCallFinishVoid finish_func)
-{
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (start_func != NULL, FALSE);
- g_return_val_if_fail (finish_func != NULL, FALSE);
-
- return e_gdbus_proxy_call_sync (proxy, cancellable, error, start_func, finish_func, E_GDBUS_TYPE_BOOLEAN, &in_boolean, E_GDBUS_TYPE_VOID, NULL);
-}
-
-/**
- * e_gdbus_proxy_call_sync_string__void:
- * @proxy:
- * @in_string:
- * @cancellable: (allow-none):
- * @error:
- * @start_func: (scope call):
- * @finish_func: (scope call):
- *
- * Returns:
- */
-gboolean
-e_gdbus_proxy_call_sync_string__void (GDBusProxy *proxy,
- const gchar *in_string,
- GCancellable *cancellable,
- GError **error,
- EGdbusCallStartString start_func,
- EGdbusCallFinishVoid finish_func)
-{
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (start_func != NULL, FALSE);
- g_return_val_if_fail (finish_func != NULL, FALSE);
- g_return_val_if_fail (in_string != NULL, FALSE);
-
- return e_gdbus_proxy_call_sync (proxy, cancellable, error, start_func, finish_func, E_GDBUS_TYPE_STRING, in_string, E_GDBUS_TYPE_VOID, NULL);
-}
-
-gboolean
-e_gdbus_proxy_call_sync_strv__void (GDBusProxy *proxy,
- const gchar * const *in_strv,
- GCancellable *cancellable,
- GError **error,
- EGdbusCallStartStrv start_func,
- EGdbusCallFinishVoid finish_func)
-{
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (start_func != NULL, FALSE);
- g_return_val_if_fail (finish_func != NULL, FALSE);
- g_return_val_if_fail (in_strv != NULL, FALSE);
-
- return e_gdbus_proxy_call_sync (proxy, cancellable, error, start_func, finish_func, E_GDBUS_TYPE_STRV, in_strv, E_GDBUS_TYPE_VOID, NULL);
-}
-
-/**
- * e_gdbus_proxy_call_sync_uint__void:
- * @proxy:
- * @in_uint:
- * @cancellable: (allow-none):
- * @error:
- * @start_func: (scope call):
- * @finish_func: (scope call):
- *
- * Returns:
- */
-gboolean
-e_gdbus_proxy_call_sync_uint__void (GDBusProxy *proxy,
- guint in_uint,
- GCancellable *cancellable,
- GError **error,
- EGdbusCallStartUint start_func,
- EGdbusCallFinishVoid finish_func)
-{
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (start_func != NULL, FALSE);
- g_return_val_if_fail (finish_func != NULL, FALSE);
-
- return e_gdbus_proxy_call_sync (proxy, cancellable, error, start_func, finish_func, E_GDBUS_TYPE_UINT, &in_uint, E_GDBUS_TYPE_VOID, NULL);
-}
-
-gboolean
-e_gdbus_proxy_call_sync_string__string (GDBusProxy *proxy,
- const gchar *in_string,
- gchar **out_string,
- GCancellable *cancellable,
- GError **error,
- EGdbusCallStartString start_func,
- EGdbusCallFinishString finish_func)
-{
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (start_func != NULL, FALSE);
- g_return_val_if_fail (finish_func != NULL, FALSE);
- g_return_val_if_fail (in_string != NULL, FALSE);
- g_return_val_if_fail (out_string != NULL, FALSE);
-
- return e_gdbus_proxy_call_sync (proxy, cancellable, error, start_func, finish_func, E_GDBUS_TYPE_STRING, in_string, E_GDBUS_TYPE_STRING, out_string);
-}
-
-/**
- * e_gdbus_proxy_call_sync_string__strv:
- * @proxy:
- * @in_string:
- * @out_strv: (out):
- * @cancellable: (allow-none):
- * @error:
- * @start_func: (scope call):
- * @finish_func: (scope call):
- *
- * Returns:
- */
-gboolean
-e_gdbus_proxy_call_sync_string__strv (GDBusProxy *proxy,
- const gchar *in_string,
- gchar ***out_strv,
- GCancellable *cancellable,
- GError **error,
- EGdbusCallStartString start_func,
- EGdbusCallFinishStrv finish_func)
-{
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (start_func != NULL, FALSE);
- g_return_val_if_fail (finish_func != NULL, FALSE);
- g_return_val_if_fail (in_string != NULL, FALSE);
- g_return_val_if_fail (out_strv != NULL, FALSE);
-
- return e_gdbus_proxy_call_sync (proxy, cancellable, error, start_func, finish_func, E_GDBUS_TYPE_STRING, in_string, E_GDBUS_TYPE_STRV, out_strv);
-}
-
-gboolean
-e_gdbus_proxy_call_sync_strv__string (GDBusProxy *proxy,
- const gchar * const *in_strv,
- gchar **out_string,
- GCancellable *cancellable,
- GError **error,
- EGdbusCallStartStrv start_func,
- EGdbusCallFinishString finish_func)
-{
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (start_func != NULL, FALSE);
- g_return_val_if_fail (finish_func != NULL, FALSE);
- g_return_val_if_fail (in_strv != NULL, FALSE);
- g_return_val_if_fail (out_string != NULL, FALSE);
-
- return e_gdbus_proxy_call_sync (proxy, cancellable, error, start_func, finish_func, E_GDBUS_TYPE_STRV, in_strv, E_GDBUS_TYPE_STRING, out_string);
-}
-
-/**
- * e_gdbus_proxy_call_sync_strv__strv:
- * @proxy:
- * @in_strv:
- * @out_strv:
- * @cancellable: (allow-none):
- * @error:
- * @start_func: (scope call):
- * @finish_func: (scope call):
- *
- * Returns:
- */
-gboolean
-e_gdbus_proxy_call_sync_strv__strv (GDBusProxy *proxy,
- const gchar * const *in_strv,
- gchar ***out_strv,
- GCancellable *cancellable,
- GError **error,
- EGdbusCallStartStrv start_func,
- EGdbusCallFinishStrv finish_func)
-{
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (start_func != NULL, FALSE);
- g_return_val_if_fail (finish_func != NULL, FALSE);
- g_return_val_if_fail (in_strv != NULL, FALSE);
- g_return_val_if_fail (out_strv != NULL, FALSE);
-
- return e_gdbus_proxy_call_sync (proxy, cancellable, error, start_func, finish_func, E_GDBUS_TYPE_STRV, in_strv, E_GDBUS_TYPE_STRV, out_strv);
-}
-
-static void
-proxy_method_call (const gchar *method_name,
- guint param_type,
- gconstpointer param_value,
- GDBusProxy *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- GVariant *params = NULL;
- GVariant *item;
- GVariantBuilder *builder = NULL;
-
- g_return_if_fail (method_name != NULL);
- g_return_if_fail (proxy != NULL);
- g_return_if_fail (G_IS_DBUS_PROXY (proxy));
- if (param_type != E_GDBUS_TYPE_VOID)
- g_return_if_fail (param_value != NULL);
-
- switch (param_type) {
- case E_GDBUS_TYPE_VOID:
- break;
- case E_GDBUS_TYPE_BOOLEAN:
- builder = g_variant_builder_new (G_VARIANT_TYPE_TUPLE);
- item = g_variant_new_boolean (* ((const gboolean *) param_value));
- g_variant_builder_add_value (builder, item);
- break;
- case E_GDBUS_TYPE_STRING:
- builder = g_variant_builder_new (G_VARIANT_TYPE_TUPLE);
- item = g_variant_new_string ((const gchar *) param_value);
- g_variant_builder_add_value (builder, item);
- break;
- case E_GDBUS_TYPE_STRV:
- builder = g_variant_builder_new (G_VARIANT_TYPE_TUPLE);
- item = g_variant_new_strv ((const gchar * const *) param_value, -1);
- g_variant_builder_add_value (builder, item);
- break;
- case E_GDBUS_TYPE_UINT:
- builder = g_variant_builder_new (G_VARIANT_TYPE_TUPLE);
- item = g_variant_new_uint32 (* ((const guint *) param_value));
- g_variant_builder_add_value (builder, item);
- break;
- default:
- g_warning ("%s: Unknown 'param' E_GDBUS_TYPE %x", G_STRFUNC, param_type);
- return;
- }
-
- if (builder != NULL) {
- params = g_variant_builder_end (builder);
- g_variant_builder_unref (builder);
- }
-
- g_dbus_proxy_call (G_DBUS_PROXY (proxy), method_name, params, G_DBUS_CALL_FLAGS_NONE, e_data_server_util_get_dbus_call_timeout (), cancellable, callback, user_data);
-}
-
-void
-e_gdbus_proxy_method_call_void (const gchar *method_name,
- GDBusProxy *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- proxy_method_call (method_name, E_GDBUS_TYPE_VOID, NULL, proxy, cancellable, callback, user_data);
-}
-
-void
-e_gdbus_proxy_method_call_boolean (const gchar *method_name,
- GDBusProxy *proxy,
- gboolean in_boolean,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- proxy_method_call (method_name, E_GDBUS_TYPE_BOOLEAN, &in_boolean, proxy, cancellable, callback, user_data);
-}
-
-void
-e_gdbus_proxy_method_call_string (const gchar *method_name,
- GDBusProxy *proxy,
- const gchar *in_string,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- proxy_method_call (method_name, E_GDBUS_TYPE_STRING, in_string, proxy, cancellable, callback, user_data);
-}
-
-void
-e_gdbus_proxy_method_call_strv (const gchar *method_name,
- GDBusProxy *proxy,
- const gchar * const *in_strv,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- proxy_method_call (method_name, E_GDBUS_TYPE_STRV, in_strv, proxy, cancellable, callback, user_data);
-}
-
-void
-e_gdbus_proxy_method_call_uint (const gchar *method_name,
- GDBusProxy *proxy,
- guint in_uint,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- proxy_method_call (method_name, E_GDBUS_TYPE_VOID, &in_uint, proxy, cancellable, callback, user_data);
-}
-
-static gboolean
-process_result (const gchar *caller_func_name,
- guint out_type,
- gpointer out_value,
- GVariant *_result)
-{
- if (out_type != E_GDBUS_TYPE_VOID)
- g_return_val_if_fail (out_value != NULL, FALSE);
-
- if (_result == NULL)
- return FALSE;
-
- switch (out_type) {
- case E_GDBUS_TYPE_VOID:
- break;
- case E_GDBUS_TYPE_BOOLEAN:
- g_variant_get (_result, "(b)", (gboolean *) out_value);
- break;
- case E_GDBUS_TYPE_STRING:
- g_variant_get (_result, "(s)", (gchar **) out_value);
- break;
- case E_GDBUS_TYPE_STRV:
- g_variant_get (_result, "(^as)", (gchar ***) out_value);
- break;
- case E_GDBUS_TYPE_UINT:
- g_variant_get (_result, "(u)", (guint *) out_value);
- break;
- default:
- g_warning ("%s: Unknown 'out' E_GDBUS_TYPE %x", caller_func_name ? caller_func_name : G_STRFUNC, out_type);
- break;
- }
-
- g_variant_unref (_result);
-
- return TRUE;
-}
-
-static gboolean
-proxy_method_call_finish (guint out_type,
- gpointer out_param,
- GDBusProxy *proxy,
- GAsyncResult *result,
- GError **error)
-{
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (G_IS_DBUS_PROXY (proxy), FALSE);
- if (out_type != E_GDBUS_TYPE_VOID)
- g_return_val_if_fail (out_param != NULL, FALSE);
-
- return process_result (G_STRFUNC, out_type, out_param, g_dbus_proxy_call_finish (proxy, result, error));
-}
-
-gboolean
-e_gdbus_proxy_method_call_finish_void (GDBusProxy *proxy,
- GAsyncResult *result,
- GError **error)
-{
- return proxy_method_call_finish (E_GDBUS_TYPE_VOID, NULL, proxy, result, error);
-}
-
-gboolean
-e_gdbus_proxy_method_call_finish_boolean (GDBusProxy *proxy,
- GAsyncResult *result,
- gboolean *out_boolean,
- GError **error)
-{
- return proxy_method_call_finish (E_GDBUS_TYPE_BOOLEAN, out_boolean, proxy, result, error);
-}
-
-gboolean
-e_gdbus_proxy_method_call_finish_string (GDBusProxy *proxy,
- GAsyncResult *result,
- gchar **out_string,
- GError **error)
-{
- return proxy_method_call_finish (E_GDBUS_TYPE_STRING, out_string, proxy, result, error);
-}
-
-gboolean
-e_gdbus_proxy_method_call_finish_strv (GDBusProxy *proxy,
- GAsyncResult *result,
- gchar ***out_strv,
- GError **error)
-{
- return proxy_method_call_finish (E_GDBUS_TYPE_STRV, out_strv, proxy, result, error);
-}
-
-gboolean
-e_gdbus_proxy_method_call_finish_uint (GDBusProxy *proxy,
- GAsyncResult *result,
- guint *out_uint,
- GError **error)
-{
- return proxy_method_call_finish (E_GDBUS_TYPE_UINT, out_uint, proxy, result, error);
-}
-
-static gboolean
-proxy_method_call_sync (const gchar *method_name,
- guint in_type,
- gconstpointer in_value,
- guint out_type,
- gpointer out_value,
- GDBusProxy *proxy,
- GCancellable *cancellable,
- GError **error)
-{
- GVariant *params = NULL;
- GVariant *item;
- GVariantBuilder *builder = NULL;
-
- g_return_val_if_fail (method_name != NULL, FALSE);
- g_return_val_if_fail (proxy != NULL, FALSE);
- g_return_val_if_fail (G_IS_DBUS_PROXY (proxy), FALSE);
- if (in_type != E_GDBUS_TYPE_VOID)
- g_return_val_if_fail (in_value != NULL, FALSE);
- if (out_type != E_GDBUS_TYPE_VOID)
- g_return_val_if_fail (out_value != NULL, FALSE);
-
- switch (in_type) {
- case E_GDBUS_TYPE_VOID:
- break;
- case E_GDBUS_TYPE_BOOLEAN:
- builder = g_variant_builder_new (G_VARIANT_TYPE_TUPLE);
- item = g_variant_new_boolean (* ((const gboolean *) in_value));
- g_variant_builder_add_value (builder, item);
- break;
- case E_GDBUS_TYPE_STRING:
- builder = g_variant_builder_new (G_VARIANT_TYPE_TUPLE);
- item = g_variant_new_string ((const gchar *) in_value);
- g_variant_builder_add_value (builder, item);
- break;
- case E_GDBUS_TYPE_STRV:
- builder = g_variant_builder_new (G_VARIANT_TYPE_TUPLE);
- item = g_variant_new_strv ((const gchar * const *) in_value, -1);
- g_variant_builder_add_value (builder, item);
- break;
- case E_GDBUS_TYPE_UINT:
- builder = g_variant_builder_new (G_VARIANT_TYPE_TUPLE);
- item = g_variant_new_uint32 (* ((const guint *) in_value));
- g_variant_builder_add_value (builder, item);
- break;
- default:
- g_warning ("%s: Unknown 'in' E_GDBUS_TYPE %x", G_STRFUNC, in_type);
- return FALSE;
- }
-
- if (builder != NULL) {
- params = g_variant_builder_end (builder);
- g_variant_builder_unref (builder);
- }
-
- return process_result (G_STRFUNC, out_type, out_value, g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), method_name, params, G_DBUS_CALL_FLAGS_NONE, e_data_server_util_get_dbus_call_timeout (), cancellable, error));
-}
-
-/**
- * e_gdbus_proxy_call_sync_void__void:
- * @proxy:
- * @cancellable: (allow-none):
- * @error:
- * @start_func: (scope call):
- * @finish_func: (scope call):
- *
- * Returns:
- */
-gboolean
-e_gdbus_proxy_method_call_sync_void__void (const gchar *method_name,
- GDBusProxy *proxy,
- GCancellable *cancellable,
- GError **error)
-{
- return proxy_method_call_sync (method_name, E_GDBUS_TYPE_VOID, NULL, E_GDBUS_TYPE_VOID, NULL, proxy, cancellable, error);
-}
-
-/**
- * e_gdbus_proxy_call_sync_boolean__void:
- * @proxy:
- * @in_boolean:
- * @cancellable: (allow-none):
- * @error:
- * @start_func: (scope call):
- * @finish_func: (scope call):
- *
- * Returns:
- */
-gboolean
-e_gdbus_proxy_method_call_sync_boolean__void (const gchar *method_name,
- GDBusProxy *proxy,
- gboolean in_boolean,
- GCancellable *cancellable,
- GError **error)
-{
- return proxy_method_call_sync (method_name, E_GDBUS_TYPE_BOOLEAN, &in_boolean, E_GDBUS_TYPE_VOID, NULL, proxy, cancellable, error);
-}
-
-gboolean
-e_gdbus_proxy_method_call_sync_string__void (const gchar *method_name,
- GDBusProxy *proxy,
- const gchar *in_string,
- GCancellable *cancellable,
- GError **error)
-{
- return proxy_method_call_sync (method_name, E_GDBUS_TYPE_STRING, in_string, E_GDBUS_TYPE_VOID, NULL, proxy, cancellable, error);
-}
-
-/**
- * e_gdbus_proxy_call_sync_strv__void:
- * @proxy:
- * @in_strv:
- * @cancellable: (allow-none):
- * @error:
- * @start_func: (scope call):
- * @finish_func: (scope call):
- *
- * Returns:
- */
-gboolean
-e_gdbus_proxy_method_call_sync_strv__void (const gchar *method_name,
- GDBusProxy *proxy,
- const gchar * const *in_strv,
- GCancellable *cancellable,
- GError **error)
-{
- return proxy_method_call_sync (method_name, E_GDBUS_TYPE_STRV, in_strv, E_GDBUS_TYPE_VOID, NULL, proxy, cancellable, error);
-}
-
-gboolean
-e_gdbus_proxy_method_call_sync_uint__void (const gchar *method_name,
- GDBusProxy *proxy,
- guint in_uint,
- GCancellable *cancellable,
- GError **error)
-{
- return proxy_method_call_sync (method_name, E_GDBUS_TYPE_UINT, &in_uint, E_GDBUS_TYPE_VOID, NULL, proxy, cancellable, error);
-}
-
-/**
- * e_gdbus_proxy_call_sync_string__string:
- * @proxy:
- * @in_string:
- * @out_string:
- * @cancellable: (allow-none):
- * @error:
- * @start_func: (scope call):
- * @finish_func: (scope call):
- *
- * Returns:
- */
-gboolean
-e_gdbus_proxy_method_call_sync_string__string (const gchar *method_name,
- GDBusProxy *proxy,
- const gchar *in_string,
- gchar **out_string,
- GCancellable *cancellable,
- GError **error)
-{
- return proxy_method_call_sync (method_name, E_GDBUS_TYPE_STRING, in_string, E_GDBUS_TYPE_STRING, out_string, proxy, cancellable, error);
-}
-
-/**
- * e_gdbus_proxy_call_sync_strv__string:
- * @proxy:
- * @in_strv:
- * @out_string:
- * @cancellable: (allow-none):
- * @error:
- * @start_func: (scope call):
- * @finish_func: (scope call):
- *
- * Returns:
- */
-gboolean
-e_gdbus_proxy_method_call_sync_strv__string (const gchar *method_name,
- GDBusProxy *proxy,
- const gchar * const *in_strv,
- gchar **out_string,
- GCancellable *cancellable,
- GError **error)
-{
- return proxy_method_call_sync (method_name, E_GDBUS_TYPE_STRV, in_strv, E_GDBUS_TYPE_STRING, out_string, proxy, cancellable, error);
-}
-
-/**
- * e_gdbus_templates_encode_error:
- * @in_error: (allow-none):
- *
- * Returns: (transfer full): a %NULL-terminated array of strings; free with
- * g_strfreev()
- */
-gchar **
-e_gdbus_templates_encode_error (const GError *in_error)
-{
- gchar **strv;
-
- strv = g_new0 (gchar *, 3);
-
- if (!in_error) {
- strv[0] = g_strdup ("");
- strv[1] = g_strdup ("");
- } else {
- gchar *dbus_error_name = g_dbus_error_encode_gerror (in_error);
-
- strv[0] = e_util_utf8_make_valid (dbus_error_name ? dbus_error_name : "");
- strv[1] = e_util_utf8_make_valid (in_error->message);
-
- g_free (dbus_error_name);
- }
-
- return strv;
-}
-
-/* free *out_error with g_error_free(), if not NULL */
-gboolean
-e_gdbus_templates_decode_error (const gchar * const *in_strv,
- GError **out_error)
-{
- const gchar *error_name, *error_message;
-
- g_return_val_if_fail (out_error != NULL, FALSE);
-
- *out_error = NULL;
-
- g_return_val_if_fail (in_strv != NULL, FALSE);
- g_return_val_if_fail (in_strv[0] != NULL, FALSE);
- g_return_val_if_fail (in_strv[1] != NULL, FALSE);
- g_return_val_if_fail (in_strv[2] == NULL, FALSE);
-
- error_name = in_strv[0];
- error_message = in_strv[1];
-
- if (error_name && *error_name && error_message)
- *out_error = g_dbus_error_new_for_dbus_error (error_name, error_message);
-
- return TRUE;
-}
-
-/**
- * e_gdbus_templates_encode_two_strings:
- * @in_str1: (allow-none):
- * @in_str2: (allow-none):
- *
- * Returns: (transfer full): a %NULL-terminated array of strings; free with
- * g_strfreev()
- */
-gchar **
-e_gdbus_templates_encode_two_strings (const gchar *in_str1,
- const gchar *in_str2)
-{
- gchar **strv;
-
- strv = g_new0 (gchar *, 3);
- strv[0] = e_util_utf8_make_valid (in_str1 ? in_str1 : "");
- strv[1] = e_util_utf8_make_valid (in_str2 ? in_str2 : "");
- strv[2] = NULL;
-
- return strv;
-}
-
-/* free *out_str1 and *out_str2 with g_free() */
-gboolean
-e_gdbus_templates_decode_two_strings (const gchar * const *in_strv,
- gchar **out_str1,
- gchar **out_str2)
-{
- g_return_val_if_fail (in_strv != NULL, FALSE);
- g_return_val_if_fail (in_strv[0] != NULL, FALSE);
- g_return_val_if_fail (in_strv[1] != NULL, FALSE);
- g_return_val_if_fail (in_strv[2] == NULL, FALSE);
- g_return_val_if_fail (out_str1 != NULL, FALSE);
- g_return_val_if_fail (out_str2 != NULL, FALSE);
-
- *out_str1 = g_strdup (in_strv[0]);
- *out_str2 = g_strdup (in_strv[1]);
-
- return TRUE;
-}
diff --git a/src/libedataserver/e-gdbus-templates.h b/src/libedataserver/e-gdbus-templates.h
deleted file mode 100644
index 1e9801c79..000000000
--- a/src/libedataserver/e-gdbus-templates.h
+++ /dev/null
@@ -1,764 +0,0 @@
-/*
- * e-gdbus-templates.h
- *
- * Copyright (C) 2011 Red Hat, Inc. (www.redhat.com)
- *
- * This library is free software: you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
-#error "Only <libedataserver/libedataserver.h> should be included directly."
-#endif
-
-#ifndef EDS_DISABLE_DEPRECATED
-
-/* Do not generate bindings. */
-#ifndef __GI_SCANNER__
-
-#ifndef E_GDBUS_TEMPLATES_H
-#define E_GDBUS_TEMPLATES_H
-
-#include <gio/gio.h>
-
-G_BEGIN_DECLS
-
-void e_gdbus_templates_init_main_thread (void);
-
-#define E_TYPE_GDBUS_ASYNC_OP_KEEPER (e_gdbus_async_op_keeper_get_type ())
-#define E_GDBUS_ASYNC_OP_KEEPER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TYPE_GDBUS_ASYNC_OP_KEEPER, EGdbusAsyncOpKeeper))
-#define E_IS_GDBUS_ASYNC_OP_KEEPER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TYPE_GDBUS_ASYNC_OP_KEEPER))
-#define E_GDBUS_ASYNC_OP_KEEPER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE((o), E_TYPE_GDBUS_ASYNC_OP_KEEPER, EGdbusAsyncOpKeeperInterface))
-
-typedef struct _EGdbusAsyncOpKeeper EGdbusAsyncOpKeeper; /* Dummy typedef */
-typedef struct _EGdbusAsyncOpKeeperInterface EGdbusAsyncOpKeeperInterface;
-
-struct _EGdbusAsyncOpKeeperInterface
-{
- GTypeInterface parent_iface;
-
- GHashTable * (* get_pending_ops) (EGdbusAsyncOpKeeper *object);
- gboolean (* cancel_op_sync) (EGdbusAsyncOpKeeper *object, guint in_opid, GCancellable *cancellable, GError **error);
-};
-
-GType e_gdbus_async_op_keeper_get_type (void) G_GNUC_CONST;
-
-GHashTable * e_gdbus_async_op_keeper_create_pending_ops (EGdbusAsyncOpKeeper *object);
-GHashTable * e_gdbus_async_op_keeper_get_pending_ops (EGdbusAsyncOpKeeper *object);
-gboolean e_gdbus_async_op_keeper_cancel_op_sync (EGdbusAsyncOpKeeper *object, guint in_opid, GCancellable *cancellable, GError **error);
-
-enum {
- E_GDBUS_TYPE_IS_ASYNC = 1 << 0, /* if set, then OPID and GError precedes to actual parameter */
- E_GDBUS_TYPE_VOID = 1 << 1,
- E_GDBUS_TYPE_BOOLEAN = 1 << 2,
- E_GDBUS_TYPE_STRING = 1 << 3,
- E_GDBUS_TYPE_STRV = 1 << 4,
- E_GDBUS_TYPE_UINT = 1 << 5
-};
-
-/* _where is a target component name, like ' ## _where ## ' or 'cal'
- * _mname is method name, like 'open'
- * _mtype is method type, like 'method_in'
- * _param_name is parameter name, like 'only_if_exists'
- * _param_type is parameter type, as string, like "s"
- * all except _param_type are identificators, not strings
-*/
-#define E_DECLARE_GDBUS_ARG(_where, _mname, _mtype, _param_name, _param_type) \
- static const GDBusArgInfo e_gdbus_ ## _where ## _ ## _mtype ## _mname ## _param_name = \
- { \
- -1, \
- (gchar *) # _param_name, \
- (gchar *) _param_type, \
- (GDBusAnnotationInfo **) NULL, \
- };
-
-#define E_DECLARE_GDBUS_NOTIFY_SIGNAL_0(_where, _sname) \
- static const GDBusSignalInfo e_gdbus_ ## _where ## _signal_ ## _sname = \
- { \
- -1, \
- (gchar *) # _sname, \
- (GDBusArgInfo **) NULL, \
- (GDBusAnnotationInfo **) NULL, \
- };
-
-#define E_DECLARE_GDBUS_NOTIFY_SIGNAL_1(_where, _sname, _p1_name, _p1_type) \
- E_DECLARE_GDBUS_ARG (_where, _sname, signal, _p1_name, _p1_type) \
- \
- static const GDBusArgInfo * const e_gdbus_ ## _where ## _signal_arg_pointers_ ## _sname[] = \
- { \
- &e_gdbus_ ## _where ## _signal ## _sname ## _p1_name, \
- NULL \
- }; \
- \
- static const GDBusSignalInfo e_gdbus_ ## _where ## _signal_ ## _sname = \
- { \
- -1, \
- (gchar *) # _sname, \
- (GDBusArgInfo **) &e_gdbus_ ## _where ## _signal_arg_pointers_ ## _sname, \
- (GDBusAnnotationInfo **) NULL, \
- };
-
-#define E_DECLARE_GDBUS_NOTIFY_SIGNAL_2(_where, _sname, _p1_name, _p1_type, _p2_name, _p2_type) \
- E_DECLARE_GDBUS_ARG (_where, _sname, signal, _p1_name, _p1_type) \
- E_DECLARE_GDBUS_ARG (_where, _sname, signal, _p2_name, _p2_type) \
- \
- static const GDBusArgInfo * const e_gdbus_ ## _where ## _signal_arg_pointers_ ## _sname[] = \
- { \
- &e_gdbus_ ## _where ## _signal ## _sname ## _p1_name, \
- &e_gdbus_ ## _where ## _signal ## _sname ## _p2_name, \
- NULL \
- }; \
- \
- static const GDBusSignalInfo e_gdbus_ ## _where ## _signal_ ## _sname = \
- { \
- -1, \
- (gchar *) # _sname, \
- (GDBusArgInfo **) &e_gdbus_ ## _where ## _signal_arg_pointers_ ## _sname, \
- (GDBusAnnotationInfo **) NULL, \
- };
-
-#define E_DECLARE_GDBUS_ASYNC_DONE_SIGNAL_0(_where, _sname) \
- E_DECLARE_GDBUS_ARG (_where, _sname, signal, opid, "u") \
- E_DECLARE_GDBUS_ARG (_where, _sname, signal, dbus_error_name, "s") \
- E_DECLARE_GDBUS_ARG (_where, _sname, signal, dbus_error_message, "s") \
- \
- static const GDBusArgInfo * const e_gdbus_ ## _where ## _signal_arg_pointers_ ## _sname[] = \
- { \
- &e_gdbus_ ## _where ## _signal ## _sname ## opid, \
- &e_gdbus_ ## _where ## _signal ## _sname ## dbus_error_name, \
- &e_gdbus_ ## _where ## _signal ## _sname ## dbus_error_message, \
- NULL \
- }; \
- \
- static const GDBusSignalInfo e_gdbus_ ## _where ## _signal_ ## _sname = \
- { \
- -1, \
- (gchar *) # _sname, \
- (GDBusArgInfo **) &e_gdbus_ ## _where ## _signal_arg_pointers_ ## _sname, \
- (GDBusAnnotationInfo **) NULL, \
- };
-
-#define E_DECLARE_GDBUS_ASYNC_DONE_SIGNAL_1(_where, _sname, _p1_name, _p1_type) \
- E_DECLARE_GDBUS_ARG (_where, _sname, signal, opid, "u") \
- E_DECLARE_GDBUS_ARG (_where, _sname, signal, dbus_error_name, "s") \
- E_DECLARE_GDBUS_ARG (_where, _sname, signal, dbus_error_message, "s") \
- E_DECLARE_GDBUS_ARG (_where, _sname, signal, _p1_name, _p1_type) \
- \
- static const GDBusArgInfo * const e_gdbus_ ## _where ## _signal_arg_pointers_ ## _sname[] = \
- { \
- &e_gdbus_ ## _where ## _signal ## _sname ## opid, \
- &e_gdbus_ ## _where ## _signal ## _sname ## dbus_error_name, \
- &e_gdbus_ ## _where ## _signal ## _sname ## dbus_error_message, \
- &e_gdbus_ ## _where ## _signal ## _sname ## _p1_name, \
- NULL \
- }; \
- \
- static const GDBusSignalInfo e_gdbus_ ## _where ## _signal_ ## _sname = \
- { \
- -1, \
- (gchar *) # _sname, \
- (GDBusArgInfo **) &e_gdbus_ ## _where ## _signal_arg_pointers_ ## _sname, \
- (GDBusAnnotationInfo **) NULL, \
- };
-
-#define E_DECLARE_GDBUS_SYNC_METHOD_0(_where, _mname) \
- static const GDBusMethodInfo e_gdbus_ ## _where ## _method_ ## _mname = \
- { \
- -1, \
- (gchar *) # _mname, \
- (GDBusArgInfo **) NULL, \
- (GDBusArgInfo **) NULL, \
- (GDBusAnnotationInfo **) NULL, \
- };
-
-#define E_DECLARE_GDBUS_SYNC_METHOD_1(_where, _mname, _p1_name, _p1_type) \
- E_DECLARE_GDBUS_ARG (_where, _mname, method_in, _p1_name, _p1_type) \
- \
- static const GDBusArgInfo * const e_gdbus_ ## _where ## _method_in_arg_pointers_ ## _mname[] = \
- { \
- &e_gdbus_ ## _where ## _method_in ## _mname ## _p1_name, \
- NULL \
- }; \
- \
- static const GDBusMethodInfo e_gdbus_ ## _where ## _method_ ## _mname = \
- { \
- -1, \
- (gchar *) # _mname, \
- (GDBusArgInfo **) &e_gdbus_ ## _where ## _method_in_arg_pointers_ ## _mname, \
- (GDBusArgInfo **) NULL, \
- (GDBusAnnotationInfo **) NULL, \
- };
-
-#define E_DECLARE_GDBUS_SYNC_METHOD_0_WITH_RETURN(_where, _mname, _r1_name, _r1_type) \
- E_DECLARE_GDBUS_ARG (_where, _mname, method_out, _r1_name, _r1_type) \
- \
- static const GDBusArgInfo * const e_gdbus_ ## _where ## _method_out_arg_pointers_ ## _mname[] = \
- { \
- &e_gdbus_ ## _where ## _method_out ## _mname ## _r1_name, \
- NULL \
- }; \
- \
- static const GDBusMethodInfo e_gdbus_ ## _where ## _method_ ## _mname = \
- { \
- -1, \
- (gchar *) # _mname, \
- (GDBusArgInfo **) NULL, \
- (GDBusArgInfo **) &e_gdbus_ ## _where ## _method_out_arg_pointers_ ## _mname, \
- (GDBusAnnotationInfo **) NULL, \
- };
-
-#define E_DECLARE_GDBUS_SYNC_METHOD_1_WITH_RETURN(_where, _mname, _p1_name, _p1_type, _r1_name, _r1_type)\
- E_DECLARE_GDBUS_ARG (_where, _mname, method_in, _p1_name, _p1_type) \
- E_DECLARE_GDBUS_ARG (_where, _mname, method_out, _r1_name, _r1_type) \
- \
- static const GDBusArgInfo * const e_gdbus_ ## _where ## _method_in_arg_pointers_ ## _mname[] = \
- { \
- &e_gdbus_ ## _where ## _method_in ## _mname ## _p1_name, \
- NULL \
- }; \
- \
- static const GDBusArgInfo * const e_gdbus_ ## _where ## _method_out_arg_pointers_ ## _mname[] = \
- { \
- &e_gdbus_ ## _where ## _method_out ## _mname ## _r1_name, \
- NULL \
- }; \
- \
- static const GDBusMethodInfo e_gdbus_ ## _where ## _method_ ## _mname = \
- { \
- -1, \
- (gchar *) # _mname, \
- (GDBusArgInfo **) &e_gdbus_ ## _where ## _method_in_arg_pointers_ ## _mname, \
- (GDBusArgInfo **) &e_gdbus_ ## _where ## _method_out_arg_pointers_ ## _mname, \
- (GDBusAnnotationInfo **) NULL, \
- };
-
-#define E_DECLARE_GDBUS_ASYNC_METHOD_0(_where, _mname) \
- E_DECLARE_GDBUS_ASYNC_DONE_SIGNAL_0 (_where, _mname ## _done) \
- E_DECLARE_GDBUS_ARG (_where, _mname, method_out, opid, "u") \
- \
- static const GDBusArgInfo * const e_gdbus_ ## _where ## _method_out_arg_pointers_ ## _mname[] = \
- { \
- &e_gdbus_ ## _where ## _method_out ## _mname ## opid, \
- NULL \
- }; \
- \
- static const GDBusMethodInfo e_gdbus_ ## _where ## _method_ ## _mname = \
- { \
- -1, \
- (gchar *) # _mname, \
- (GDBusArgInfo **) NULL, \
- (GDBusArgInfo **) &e_gdbus_ ## _where ## _method_out_arg_pointers_ ## _mname, \
- (GDBusAnnotationInfo **) NULL, \
- };
-
-#define E_DECLARE_GDBUS_ASYNC_METHOD_1(_where, _mname, _p1_name, _p1_type) \
- E_DECLARE_GDBUS_ASYNC_DONE_SIGNAL_0 (_where, _mname ## _done) \
- E_DECLARE_GDBUS_ARG (_where, _mname, method_in, _p1_name, _p1_type) \
- E_DECLARE_GDBUS_ARG (_where, _mname, method_out, opid, "u") \
- \
- static const GDBusArgInfo * const e_gdbus_ ## _where ## _method_in_arg_pointers_ ## _mname[] = \
- { \
- &e_gdbus_ ## _where ## _method_in ## _mname ## _p1_name, \
- NULL \
- }; \
- \
- static const GDBusArgInfo * const e_gdbus_ ## _where ## _method_out_arg_pointers_ ## _mname[] = \
- { \
- &e_gdbus_ ## _where ## _method_out ## _mname ## opid, \
- NULL \
- }; \
- \
- static const GDBusMethodInfo e_gdbus_ ## _where ## _method_ ## _mname = \
- { \
- -1, \
- (gchar *) # _mname, \
- (GDBusArgInfo **) &e_gdbus_ ## _where ## _method_in_arg_pointers_ ## _mname, \
- (GDBusArgInfo **) &e_gdbus_ ## _where ## _method_out_arg_pointers_ ## _mname, \
- (GDBusAnnotationInfo **) NULL, \
- };
-
-#define E_DECLARE_GDBUS_ASYNC_METHOD_0_WITH_RETURN(_where, _mname, _r1_name, _r1_type) \
- E_DECLARE_GDBUS_ASYNC_DONE_SIGNAL_1 (_where, _mname ## _done, _r1_name, _r1_type) \
- E_DECLARE_GDBUS_ARG (_where, _mname, method_out, opid, "u") \
- \
- static const GDBusArgInfo * const e_gdbus_ ## _where ## _method_out_arg_pointers_ ## _mname[] = \
- { \
- &e_gdbus_ ## _where ## _method_out ## _mname ## opid, \
- NULL \
- }; \
- \
- static const GDBusMethodInfo e_gdbus_ ## _where ## _method_ ## _mname = \
- { \
- -1, \
- (gchar *) # _mname, \
- (GDBusArgInfo **) NULL, \
- (GDBusArgInfo **) &e_gdbus_ ## _where ## _method_out_arg_pointers_ ## _mname, \
- (GDBusAnnotationInfo **) NULL, \
- };
-
-#define E_DECLARE_GDBUS_ASYNC_METHOD_1_WITH_RETURN(_where, _mname, _p1_name, _p1_type, _r1_name, _r1_type)\
- E_DECLARE_GDBUS_ASYNC_DONE_SIGNAL_1 (_where, _mname ## _done, _r1_name, _r1_type) \
- E_DECLARE_GDBUS_ARG (_where, _mname, method_in, _p1_name, _p1_type) \
- E_DECLARE_GDBUS_ARG (_where, _mname, method_out, opid, "u") \
- \
- static const GDBusArgInfo * const e_gdbus_ ## _where ## _method_in_arg_pointers_ ## _mname[] = \
- { \
- &e_gdbus_ ## _where ## _method_in ## _mname ## _p1_name, \
- NULL \
- }; \
- \
- static const GDBusArgInfo * const e_gdbus_ ## _where ## _method_out_arg_pointers_ ## _mname[] = \
- { \
- &e_gdbus_ ## _where ## _method_out ## _mname ## opid, \
- NULL \
- }; \
- \
- static const GDBusMethodInfo e_gdbus_ ## _where ## _method_ ## _mname = \
- { \
- -1, \
- (gchar *) # _mname, \
- (GDBusArgInfo **) &e_gdbus_ ## _where ## _method_in_arg_pointers_ ## _mname, \
- (GDBusArgInfo **) &e_gdbus_ ## _where ## _method_out_arg_pointers_ ## _mname, \
- (GDBusAnnotationInfo **) NULL, \
- };
-
-#define E_DECLARED_GDBUS_SIGNAL_INFO_NAME(_where, _sname) e_gdbus_ ## _where ## _signal_ ## _sname
-#define E_DECLARED_GDBUS_METHOD_INFO_NAME(_where, _mname) e_gdbus_ ## _where ## _method_ ## _mname
-
-/* this requires signal_emission_hook_cb_ ## _sig_name hook defined,
- * which can be created with one of E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_... macros */
-#define E_INIT_GDBUS_SIGNAL_VOID(_iface_struct, _dbus_sig_name_str, _sig_name_var, _sig_id) \
- signals[_sig_id] = g_signal_new (# _sig_name_var, \
- G_TYPE_FROM_INTERFACE (iface), \
- G_SIGNAL_RUN_LAST, \
- G_STRUCT_OFFSET (_iface_struct, _sig_name_var), \
- NULL, \
- NULL, \
- NULL, \
- G_TYPE_NONE, \
- 0); \
- \
- g_signal_add_emission_hook (signals[_sig_id], 0, signal_emission_hook_cb_ ## _sig_name_var, (gpointer) _dbus_sig_name_str, NULL);\
- g_hash_table_insert (_signal_name_to_id, (gpointer) _dbus_sig_name_str, GUINT_TO_POINTER (_sig_id)); \
- g_hash_table_insert (_signal_name_to_type, (gpointer) _dbus_sig_name_str, GUINT_TO_POINTER (E_GDBUS_TYPE_VOID));
-
-#define E_INIT_GDBUS_SIGNAL_TMPL_TYPED(_mtype, _gtype, _iface_struct, _dbus_sig_name_str, _sig_name_var, _sig_id) \
- signals[_sig_id] = g_signal_new (# _sig_name_var, \
- G_TYPE_FROM_INTERFACE (iface), \
- G_SIGNAL_RUN_LAST, \
- G_STRUCT_OFFSET (_iface_struct, _sig_name_var), \
- NULL, \
- NULL, \
- NULL, \
- G_TYPE_NONE, \
- 1, \
- G_TYPE_ ## _gtype); \
- \
- g_signal_add_emission_hook (signals[_sig_id], 0, signal_emission_hook_cb_ ## _sig_name_var, (gpointer) _dbus_sig_name_str, NULL);\
- g_hash_table_insert (_signal_name_to_id, (gpointer) _dbus_sig_name_str, GUINT_TO_POINTER (_sig_id)); \
- g_hash_table_insert (_signal_name_to_type, (gpointer) _dbus_sig_name_str, GUINT_TO_POINTER (E_GDBUS_TYPE_ ## _gtype));
-
-#define E_INIT_GDBUS_SIGNAL_BOOLEAN(_iface_struct, _dbus_sig_name_str, _sig_name_var, _sig_id) \
- E_INIT_GDBUS_SIGNAL_TMPL_TYPED (BOOLEAN, BOOLEAN, _iface_struct, _dbus_sig_name_str, _sig_name_var, _sig_id)
-
-#define E_INIT_GDBUS_SIGNAL_STRING(_iface_struct, _dbus_sig_name_str, _sig_name_var, _sig_id) \
- E_INIT_GDBUS_SIGNAL_TMPL_TYPED (STRING, STRING, _iface_struct, _dbus_sig_name_str, _sig_name_var, _sig_id)
-
-#define E_INIT_GDBUS_SIGNAL_STRV(_iface_struct, _dbus_sig_name_str, _sig_name_var, _sig_id) \
- E_INIT_GDBUS_SIGNAL_TMPL_TYPED (BOXED, STRV, _iface_struct, _dbus_sig_name_str, _sig_name_var, _sig_id)
-
-#define E_INIT_GDBUS_SIGNAL_UINT(_iface_struct, _dbus_sig_name_str, _sig_name_var, _sig_id) \
- E_INIT_GDBUS_SIGNAL_TMPL_TYPED (UINT, UINT, _iface_struct, _dbus_sig_name_str, _sig_name_var, _sig_id)
-
-#define E_INIT_GDBUS_SIGNAL_UINT_STRING(_iface_struct, _dbus_sig_name_str, _sig_name_var, _sig_id) \
- signals[_sig_id] = g_signal_new (# _sig_name_var, \
- G_TYPE_FROM_INTERFACE (iface), \
- G_SIGNAL_RUN_LAST, \
- G_STRUCT_OFFSET (_iface_struct, _sig_name_var), \
- NULL, \
- NULL, \
- NULL, \
- G_TYPE_NONE, \
- 2, \
- G_TYPE_UINT, G_TYPE_STRING); \
- \
- g_signal_add_emission_hook (signals[_sig_id], 0, signal_emission_hook_cb_ ## _sig_name_var, (gpointer) _dbus_sig_name_str, NULL);\
- g_hash_table_insert (_signal_name_to_id, (gpointer) _dbus_sig_name_str, GUINT_TO_POINTER (_sig_id)); \
- g_hash_table_insert (_signal_name_to_type, (gpointer) _dbus_sig_name_str, GUINT_TO_POINTER (E_GDBUS_TYPE_UINT | E_GDBUS_TYPE_STRING));
-
-#define E_INIT_GDBUS_METHOD_DONE_VOID(_iface_struct, _sig_name_var, _done_sig_id) \
- signals[_done_sig_id] = g_signal_new (# _sig_name_var "_done", \
- G_TYPE_FROM_INTERFACE (iface), \
- G_SIGNAL_RUN_LAST, \
- G_STRUCT_OFFSET (_iface_struct, _sig_name_var ## _done), \
- NULL, \
- NULL, \
- NULL, \
- G_TYPE_NONE, \
- 2, \
- G_TYPE_UINT, G_TYPE_ERROR); \
- g_signal_add_emission_hook (signals[_done_sig_id], 0, \
- signal_emission_hook_cb_ ## _sig_name_var ## _done, (gpointer) # _sig_name_var "_done", NULL); \
- g_hash_table_insert (_signal_name_to_id, (gpointer) # _sig_name_var "_done", GUINT_TO_POINTER (_done_sig_id)); \
- g_hash_table_insert (_signal_name_to_type, (gpointer) # _sig_name_var "_done", GUINT_TO_POINTER (E_GDBUS_TYPE_IS_ASYNC | E_GDBUS_TYPE_VOID));
-
-#define E_INIT_GDBUS_METHOD_DONE_ASYNC_TMPL_TYPED(_mtype, _gtype, _iface_struct, _sig_name_var, _done_sig_id) \
- signals[_done_sig_id] = g_signal_new (# _sig_name_var "_done", \
- G_TYPE_FROM_INTERFACE (iface), \
- G_SIGNAL_RUN_LAST, \
- G_STRUCT_OFFSET (_iface_struct, _sig_name_var ## _done), \
- NULL, \
- NULL, \
- NULL, \
- G_TYPE_NONE, \
- 3, \
- G_TYPE_UINT, G_TYPE_ERROR, G_TYPE_ ## _gtype); \
- g_signal_add_emission_hook (signals[_done_sig_id], 0, \
- signal_emission_hook_cb_ ## _sig_name_var ## _done, (gpointer) # _sig_name_var "_done", NULL); \
- g_hash_table_insert (_signal_name_to_id, (gpointer) # _sig_name_var "_done", GUINT_TO_POINTER (_done_sig_id)); \
- g_hash_table_insert (_signal_name_to_type, (gpointer) # _sig_name_var "_done", GUINT_TO_POINTER (E_GDBUS_TYPE_IS_ASYNC | E_GDBUS_TYPE_ ## _gtype));
-
-#define E_INIT_GDBUS_METHOD_DONE_BOOLEAN(_iface_struct, _sig_name_var, _done_sig_id) \
- E_INIT_GDBUS_METHOD_DONE_ASYNC_TMPL_TYPED (BOOLEAN, BOOLEAN, _iface_struct, _sig_name_var, _done_sig_id)
-
-#define E_INIT_GDBUS_METHOD_DONE_STRING(_iface_struct, _sig_name_var, _done_sig_id) \
- E_INIT_GDBUS_METHOD_DONE_ASYNC_TMPL_TYPED (STRING, STRING, _iface_struct, _sig_name_var, _done_sig_id)
-
-#define E_INIT_GDBUS_METHOD_DONE_STRV(_iface_struct, _sig_name_var, _done_sig_id) \
- E_INIT_GDBUS_METHOD_DONE_ASYNC_TMPL_TYPED (BOXED, STRV, _iface_struct, _sig_name_var, _done_sig_id)
-
-#define E_INIT_GDBUS_METHOD_DONE_UINT(_iface_struct, _sig_name_var, _done_sig_id) \
- E_INIT_GDBUS_METHOD_DONE_ASYNC_TMPL_TYPED (UINT, UINT, _iface_struct, _sig_name_var, _done_sig_id)
-
-/* do not use this directly, there is missing _method_name_to_type insertion */
-#define E_INIT_GDBUS_METHOD_CALL_TMPL_VOID(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- signals[_method_sig_id] = g_signal_new ("handle-" # _sig_name_var, \
- G_TYPE_FROM_INTERFACE (iface), \
- G_SIGNAL_RUN_LAST, \
- G_STRUCT_OFFSET (_iface_struct, handle_ ## _sig_name_var), \
- NULL, NULL, NULL, \
- G_TYPE_BOOLEAN, \
- 1, \
- G_TYPE_DBUS_METHOD_INVOCATION); \
- g_hash_table_insert (_method_name_to_id, (gpointer) _dbus_sig_name_str, GUINT_TO_POINTER (_method_sig_id));
-
-/* do not use this directly, there is missing _method_name_to_type insertion */
-#define E_INIT_GDBUS_METHOD_CALL_TMPL_TYPED(_mtype, _gtype, _iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- signals[_method_sig_id] = g_signal_new ("handle-" # _sig_name_var, \
- G_TYPE_FROM_INTERFACE (iface), \
- G_SIGNAL_RUN_LAST, \
- G_STRUCT_OFFSET (_iface_struct, handle_ ## _sig_name_var), \
- NULL, NULL, NULL, \
- G_TYPE_BOOLEAN, \
- 2, \
- G_TYPE_DBUS_METHOD_INVOCATION, \
- G_TYPE_ ## _gtype); \
- g_hash_table_insert (_method_name_to_id, (gpointer) _dbus_sig_name_str, GUINT_TO_POINTER (_method_sig_id)); \
-
-#define E_INIT_GDBUS_METHOD_CALL_ASYNC_TMPL_TYPED(_mtype, _gtype, _iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_TMPL_TYPED (_mtype, _gtype, _iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- g_hash_table_insert (_method_name_to_type, (gpointer) _dbus_sig_name_str, GUINT_TO_POINTER (E_GDBUS_TYPE_ ## _gtype | E_GDBUS_TYPE_IS_ASYNC));
-
-#define E_INIT_GDBUS_METHOD_VOID(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_TMPL_VOID (_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- g_hash_table_insert (_method_name_to_type, (gpointer) _dbus_sig_name_str, GUINT_TO_POINTER (E_GDBUS_TYPE_VOID));
-
-#define E_INIT_GDBUS_METHOD_BOOLEAN(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_TMPL_TYPED (BOOLEAN, BOOLEAN, _iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id)\
- g_hash_table_insert (_method_name_to_type, (gpointer) _dbus_sig_name_str, GUINT_TO_POINTER (E_GDBUS_TYPE_BOOLEAN));
-
-#define E_INIT_GDBUS_METHOD_STRING(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_TMPL_TYPED (STRING, STRING, _iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- g_hash_table_insert (_method_name_to_type, (gpointer) _dbus_sig_name_str, GUINT_TO_POINTER (E_GDBUS_TYPE_STRING));
-
-#define E_INIT_GDBUS_METHOD_STRV(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_TMPL_TYPED (BOXED, STRV, _iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- g_hash_table_insert (_method_name_to_type, (gpointer) _dbus_sig_name_str, GUINT_TO_POINTER (E_GDBUS_TYPE_STRV));
-
-#define E_INIT_GDBUS_METHOD_UINT(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_TMPL_TYPED (UINT, UINT, _iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- g_hash_table_insert (_method_name_to_type, (gpointer) _dbus_sig_name_str, GUINT_TO_POINTER (E_GDBUS_TYPE_UINT));
-
-#define E_INIT_GDBUS_METHOD_CALL_VOID(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_TMPL_VOID (_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- g_hash_table_insert (_method_name_to_type, (gpointer) _dbus_sig_name_str, GUINT_TO_POINTER (E_GDBUS_TYPE_VOID | E_GDBUS_TYPE_IS_ASYNC));
-
-#define E_INIT_GDBUS_METHOD_CALL_BOOLEAN(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_ASYNC_TMPL_TYPED (BOOLEAN, BOOLEAN, _iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id)
-
-#define E_INIT_GDBUS_METHOD_CALL_STRING(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_ASYNC_TMPL_TYPED (STRING, STRING, _iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id)
-
-#define E_INIT_GDBUS_METHOD_CALL_STRV(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_ASYNC_TMPL_TYPED (BOXED, STRV, _iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id)
-
-#define E_INIT_GDBUS_METHOD_CALL_UINT(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_ASYNC_TMPL_TYPED (UINT, UINT, _iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id)
-
-#define E_INIT_GDBUS_METHOD_ASYNC_VOID__VOID(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id, _done_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_VOID (_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_DONE_VOID (_iface_struct, _sig_name_var, _done_sig_id)
-
-#define E_INIT_GDBUS_METHOD_ASYNC_VOID__STRING(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id, _done_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_VOID (_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_DONE_STRING (_iface_struct, _sig_name_var, _done_sig_id)
-
-#define E_INIT_GDBUS_METHOD_ASYNC_VOID__STRV(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id, _done_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_VOID (_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_DONE_STRV (_iface_struct, _sig_name_var, _done_sig_id)
-
-#define E_INIT_GDBUS_METHOD_ASYNC_BOOLEAN__VOID(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id, _done_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_BOOLEAN (_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_DONE_VOID (_iface_struct, _sig_name_var, _done_sig_id)
-
-#define E_INIT_GDBUS_METHOD_ASYNC_UINT__VOID(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id, _done_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_UINT (_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_DONE_VOID (_iface_struct, _sig_name_var, _done_sig_id)
-
-#define E_INIT_GDBUS_METHOD_ASYNC_STRING__VOID(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id, _done_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_STRING (_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_DONE_VOID (_iface_struct, _sig_name_var, _done_sig_id)
-
-#define E_INIT_GDBUS_METHOD_ASYNC_STRV__VOID(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id, _done_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_STRV (_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_DONE_VOID (_iface_struct, _sig_name_var, _done_sig_id)
-
-#define E_INIT_GDBUS_METHOD_ASYNC_STRING__STRING(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id, _done_sig_id)\
- E_INIT_GDBUS_METHOD_CALL_STRING (_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_DONE_STRING (_iface_struct, _sig_name_var, _done_sig_id)
-
-#define E_INIT_GDBUS_METHOD_ASYNC_STRING__STRV(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id, _done_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_STRING (_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_DONE_STRV (_iface_struct, _sig_name_var, _done_sig_id)
-
-#define E_INIT_GDBUS_METHOD_ASYNC_STRV__STRING(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id, _done_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_STRV (_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_DONE_STRING (_iface_struct, _sig_name_var, _done_sig_id)
-
-#define E_INIT_GDBUS_METHOD_ASYNC_STRV__STRV(_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id, _done_sig_id) \
- E_INIT_GDBUS_METHOD_CALL_STRV (_iface_struct, _dbus_sig_name_str, _sig_name_var, _method_sig_id) \
- E_INIT_GDBUS_METHOD_DONE_STRV (_iface_struct, _sig_name_var, _done_sig_id)
-
-#define E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_VOID(_iface_name, _sig_name) \
- static gboolean \
- signal_emission_hook_cb_ ## _sig_name (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, gpointer user_data) \
- { \
- return e_gdbus_signal_emission_hook_void (ihint, n_param_values, param_values, user_data, _iface_name); \
- }
-
-#define E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_BOOLEAN(_iface_name, _sig_name) \
- static gboolean \
- signal_emission_hook_cb_ ## _sig_name (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, gpointer user_data) \
- { \
- return e_gdbus_signal_emission_hook_boolean (ihint, n_param_values, param_values, user_data, _iface_name); \
- }
-
-#define E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_STRING(_iface_name, _sig_name) \
- static gboolean \
- signal_emission_hook_cb_ ## _sig_name (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, gpointer user_data) \
- { \
- return e_gdbus_signal_emission_hook_string (ihint, n_param_values, param_values, user_data, _iface_name); \
- }
-
-#define E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_STRV(_iface_name, _sig_name) \
- static gboolean \
- signal_emission_hook_cb_ ## _sig_name (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, gpointer user_data) \
- { \
- return e_gdbus_signal_emission_hook_strv (ihint, n_param_values, param_values, user_data, _iface_name); \
- }
-
-#define E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_UINT(_iface_name, _sig_name) \
- static gboolean \
- signal_emission_hook_cb_ ## _sig_name (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, gpointer user_data) \
- { \
- return e_gdbus_signal_emission_hook_uint (ihint, n_param_values, param_values, user_data, _iface_name); \
- }
-
-#define E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_UINT_STRING(_iface_name, _sig_name) \
- static gboolean \
- signal_emission_hook_cb_ ## _sig_name (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, gpointer user_data) \
- { \
- return e_gdbus_signal_emission_hook_uint_string (ihint, n_param_values, param_values, user_data, _iface_name); \
- }
-
-#define E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_ASYNC_VOID(_iface_name, _sig_name) \
- static gboolean \
- signal_emission_hook_cb_ ## _sig_name (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, gpointer user_data) \
- { \
- return e_gdbus_signal_emission_hook_async_void (ihint, n_param_values, param_values, user_data, _iface_name); \
- }
-
-#define E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_ASYNC_BOOLEAN(_iface_name, _sig_name) \
- static gboolean \
- signal_emission_hook_cb_ ## _sig_name (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, gpointer user_data) \
- { \
- return e_gdbus_signal_emission_hook_async_boolean (ihint, n_param_values, param_values, user_data, _iface_name); \
- }
-
-#define E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_ASYNC_STRING(_iface_name, _sig_name) \
- static gboolean \
- signal_emission_hook_cb_ ## _sig_name (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, gpointer user_data) \
- { \
- return e_gdbus_signal_emission_hook_async_string (ihint, n_param_values, param_values, user_data, _iface_name); \
- }
-
-#define E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_ASYNC_STRV(_iface_name, _sig_name) \
- static gboolean \
- signal_emission_hook_cb_ ## _sig_name (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, gpointer user_data) \
- { \
- return e_gdbus_signal_emission_hook_async_strv (ihint, n_param_values, param_values, user_data, _iface_name); \
- }
-
-#define E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_ASYNC_UINT(_iface_name, _sig_name) \
- static gboolean \
- signal_emission_hook_cb_ ## _sig_name (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, gpointer user_data) \
- { \
- return e_gdbus_signal_emission_hook_async_uint (ihint, n_param_values, param_values, user_data, _iface_name); \
- }
-
-#define E_DECLARE_GDBUS_METHOD_DONE_EMISSION_HOOK_ASYNC_VOID(_iface_name, _sig_name) \
- E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_ASYNC_VOID (_iface_name, _sig_name ## _done)
-
-#define E_DECLARE_GDBUS_METHOD_DONE_EMISSION_HOOK_ASYNC_BOOLEAN(_iface_name, _sig_name) \
- E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_ASYNC_BOOLEAN (_iface_name, _sig_name ## _done)
-
-#define E_DECLARE_GDBUS_METHOD_DONE_EMISSION_HOOK_ASYNC_STRING(_iface_name, _sig_name) \
- E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_ASYNC_STRING (_iface_name, _sig_name ## _done)
-
-#define E_DECLARE_GDBUS_METHOD_DONE_EMISSION_HOOK_ASYNC_STRV(_iface_name, _sig_name) \
- E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_ASYNC_STRV (_iface_name, _sig_name ## _done)
-
-#define E_DECLARE_GDBUS_METHOD_DONE_EMISSION_HOOK_ASYNC_UINT(_iface_name, _sig_name) \
- E_DECLARE_GDBUS_SIGNAL_EMISSION_HOOK_ASYNC_UINT (_iface_name, _sig_name ## _done)
-
-#define E_GDBUS_CONNECT_METHOD_DONE_SIGNAL_VOID(_sig_name) \
- g_signal_connect (proxy, # _sig_name "_done", G_CALLBACK (e_gdbus_proxy_async_method_done_void), NULL);
-
-#define E_GDBUS_CONNECT_METHOD_DONE_SIGNAL_BOOLEAN(_sig_name) \
- g_signal_connect (proxy, # _sig_name "_done", G_CALLBACK (e_gdbus_proxy_async_method_done_boolean), NULL);
-
-#define E_GDBUS_CONNECT_METHOD_DONE_SIGNAL_STRING(_sig_name) \
- g_signal_connect (proxy, # _sig_name "_done", G_CALLBACK (e_gdbus_proxy_async_method_done_string), NULL);
-
-#define E_GDBUS_CONNECT_METHOD_DONE_SIGNAL_STRV(_sig_name) \
- g_signal_connect (proxy, # _sig_name "_done", G_CALLBACK (e_gdbus_proxy_async_method_done_strv), NULL);
-
-#define E_GDBUS_CONNECT_METHOD_DONE_SIGNAL_UINT(_sig_name) \
- g_signal_connect (proxy, # _sig_name "_done", G_CALLBACK (e_gdbus_proxy_async_method_done_uint), NULL);
-
-void e_gdbus_proxy_emit_signal (GDBusProxy *proxy, GVariant *parameters, guint signal_id, guint signal_type);
-void e_gdbus_stub_handle_method_call (GObject *stub_object, GDBusMethodInvocation *invocation, GVariant *parameters, const gchar *method_name, guint method_id, guint method_type);
-
-gboolean e_gdbus_signal_emission_hook_void (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, const gchar *signal_name, const gchar *iface_name);
-gboolean e_gdbus_signal_emission_hook_boolean (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, const gchar *signal_name, const gchar *iface_name);
-gboolean e_gdbus_signal_emission_hook_string (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, const gchar *signal_name, const gchar *iface_name);
-gboolean e_gdbus_signal_emission_hook_strv (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, const gchar *signal_name, const gchar *iface_name);
-gboolean e_gdbus_signal_emission_hook_uint (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, const gchar *signal_name, const gchar *iface_name);
-gboolean e_gdbus_signal_emission_hook_uint_string (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, const gchar *signal_name, const gchar *iface_name);
-
-gboolean e_gdbus_signal_emission_hook_async_void (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, const gchar *signal_name, const gchar *iface_name);
-gboolean e_gdbus_signal_emission_hook_async_boolean (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, const gchar *signal_name, const gchar *iface_name);
-gboolean e_gdbus_signal_emission_hook_async_string (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, const gchar *signal_name, const gchar *iface_name);
-gboolean e_gdbus_signal_emission_hook_async_strv (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, const gchar *signal_name, const gchar *iface_name);
-gboolean e_gdbus_signal_emission_hook_async_uint (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, const gchar *signal_name, const gchar *iface_name);
-
-/* GDBus calls method completion functions; after the 'async' method is expected associated done signal */
-void e_gdbus_complete_async_method (gpointer object, GDBusMethodInvocation *invocation, guint opid);
-void e_gdbus_complete_sync_method_void (gpointer object, GDBusMethodInvocation *invocation, const GError *error);
-void e_gdbus_complete_sync_method_boolean (gpointer object, GDBusMethodInvocation *invocation, gboolean out_boolean, const GError *error);
-void e_gdbus_complete_sync_method_string (gpointer object, GDBusMethodInvocation *invocation, const gchar *out_string, const GError *error);
-void e_gdbus_complete_sync_method_strv (gpointer object, GDBusMethodInvocation *invocation, const gchar * const *out_strv, const GError *error);
-void e_gdbus_complete_sync_method_uint (gpointer object, GDBusMethodInvocation *invocation, guint out_uint, const GError *error);
-
-/* callbacks on done signal handlers in the client proxy, which implements EGdbusAsyncOpKeeper interface;
- * functions take ownership of out parameters and are responsible for their freeing */
-void e_gdbus_proxy_async_method_done_void (EGdbusAsyncOpKeeper *proxy, guint arg_opid, const GError *error);
-void e_gdbus_proxy_async_method_done_boolean (EGdbusAsyncOpKeeper *proxy, guint arg_opid, const GError *error, gboolean out_boolean);
-void e_gdbus_proxy_async_method_done_string (EGdbusAsyncOpKeeper *proxy, guint arg_opid, const GError *error, const gchar *out_string);
-void e_gdbus_proxy_async_method_done_strv (EGdbusAsyncOpKeeper *proxy, guint arg_opid, const GError *error, const gchar * const *out_strv);
-void e_gdbus_proxy_async_method_done_uint (EGdbusAsyncOpKeeper *proxy, guint arg_opid, const GError *error, guint out_uint);
-
-void e_gdbus_proxy_call_void (const gchar *method_name, gpointer source_tag, EGdbusAsyncOpKeeper *proxy, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-void e_gdbus_proxy_call_boolean (const gchar *method_name, gpointer source_tag, EGdbusAsyncOpKeeper *proxy, gboolean in_boolean, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-void e_gdbus_proxy_call_string (const gchar *method_name, gpointer source_tag, EGdbusAsyncOpKeeper *proxy, const gchar *in_string, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-void e_gdbus_proxy_call_strv (const gchar *method_name, gpointer source_tag, EGdbusAsyncOpKeeper *proxy, const gchar * const *in_strv, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-void e_gdbus_proxy_call_uint (const gchar *method_name, gpointer source_tag, EGdbusAsyncOpKeeper *proxy, guint in_uint, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-
-gboolean e_gdbus_proxy_finish_call_void (EGdbusAsyncOpKeeper *proxy, GAsyncResult *result, GError **error, gpointer source_tag);
-gboolean e_gdbus_proxy_finish_call_boolean (EGdbusAsyncOpKeeper *proxy, GAsyncResult *result, gboolean *out_boolean, GError **error, gpointer source_tag);
-gboolean e_gdbus_proxy_finish_call_string (EGdbusAsyncOpKeeper *proxy, GAsyncResult *result, gchar **out_string, GError **error, gpointer source_tag);
-gboolean e_gdbus_proxy_finish_call_strv (EGdbusAsyncOpKeeper *proxy, GAsyncResult *result, gchar ***out_strv, GError **error, gpointer source_tag);
-gboolean e_gdbus_proxy_finish_call_uint (EGdbusAsyncOpKeeper *proxy, GAsyncResult *result, guint *out_uint, GError **error, gpointer source_tag);
-
-typedef void (* EGdbusCallStartVoid) (GDBusProxy *proxy, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-typedef void (* EGdbusCallStartBoolean) (GDBusProxy *proxy, gboolean in_boolean, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-typedef void (* EGdbusCallStartString) (GDBusProxy *proxy, const gchar *in_string, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-typedef void (* EGdbusCallStartStrv) (GDBusProxy *proxy, const gchar * const *in_strv, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-typedef void (* EGdbusCallStartUint) (GDBusProxy *proxy, guint in_uint, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-
-typedef gboolean (* EGdbusCallFinishVoid) (GDBusProxy *proxy, GAsyncResult *result, GError **error);
-typedef gboolean (* EGdbusCallFinishBoolean) (GDBusProxy *proxy, GAsyncResult *result, gboolean *out_boolean, GError **error);
-typedef gboolean (* EGdbusCallFinishString) (GDBusProxy *proxy, GAsyncResult *result, gchar **out_string, GError **error);
-typedef gboolean (* EGdbusCallFinishStrv) (GDBusProxy *proxy, GAsyncResult *result, gchar ***out_strv, GError **error);
-typedef gboolean (* EGdbusCallFinishUint) (GDBusProxy *proxy, GAsyncResult *result, guint *out_uint, GError **error);
-
-/* this is for methods which are dividied into invocation and done signal */
-gboolean e_gdbus_proxy_call_sync_void__void (GDBusProxy *proxy, GCancellable *cancellable, GError **error, EGdbusCallStartVoid start_func, EGdbusCallFinishVoid finish_func);
-gboolean e_gdbus_proxy_call_sync_void__boolean (GDBusProxy *proxy, gboolean *out_boolean, GCancellable *cancellable, GError **error, EGdbusCallStartVoid start_func, EGdbusCallFinishBoolean finish_func);
-gboolean e_gdbus_proxy_call_sync_void__string (GDBusProxy *proxy, gchar **out_string, GCancellable *cancellable, GError **error, EGdbusCallStartVoid start_func, EGdbusCallFinishString finish_func);
-gboolean e_gdbus_proxy_call_sync_void__strv (GDBusProxy *proxy, gchar ***out_strv, GCancellable *cancellable, GError **error, EGdbusCallStartVoid start_func, EGdbusCallFinishStrv finish_func);
-gboolean e_gdbus_proxy_call_sync_void__uint (GDBusProxy *proxy, guint *out_uint, GCancellable *cancellable, GError **error, EGdbusCallStartVoid start_func, EGdbusCallFinishUint finish_func);
-gboolean e_gdbus_proxy_call_sync_boolean__void (GDBusProxy *proxy, gboolean in_boolean, GCancellable *cancellable, GError **error, EGdbusCallStartBoolean start_func, EGdbusCallFinishVoid finish_func);
-gboolean e_gdbus_proxy_call_sync_string__void (GDBusProxy *proxy, const gchar *in_string, GCancellable *cancellable, GError **error, EGdbusCallStartString start_func, EGdbusCallFinishVoid finish_func);
-gboolean e_gdbus_proxy_call_sync_strv__void (GDBusProxy *proxy, const gchar * const *in_strv, GCancellable *cancellable, GError **error, EGdbusCallStartStrv start_func, EGdbusCallFinishVoid finish_func);
-gboolean e_gdbus_proxy_call_sync_uint__void (GDBusProxy *proxy, guint in_uint, GCancellable *cancellable, GError **error, EGdbusCallStartUint start_func, EGdbusCallFinishVoid finish_func);
-gboolean e_gdbus_proxy_call_sync_string__string (GDBusProxy *proxy, const gchar *in_string, gchar **out_string, GCancellable *cancellable, GError **error, EGdbusCallStartString start_func, EGdbusCallFinishString finish_func);
-gboolean e_gdbus_proxy_call_sync_string__strv (GDBusProxy *proxy, const gchar *in_string, gchar ***out_strv, GCancellable *cancellable, GError **error, EGdbusCallStartString start_func, EGdbusCallFinishStrv finish_func);
-gboolean e_gdbus_proxy_call_sync_strv__string (GDBusProxy *proxy, const gchar * const *in_strv, gchar **out_string, GCancellable *cancellable, GError **error, EGdbusCallStartStrv start_func, EGdbusCallFinishString finish_func);
-gboolean e_gdbus_proxy_call_sync_strv__strv (GDBusProxy *proxy, const gchar * const *in_strv, gchar ***out_strv, GCancellable *cancellable, GError **error, EGdbusCallStartStrv start_func, EGdbusCallFinishStrv finish_func);
-
-/* this is for "synchronous" methods, those without done signal */
-void e_gdbus_proxy_method_call_void (const gchar *method_name, GDBusProxy *proxy, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-void e_gdbus_proxy_method_call_boolean (const gchar *method_name, GDBusProxy *proxy, gboolean in_boolean, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-void e_gdbus_proxy_method_call_string (const gchar *method_name, GDBusProxy *proxy, const gchar *in_string, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-void e_gdbus_proxy_method_call_strv (const gchar *method_name, GDBusProxy *proxy, const gchar * const *in_strv, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-void e_gdbus_proxy_method_call_uint (const gchar *method_name, GDBusProxy *proxy, guint in_uint, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-
-gboolean e_gdbus_proxy_method_call_finish_void (GDBusProxy *proxy, GAsyncResult *result, GError **error);
-gboolean e_gdbus_proxy_method_call_finish_boolean (GDBusProxy *proxy, GAsyncResult *result, gboolean *out_boolean, GError **error);
-gboolean e_gdbus_proxy_method_call_finish_string (GDBusProxy *proxy, GAsyncResult *result, gchar **out_string, GError **error);
-gboolean e_gdbus_proxy_method_call_finish_strv (GDBusProxy *proxy, GAsyncResult *result, gchar ***out_strv, GError **error);
-gboolean e_gdbus_proxy_method_call_finish_uint (GDBusProxy *proxy, GAsyncResult *result, guint *out_uint, GError **error);
-
-gboolean e_gdbus_proxy_method_call_sync_void__void (const gchar *method_name, GDBusProxy *proxy, GCancellable *cancellable, GError **error);
-gboolean e_gdbus_proxy_method_call_sync_boolean__void (const gchar *method_name, GDBusProxy *proxy, gboolean in_boolean, GCancellable *cancellable, GError **error);
-gboolean e_gdbus_proxy_method_call_sync_string__void (const gchar *method_name, GDBusProxy *proxy, const gchar *in_string, GCancellable *cancellable, GError **error);
-gboolean e_gdbus_proxy_method_call_sync_strv__void (const gchar *method_name, GDBusProxy *proxy, const gchar * const *in_strv, GCancellable *cancellable, GError **error);
-gboolean e_gdbus_proxy_method_call_sync_uint__void (const gchar *method_name, GDBusProxy *proxy, guint in_uint, GCancellable *cancellable, GError **error);
-gboolean e_gdbus_proxy_method_call_sync_string__string (const gchar *method_name, GDBusProxy *proxy, const gchar *in_string, gchar **out_string, GCancellable *cancellable, GError **error);
-gboolean e_gdbus_proxy_method_call_sync_strv__string (const gchar *method_name, GDBusProxy *proxy, const gchar * const *in_strv, gchar **out_string, GCancellable *cancellable, GError **error);
-
-gchar ** e_gdbus_templates_encode_error (const GError *in_error);
-gboolean e_gdbus_templates_decode_error (const gchar * const *in_strv, GError **out_error);
-
-gchar ** e_gdbus_templates_encode_two_strings (const gchar *in_str1, const gchar *in_str2);
-gboolean e_gdbus_templates_decode_two_strings (const gchar * const *in_strv, gchar **out_str1, gchar **out_str2);
-
-G_END_DECLS
-
-#endif /* E_GDBUS_TEMPLATES_H */
-
-#endif /* __GI_SCANNER__ */
-
-#endif /* EDS_DISABLE_DEPRECATED */
-
diff --git a/src/libedataserver/libedataserver.h b/src/libedataserver/libedataserver.h
index 3f0b49279..8b19ef572 100644
--- a/src/libedataserver/libedataserver.h
+++ b/src/libedataserver/libedataserver.h
@@ -32,7 +32,6 @@
#include <libedataserver/e-flag.h>
#include <libedataserver/e-free-form-exp.h>
#include <libedataserver/e-gdata-oauth2-authorizer.h>
-#include <libedataserver/e-gdbus-templates.h>
#include <libedataserver/e-iterator.h>
#include <libedataserver/e-list-iterator.h>
#include <libedataserver/e-list.h>
diff --git a/src/private/CMakeLists.txt b/src/private/CMakeLists.txt
index 401acf2c6..c2de59bba 100644
--- a/src/private/CMakeLists.txt
+++ b/src/private/CMakeLists.txt
@@ -88,6 +88,18 @@ gdbus_codegen(org.gnome.evolution.dataserver.AddressBookCursor.xml
e-dbus-address-book-cursor
GENERATED_DBUS_ADDRESS_BOOK_CURSOR)
+set(GENERATED_DBUS_ADDRESS_BOOK_VIEW
+ e-dbus-address-book-view.c
+ e-dbus-address-book-view.h
+ e-dbus-address-book-view-org.gnome.evolution.dataserver.AddressBookView.xml
+)
+
+gdbus_codegen(org.gnome.evolution.dataserver.AddressBookView.xml
+ org.gnome.evolution.dataserver.
+ E_DBus
+ e-dbus-address-book-view
+ GENERATED_DBUS_ADDRESS_BOOK_VIEW)
+
set(GENERATED_DBUS_DIRECT_BOOK
e-dbus-direct-book.c
e-dbus-direct-book.h
@@ -136,6 +148,18 @@ gdbus_codegen(org.gnome.evolution.dataserver.CalendarFactory.xml
e-dbus-calendar-factory
GENERATED_DBUS_CALENDAR_FACTORY)
+set(GENERATED_DBUS_CALENDAR_VIEW
+ e-dbus-calendar-view.c
+ e-dbus-calendar-view.h
+ e-dbus-calendar-view-org.gnome.evolution.dataserver.CalendarView.xml
+)
+
+gdbus_codegen(org.gnome.evolution.dataserver.CalendarView.xml
+ org.gnome.evolution.dataserver.
+ E_DBus
+ e-dbus-calendar-view
+ GENERATED_DBUS_CALENDAR_VIEW)
+
set(GENERATED_DBUS_SUBPROCESS_BACKEND
e-dbus-subprocess-backend.c
e-dbus-subprocess-backend.h
@@ -156,10 +180,12 @@ add_library(edbus-private SHARED
${GENERATED_DBUS_AUTHENTICATOR}
${GENERATED_DBUS_ADDRESS_BOOK}
${GENERATED_DBUS_ADDRESS_BOOK_CURSOR}
+ ${GENERATED_DBUS_ADDRESS_BOOK_VIEW}
${GENERATED_DBUS_DIRECT_BOOK}
${GENERATED_DBUS_ADDRESS_BOOK_FACTORY}
${GENERATED_DBUS_CALENDAR}
${GENERATED_DBUS_CALENDAR_FACTORY}
+ ${GENERATED_DBUS_CALENDAR_VIEW}
${GENERATED_DBUS_USER_PROMPTER}
${GENERATED_DBUS_SUBPROCESS_BACKEND}
)
diff --git a/src/private/org.gnome.evolution.dataserver.AddressBookView.xml b/src/private/org.gnome.evolution.dataserver.AddressBookView.xml
new file mode 100644
index 000000000..bf481a464
--- /dev/null
+++ b/src/private/org.gnome.evolution.dataserver.AddressBookView.xml
@@ -0,0 +1,51 @@
+<!DOCTYPE node PUBLIC
+"-//freedesktop//DTD D-Bus Object Introspection 1.0//EN"
+"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+
+<!--
+ org.gnome.evolution.dataserver.AddressBookView:
+ @short_description: Address book view
+ @since: 3.32
+
+ This interface allows for interaction with an address book view.
+-->
+<interface name="org.gnome.evolution.dataserver.AddressBookView">
+
+ <signal name="ObjectsAdded">
+ <arg name="objects" type="as"/>
+ </signal>
+
+ <signal name="ObjectsModified">
+ <arg name="objects" type="as"/>
+ </signal>
+
+ <signal name="ObjectsRemoved">
+ <arg name="uids" type="as"/>
+ </signal>
+
+ <signal name="Progress">
+ <arg name="percent" type="u"/>
+ <arg name="message" type="s"/>
+ </signal>
+
+ <signal name="Complete">
+ <arg name="error_name" type="s"/>
+ <arg name="error_message" type="s"/>
+ </signal>
+
+ <method name="Start"/>
+
+ <method name="Stop"/>
+
+ <method name="SetFlags">
+ <arg name="flags" type="u"/>
+ </method>
+
+ <method name="SetFieldsOfInterest">
+ <arg name="only_fields" direction="in" type="as"/>
+ </method>
+
+ <method name="Dispose"/>
+
+</interface>
diff --git a/src/private/org.gnome.evolution.dataserver.CalendarView.xml b/src/private/org.gnome.evolution.dataserver.CalendarView.xml
new file mode 100644
index 000000000..805902938
--- /dev/null
+++ b/src/private/org.gnome.evolution.dataserver.CalendarView.xml
@@ -0,0 +1,51 @@
+<!DOCTYPE node PUBLIC
+"-//freedesktop//DTD D-Bus Object Introspection 1.0//EN"
+"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+
+<!--
+ org.gnome.evolution.dataserver.CalendarView:
+ @short_description: Calendar view
+ @since: 3.32
+
+ This interface allows for interaction with a calendar view.
+-->
+<interface name="org.gnome.evolution.dataserver.CalendarView">
+
+ <signal name="ObjectsAdded">
+ <arg name="objects" type="as"/>
+ </signal>
+
+ <signal name="ObjectsModified">
+ <arg name="objects" type="as"/>
+ </signal>
+
+ <signal name="ObjectsRemoved">
+ <arg name="uids" type="as"/>
+ </signal>
+
+ <signal name="Progress">
+ <arg name="percent" type="u"/>
+ <arg name="message" type="s"/>
+ </signal>
+
+ <signal name="Complete">
+ <arg name="error_name" type="s"/>
+ <arg name="error_message" type="s"/>
+ </signal>
+
+ <method name="Start"/>
+
+ <method name="Stop"/>
+
+ <method name="SetFlags">
+ <arg name="flags" type="u"/>
+ </method>
+
+ <method name="SetFieldsOfInterest">
+ <arg name="only_fields" direction="in" type="as"/>
+ </method>
+
+ <method name="Dispose"/>
+
+</interface>
diff --git a/src/services/evolution-addressbook-factory/evolution-addressbook-factory.c b/src/services/evolution-addressbook-factory/evolution-addressbook-factory.c
index 78dd6fc12..20639d2eb 100644
--- a/src/services/evolution-addressbook-factory/evolution-addressbook-factory.c
+++ b/src/services/evolution-addressbook-factory/evolution-addressbook-factory.c
@@ -82,7 +82,6 @@ main (gint argc,
exit (EXIT_FAILURE);
}
- e_gdbus_templates_init_main_thread ();
e_xml_initialize_in_main ();
reload:
diff --git a/src/services/evolution-alarm-notify/evolution-alarm-notify.c b/src/services/evolution-alarm-notify/evolution-alarm-notify.c
index d3a46ba96..3e9e68e62 100644
--- a/src/services/evolution-alarm-notify/evolution-alarm-notify.c
+++ b/src/services/evolution-alarm-notify/evolution-alarm-notify.c
@@ -67,7 +67,6 @@ main (gint argc,
exit (EXIT_FAILURE);
}
- e_gdbus_templates_init_main_thread ();
e_xml_initialize_in_main ();
alarm_notify = e_alarm_notify_new (NULL, &error);
diff --git a/src/services/evolution-calendar-factory/evolution-calendar-factory.c b/src/services/evolution-calendar-factory/evolution-calendar-factory.c
index 1c7a5bdbe..4217305bd 100644
--- a/src/services/evolution-calendar-factory/evolution-calendar-factory.c
+++ b/src/services/evolution-calendar-factory/evolution-calendar-factory.c
@@ -92,7 +92,6 @@ main (gint argc,
icaltzutil_set_exact_vtimezones_support (0);
#endif
- e_gdbus_templates_init_main_thread ();
e_xml_initialize_in_main ();
reload:
diff --git a/src/services/evolution-source-registry/evolution-source-registry.c b/src/services/evolution-source-registry/evolution-source-registry.c
index 49c02c309..1c0a11382 100644
--- a/src/services/evolution-source-registry/evolution-source-registry.c
+++ b/src/services/evolution-source-registry/evolution-source-registry.c
@@ -177,7 +177,6 @@ main (gint argc,
exit (EXIT_FAILURE);
}
- e_gdbus_templates_init_main_thread ();
e_xml_initialize_in_main ();
reload:
diff --git a/src/services/evolution-user-prompter/evolution-user-prompter.c b/src/services/evolution-user-prompter/evolution-user-prompter.c
index 9f52d1178..f711baa18 100644
--- a/src/services/evolution-user-prompter/evolution-user-prompter.c
+++ b/src/services/evolution-user-prompter/evolution-user-prompter.c
@@ -68,7 +68,6 @@ main (gint argc,
exit (EXIT_FAILURE);
}
- e_gdbus_templates_init_main_thread ();
e_xml_initialize_in_main ();
reload: