## EDBusSource EDBusSource |

## Synopsis

                        EDBusSource;
    const gchar *       e_dbus_source_get_uid               (EDBusSource *object);
    gchar *             e_dbus_source_dup_uid               (EDBusSource *object);
    void                e_dbus_source_set_uid               (EDBusSource *object,
                                                             const gchar *value);
    const gchar *       e_dbus_source_get_data              (EDBusSource *object);
    gchar *             e_dbus_source_dup_data              (EDBusSource *object);
    void                e_dbus_source_set_data              (EDBusSource *object,
                                                             const gchar *value);
    gboolean            e_dbus_source_call_allow_auth_prompt_sync
                                                            (EDBusSource *proxy,
                                                             GCancellable *cancellable,
                                                             GError **error);
    void                e_dbus_source_call_allow_auth_prompt
                                                            (EDBusSource *proxy,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            e_dbus_source_call_allow_auth_prompt_finish
                                                            (EDBusSource *proxy,
                                                             GAsyncResult *res,
                                                             GError **error);
    void                e_dbus_source_complete_allow_auth_prompt
                                                            (EDBusSource *object,
                                                             GDBusMethodInvocation *invocation);
    GDBusInterfaceInfo * e_dbus_source_interface_info       (void);
    guint               e_dbus_source_override_properties   (GObjectClass *klass,
                                                             guint property_id_begin);

## Object Hierarchy

      GInterface
       +----EDBusSource

## Prerequisites

EDBusSource requires GObject.

## Known Implementations

EDBusSource is implemented by EDBusSourceProxy and EDBusSourceSkeleton.

## Properties

      "data"                     gchar*                : Read / Write
      "uid"                      gchar*                : Read / Write

## Signals

      "handle-allow-auth-prompt"                       : Run Last

## Description

## Details

### EDBusSource

    typedef struct _EDBusSource EDBusSource;

Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-gnome-evolution-dataserver-Source.top_of_page">org.gnome.evolution.dataserver.Source</link>.

### e_dbus_source_get_uid ()

    const gchar *       e_dbus_source_get_uid               (EDBusSource *object);

Gets the value of the <link linkend="gdbus-property-org-gnome-evolution-dataserver-Source.UID">"UID"</link> D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

<warning>The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where `object` was constructed. Use `e_dbus_source_dup_uid()` if on another thread.</warning>

`object` : | A EDBusSource.
Returns : | The property value or `NULL` if the property is not set. Do not free the returned value, it belongs to `object`. [transfer none]

### e_dbus_source_dup_uid ()

    gchar *             e_dbus_source_dup_uid               (EDBusSource *object);

Gets a copy of the <link linkend="gdbus-property-org-gnome-evolution-dataserver-Source.UID">"UID"</link> D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A EDBusSource.
Returns : | The property value or `NULL` if the property is not set. The returned value should be freed with `g_free()`. [transfer full]

### e_dbus_source_set_uid ()

    void                e_dbus_source_set_uid               (EDBusSource *object,
                                                             const gchar *value);

Sets the <link linkend="gdbus-property-org-gnome-evolution-dataserver-Source.UID">"UID"</link> D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A EDBusSource.
`value` : | The value to set.

### e_dbus_source_get_data ()

    const gchar *       e_dbus_source_get_data              (EDBusSource *object);

Gets the value of the <link linkend="gdbus-property-org-gnome-evolution-dataserver-Source.Data">"Data"</link> D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

<warning>The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where `object` was constructed. Use `e_dbus_source_dup_data()` if on another thread.</warning>

`object` : | A EDBusSource.
Returns : | The property value or `NULL` if the property is not set. Do not free the returned value, it belongs to `object`. [transfer none]

### e_dbus_source_dup_data ()

    gchar *             e_dbus_source_dup_data              (EDBusSource *object);

Gets a copy of the <link linkend="gdbus-property-org-gnome-evolution-dataserver-Source.Data">"Data"</link> D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A EDBusSource.
Returns : | The property value or `NULL` if the property is not set. The returned value should be freed with `g_free()`. [transfer full]

### e_dbus_source_set_data ()

    void                e_dbus_source_set_data              (EDBusSource *object,
                                                             const gchar *value);

Sets the <link linkend="gdbus-property-org-gnome-evolution-dataserver-Source.Data">"Data"</link> D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A EDBusSource.
`value` : | The value to set.

### e_dbus_source_call_allow_auth_prompt_sync ()

    gboolean            e_dbus_source_call_allow_auth_prompt_sync
                                                            (EDBusSource *proxy,
                                                             GCancellable *cancellable,
                                                             GError **error);

Synchronously invokes the <link linkend="gdbus-method-org-gnome-evolution-dataserver-Source.AllowAuthPrompt">`AllowAuthPrompt()`</link> D-Bus method on `proxy`. The calling thread is blocked until a reply is received.

See `e_dbus_source_call_allow_auth_prompt()` for the asynchronous version of this method.

`proxy` : | A EDBusSourceProxy.
`cancellable` : | A GCancellable or `NULL`. [allow-none]
`error` : | Return location for error or `NULL`.
Returns : | `TRUE` if the call succeded, `FALSE` if `error` is set. [skip]

### e_dbus_source_call_allow_auth_prompt ()

    void                e_dbus_source_call_allow_auth_prompt
                                                            (EDBusSource *proxy,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

Asynchronously invokes the <link linkend="gdbus-method-org-gnome-evolution-dataserver-Source.AllowAuthPrompt">`AllowAuthPrompt()`</link> D-Bus method on `proxy`. When the operation is finished, `callback` will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. You can then call `e_dbus_source_call_allow_auth_prompt_finish()` to get the result of the operation.

See `e_dbus_source_call_allow_auth_prompt_sync()` for the synchronous, blocking version of this method.

`proxy` : | A EDBusSourceProxy.
`cancellable` : | A GCancellable or `NULL`. [allow-none]
`callback` : | A GAsyncReadyCallback to call when the request is satisfied or `NULL`.
`user_data` : | User data to pass to `callback`.

### e_dbus_source_call_allow_auth_prompt_finish ()

    gboolean            e_dbus_source_call_allow_auth_prompt_finish
                                                            (EDBusSource *proxy,
                                                             GAsyncResult *res,
                                                             GError **error);

Finishes an operation started with `e_dbus_source_call_allow_auth_prompt()`.

`proxy` : | A EDBusSourceProxy.
`res` : | The GAsyncResult obtained from the GAsyncReadyCallback passed to `e_dbus_source_call_allow_auth_prompt()`.
`error` : | Return location for error or `NULL`.
Returns : | `TRUE` if the call succeded, `FALSE` if `error` is set. [skip]

### e_dbus_source_complete_allow_auth_prompt ()

    void                e_dbus_source_complete_allow_auth_prompt
                                                            (EDBusSource *object,
                                                             GDBusMethodInvocation *invocation);

Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-gnome-evolution-dataserver-Source.AllowAuthPrompt">`AllowAuthPrompt()`</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use `g_dbus_method_invocation_return_error()` or similar.

This method will free `invocation`, you cannot use it afterwards.

`object` : | A EDBusSource.
`invocation` : | A GDBusMethodInvocation. [transfer full]

### e_dbus_source_interface_info ()

    GDBusInterfaceInfo * e_dbus_source_interface_info       (void);

Gets a machine-readable description of the <link linkend="gdbus-interface-org-gnome-evolution-dataserver-Source.top_of_page">org.gnome.evolution.dataserver.Source</link> D-Bus interface.

Returns : | A GDBusInterfaceInfo. Do not free. [transfer none]

### e_dbus_source_override_properties ()

    guint               e_dbus_source_override_properties   (GObjectClass *klass,
                                                             guint property_id_begin);

Overrides all GObject properties in the EDBusSource interface for a concrete class. The properties are overridden in the order they are defined.

`klass` : | The class structure for a GObject<!-- -->-derived class.
`property_id_begin` : | The property id to assign to the first overridden property.
Returns : | The last property id.

## Property Details

### The `"data"` property

      "data"                     gchar*                : Read / Write

Represents the D-Bus property <link linkend="gdbus-property-org-gnome-evolution-dataserver-Source.Data">"Data"</link>.

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: NULL

### The `"uid"` property

      "uid"                      gchar*                : Read / Write

Represents the D-Bus property <link linkend="gdbus-property-org-gnome-evolution-dataserver-Source.UID">"UID"</link>.

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: NULL

## Signal Details

### The `"handle-allow-auth-prompt"` signal

    gboolean            user_function                      (EDBusSource           *object,
                                                            GDBusMethodInvocation *invocation,
                                                            gpointer               user_data)       : Run Last

Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-gnome-evolution-dataserver-Source.AllowAuthPrompt">`AllowAuthPrompt()`</link> D-Bus method.

If a signal handler returns `TRUE`, it means the signal handler will handle the invocation (e.g. take a reference to `invocation` and eventually call `e_dbus_source_complete_allow_auth_prompt()` or e.g. `g_dbus_method_invocation_return_error()` on it) and no order signal handlers will run. If no signal handler handles the invocation, the `G_DBUS_ERROR_UNKNOWN_METHOD` error is returned.

`object` : | A EDBusSource.
`invocation` : | A GDBusMethodInvocation.
`user_data` : | user data set when the signal handler was connected.
Returns : | `TRUE` if the invocation was handled, `FALSE` to let other signal handlers run.