## EDBusObject EDBusObject |

## Synopsis

                        EDBusObject;
    EDBusSource *       e_dbus_object_get_source            (EDBusObject *object);
    EDBusSource *       e_dbus_object_peek_source           (EDBusObject *object);
    EDBusSourceRemovable * e_dbus_object_get_source_removable
                                                            (EDBusObject *object);
    EDBusSourceRemovable * e_dbus_object_peek_source_removable
                                                            (EDBusObject *object);
    EDBusSourceWritable * e_dbus_object_get_source_writable (EDBusObject *object);
    EDBusSourceWritable * e_dbus_object_peek_source_writable
                                                            (EDBusObject *object);
    EDBusSourceRemoteCreatable * e_dbus_object_get_source_remote_creatable
                                                            (EDBusObject *object);
    EDBusSourceRemoteCreatable * e_dbus_object_peek_source_remote_creatable
                                                            (EDBusObject *object);
    EDBusSourceRemoteDeletable * e_dbus_object_get_source_remote_deletable
                                                            (EDBusObject *object);
    EDBusSourceRemoteDeletable * e_dbus_object_peek_source_remote_deletable
                                                            (EDBusObject *object);
    EDBusSourceOAuth2Support * e_dbus_object_get_source_oauth2_support
                                                            (EDBusObject *object);
    EDBusSourceOAuth2Support * e_dbus_object_peek_source_oauth2_support
                                                            (EDBusObject *object);

    struct              EDBusObjectProxy;
    EDBusObjectProxy *  e_dbus_object_proxy_new             (GDBusConnection *connection,
                                                             const gchar *object_path);

    struct              EDBusObjectSkeleton;
    EDBusObjectSkeleton * e_dbus_object_skeleton_new        (const gchar *object_path);
    void                e_dbus_object_skeleton_set_source   (EDBusObjectSkeleton *object,
                                                             EDBusSource *interface_);
    void                e_dbus_object_skeleton_set_source_writable
                                                            (EDBusObjectSkeleton *object,
                                                             EDBusSourceWritable *interface_);
    void                e_dbus_object_skeleton_set_source_removable
                                                            (EDBusObjectSkeleton *object,
                                                             EDBusSourceRemovable *interface_);
    void                e_dbus_object_skeleton_set_source_remote_creatable
                                                            (EDBusObjectSkeleton *object,
                                                             EDBusSourceRemoteCreatable *interface_);
    void                e_dbus_object_skeleton_set_source_remote_deletable
                                                            (EDBusObjectSkeleton *object,
                                                             EDBusSourceRemoteDeletable *interface_);
    void                e_dbus_object_skeleton_set_source_oauth2_support
                                                            (EDBusObjectSkeleton *object,
                                                             EDBusSourceOAuth2Support *interface_);

## Object Hierarchy

      GInterface
       +----EDBusObject

      GObject
       +----GDBusObjectProxy
             +----EDBusObjectProxy

      GObject
       +----GDBusObjectSkeleton
             +----EDBusObjectSkeleton

## Prerequisites

EDBusObject requires GDBusObject and GObject.

## Implemented Interfaces

EDBusObjectProxy implements GDBusObject and EDBusObject.

EDBusObjectSkeleton implements GDBusObject and EDBusObject.

## Known Implementations

EDBusObject is implemented by EDBusObjectProxy and EDBusObjectSkeleton.

## Properties

      "source"                   EDBusSource*          : Read / Write
      "source-oauth2-support"    EDBusSourceOAuth2Support*  : Read / Write
      "source-remote-creatable"  EDBusSourceRemoteCreatable*  : Read / Write
      "source-remote-deletable"  EDBusSourceRemoteDeletable*  : Read / Write
      "source-removable"         EDBusSourceRemovable*  : Read / Write
      "source-writable"          EDBusSourceWritable*  : Read / Write

## Description

## Details

### EDBusObject

    typedef struct _EDBusObject EDBusObject;

The EDBusObject type is a specialized container of interfaces.

### e_dbus_object_get_source ()

    EDBusSource *       e_dbus_object_get_source            (EDBusObject *object);

Gets the EDBusSource instance for the D-Bus interface org.gnome.evolution.dataserver.Source on `object`, if any.

`object` : | A EDBusObject.
Returns : | A EDBusSource that must be freed with `g_object_unref()` or `NULL` if `object` does not implement the interface. [transfer full]

### e_dbus_object_peek_source ()

    EDBusSource *       e_dbus_object_peek_source           (EDBusObject *object);

Like `e_dbus_object_get_source()` but doesn't increase the reference count on the returned object.

### Warning

It is not safe to use the returned object if you are on another thread than the one where the GDBusObjectManagerClient or GDBusObjectManagerServer for `object` is running.

`object` : | A EDBusObject.
Returns : | A EDBusSource or `NULL` if `object` does not implement the interface. Do not free the returned object, it is owned by `object`. [transfer none]

### e_dbus_object_get_source_removable ()

    EDBusSourceRemovable * e_dbus_object_get_source_removable
                                                            (EDBusObject *object);

Gets the EDBusSourceRemovable instance for the D-Bus interface org.gnome.evolution.dataserver.Source.Removable on `object`, if any.

`object` : | A EDBusObject.
Returns : | A EDBusSourceRemovable that must be freed with `g_object_unref()` or `NULL` if `object` does not implement the interface. [transfer full]

### e_dbus_object_peek_source_removable ()

    EDBusSourceRemovable * e_dbus_object_peek_source_removable
                                                            (EDBusObject *object);

Like `e_dbus_object_get_source_removable()` but doesn't increase the reference count on the returned object.

### Warning

It is not safe to use the returned object if you are on another thread than the one where the GDBusObjectManagerClient or GDBusObjectManagerServer for `object` is running.

`object` : | A EDBusObject.
Returns : | A EDBusSourceRemovable or `NULL` if `object` does not implement the interface. Do not free the returned object, it is owned by `object`. [transfer none]

### e_dbus_object_get_source_writable ()

    EDBusSourceWritable * e_dbus_object_get_source_writable (EDBusObject *object);

Gets the EDBusSourceWritable instance for the D-Bus interface org.gnome.evolution.dataserver.Source.Writable on `object`, if any.

`object` : | A EDBusObject.
Returns : | A EDBusSourceWritable that must be freed with `g_object_unref()` or `NULL` if `object` does not implement the interface. [transfer full]

### e_dbus_object_peek_source_writable ()

    EDBusSourceWritable * e_dbus_object_peek_source_writable
                                                            (EDBusObject *object);

Like `e_dbus_object_get_source_writable()` but doesn't increase the reference count on the returned object.

### Warning

It is not safe to use the returned object if you are on another thread than the one where the GDBusObjectManagerClient or GDBusObjectManagerServer for `object` is running.

`object` : | A EDBusObject.
Returns : | A EDBusSourceWritable or `NULL` if `object` does not implement the interface. Do not free the returned object, it is owned by `object`. [transfer none]

### e_dbus_object_get_source_remote_creatable ()

    EDBusSourceRemoteCreatable * e_dbus_object_get_source_remote_creatable
                                                            (EDBusObject *object);

Gets the EDBusSourceRemoteCreatable instance for the D-Bus interface org.gnome.evolution.dataserver.Source.RemoteCreatable on `object`, if any.

`object` : | A EDBusObject.
Returns : | A EDBusSourceRemoteCreatable that must be freed with `g_object_unref()` or `NULL` if `object` does not implement the interface. [transfer full]

### e_dbus_object_peek_source_remote_creatable ()

    EDBusSourceRemoteCreatable * e_dbus_object_peek_source_remote_creatable
                                                            (EDBusObject *object);

Like `e_dbus_object_get_source_remote_creatable()` but doesn't increase the reference count on the returned object.

### Warning

It is not safe to use the returned object if you are on another thread than the one where the GDBusObjectManagerClient or GDBusObjectManagerServer for `object` is running.

`object` : | A EDBusObject.
Returns : | A EDBusSourceRemoteCreatable or `NULL` if `object` does not implement the interface. Do not free the returned object, it is owned by `object`. [transfer none]

### e_dbus_object_get_source_remote_deletable ()

    EDBusSourceRemoteDeletable * e_dbus_object_get_source_remote_deletable
                                                            (EDBusObject *object);

Gets the EDBusSourceRemoteDeletable instance for the D-Bus interface org.gnome.evolution.dataserver.Source.RemoteDeletable on `object`, if any.

`object` : | A EDBusObject.
Returns : | A EDBusSourceRemoteDeletable that must be freed with `g_object_unref()` or `NULL` if `object` does not implement the interface. [transfer full]

### e_dbus_object_peek_source_remote_deletable ()

    EDBusSourceRemoteDeletable * e_dbus_object_peek_source_remote_deletable
                                                            (EDBusObject *object);

Like `e_dbus_object_get_source_remote_deletable()` but doesn't increase the reference count on the returned object.

### Warning

It is not safe to use the returned object if you are on another thread than the one where the GDBusObjectManagerClient or GDBusObjectManagerServer for `object` is running.

`object` : | A EDBusObject.
Returns : | A EDBusSourceRemoteDeletable or `NULL` if `object` does not implement the interface. Do not free the returned object, it is owned by `object`. [transfer none]

### e_dbus_object_get_source_oauth2_support ()

    EDBusSourceOAuth2Support * e_dbus_object_get_source_oauth2_support
                                                            (EDBusObject *object);

Gets the EDBusSourceOAuth2Support instance for the D-Bus interface org.gnome.evolution.dataserver.Source.OAuth2Support on `object`, if any.

`object` : | A EDBusObject.
Returns : | A EDBusSourceOAuth2Support that must be freed with `g_object_unref()` or `NULL` if `object` does not implement the interface. [transfer full]

### e_dbus_object_peek_source_oauth2_support ()

    EDBusSourceOAuth2Support * e_dbus_object_peek_source_oauth2_support
                                                            (EDBusObject *object);

Like `e_dbus_object_get_source_oauth2_support()` but doesn't increase the reference count on the returned object.

### Warning

It is not safe to use the returned object if you are on another thread than the one where the GDBusObjectManagerClient or GDBusObjectManagerServer for `object` is running.

`object` : | A EDBusObject.
Returns : | A EDBusSourceOAuth2Support or `NULL` if `object` does not implement the interface. Do not free the returned object, it is owned by `object`. [transfer none]

### struct EDBusObjectProxy

    struct EDBusObjectProxy;

The EDBusObjectProxy structure contains only private data and should only be accessed using the provided API.

### e_dbus_object_proxy_new ()

    EDBusObjectProxy *  e_dbus_object_proxy_new             (GDBusConnection *connection,
                                                             const gchar *object_path);

Creates a new proxy object.

`connection` : | A GDBusConnection.
`object_path` : | An object path.
Returns : | The proxy object. [transfer full]

### struct EDBusObjectSkeleton

    struct EDBusObjectSkeleton;

The EDBusObjectSkeleton structure contains only private data and should only be accessed using the provided API.

### e_dbus_object_skeleton_new ()

    EDBusObjectSkeleton * e_dbus_object_skeleton_new        (const gchar *object_path);

Creates a new skeleton object.

`object_path` : | An object path.
Returns : | The skeleton object. [transfer full]

### e_dbus_object_skeleton_set_source ()

    void                e_dbus_object_skeleton_set_source   (EDBusObjectSkeleton *object,
                                                             EDBusSource *interface_);

Sets the EDBusSource instance for the D-Bus interface org.gnome.evolution.dataserver.Source on `object`.

`object` : | A EDBusObjectSkeleton.
`interface_` : | A EDBusSource or `NULL` to clear the interface. [allow-none]

### e_dbus_object_skeleton_set_source_writable ()

    void                e_dbus_object_skeleton_set_source_writable
                                                            (EDBusObjectSkeleton *object,
                                                             EDBusSourceWritable *interface_);

Sets the EDBusSourceWritable instance for the D-Bus interface org.gnome.evolution.dataserver.Source.Writable on `object`.

`object` : | A EDBusObjectSkeleton.
`interface_` : | A EDBusSourceWritable or `NULL` to clear the interface. [allow-none]

### e_dbus_object_skeleton_set_source_removable ()

    void                e_dbus_object_skeleton_set_source_removable
                                                            (EDBusObjectSkeleton *object,
                                                             EDBusSourceRemovable *interface_);

Sets the EDBusSourceRemovable instance for the D-Bus interface org.gnome.evolution.dataserver.Source.Removable on `object`.

`object` : | A EDBusObjectSkeleton.
`interface_` : | A EDBusSourceRemovable or `NULL` to clear the interface. [allow-none]

### e_dbus_object_skeleton_set_source_remote_creatable ()

    void                e_dbus_object_skeleton_set_source_remote_creatable
                                                            (EDBusObjectSkeleton *object,
                                                             EDBusSourceRemoteCreatable *interface_);

Sets the EDBusSourceRemoteCreatable instance for the D-Bus interface org.gnome.evolution.dataserver.Source.RemoteCreatable on `object`.

`object` : | A EDBusObjectSkeleton.
`interface_` : | A EDBusSourceRemoteCreatable or `NULL` to clear the interface. [allow-none]

### e_dbus_object_skeleton_set_source_remote_deletable ()

    void                e_dbus_object_skeleton_set_source_remote_deletable
                                                            (EDBusObjectSkeleton *object,
                                                             EDBusSourceRemoteDeletable *interface_);

Sets the EDBusSourceRemoteDeletable instance for the D-Bus interface org.gnome.evolution.dataserver.Source.RemoteDeletable on `object`.

`object` : | A EDBusObjectSkeleton.
`interface_` : | A EDBusSourceRemoteDeletable or `NULL` to clear the interface. [allow-none]

### e_dbus_object_skeleton_set_source_oauth2_support ()

    void                e_dbus_object_skeleton_set_source_oauth2_support
                                                            (EDBusObjectSkeleton *object,
                                                             EDBusSourceOAuth2Support *interface_);

Sets the EDBusSourceOAuth2Support instance for the D-Bus interface org.gnome.evolution.dataserver.Source.OAuth2Support on `object`.

`object` : | A EDBusObjectSkeleton.
`interface_` : | A EDBusSourceOAuth2Support or `NULL` to clear the interface. [allow-none]

## Property Details

### The `"source"` property

      "source"                   EDBusSource*          : Read / Write

The EDBusSource instance corresponding to the D-Bus interface org.gnome.evolution.dataserver.Source, if any.

Connect to the "notify" signal to get informed of property changes.

### The `"source-oauth2-support"` property

      "source-oauth2-support"    EDBusSourceOAuth2Support*  : Read / Write

The EDBusSourceOAuth2Support instance corresponding to the D-Bus interface org.gnome.evolution.dataserver.Source.OAuth2Support, if any.

Connect to the "notify" signal to get informed of property changes.

### The `"source-remote-creatable"` property

      "source-remote-creatable"  EDBusSourceRemoteCreatable*  : Read / Write

The EDBusSourceRemoteCreatable instance corresponding to the D-Bus interface org.gnome.evolution.dataserver.Source.RemoteCreatable, if any.

Connect to the "notify" signal to get informed of property changes.

### The `"source-remote-deletable"` property

      "source-remote-deletable"  EDBusSourceRemoteDeletable*  : Read / Write

The EDBusSourceRemoteDeletable instance corresponding to the D-Bus interface org.gnome.evolution.dataserver.Source.RemoteDeletable, if any.

Connect to the "notify" signal to get informed of property changes.

### The `"source-removable"` property

      "source-removable"         EDBusSourceRemovable*  : Read / Write

The EDBusSourceRemovable instance corresponding to the D-Bus interface org.gnome.evolution.dataserver.Source.Removable, if any.

Connect to the "notify" signal to get informed of property changes.

### The `"source-writable"` property

      "source-writable"          EDBusSourceWritable*  : Read / Write

The EDBusSourceWritable instance corresponding to the D-Bus interface org.gnome.evolution.dataserver.Source.Writable, if any.

Connect to the "notify" signal to get informed of property changes.