GIO Reference Manual: GDBusObjectSkeleton

## GDBusObjectSkeleton GDBusObjectSkeleton — Service-side D-Bus object |

## Functions

GDBusObjectSkeleton * | g_dbus_object_skeleton_new ()
void | g_dbus_object_skeleton_flush ()
void | g_dbus_object_skeleton_add_interface ()
void | g_dbus_object_skeleton_remove_interface ()
void | g_dbus_object_skeleton_remove_interface_by_name ()
void | g_dbus_object_skeleton_set_object_path ()

## Properties

gchar * | g-object-path | Read / Write / Construct

## Signals

gboolean | authorize-method | Run Last

## Types and Values

| GDBusObjectSkeleton
struct | GDBusObjectSkeletonClass

## Object Hierarchy

        GObject
        ╰── GDBusObjectSkeleton

## Implemented Interfaces

GDBusObjectSkeleton implements GDBusObject.

## Includes

    #include <gio/gio.h>

## Description

A GDBusObjectSkeleton instance is essentially a group of D-Bus interfaces. The set of exported interfaces on the object may be dynamic and change at runtime.

This type is intended to be used with GDBusObjectManager.

## Functions

### g_dbus_object_skeleton_new ()

    GDBusObjectSkeleton *
    g_dbus_object_skeleton_new (const gchar *object_path);

Creates a new GDBusObjectSkeleton.

#### Parameters

object_path | An object path. |

#### Returns

A GDBusObjectSkeleton. Free with `g_object_unref()`.

Since 2.30

### g_dbus_object_skeleton_flush ()

    void
    g_dbus_object_skeleton_flush (GDBusObjectSkeleton *object);

This method simply calls `g_dbus_interface_skeleton_flush()` on all interfaces belonging to `object` . See that method for when flushing is useful.

#### Parameters

object | A GDBusObjectSkeleton. |

Since 2.30

### g_dbus_object_skeleton_add_interface ()

    void
    g_dbus_object_skeleton_add_interface (GDBusObjectSkeleton *object,
                                          GDBusInterfaceSkeleton *interface_);

Adds `interface_` to `object` .

If `object` already contains a GDBusInterfaceSkeleton with the same interface name, it is removed before `interface_` is added.

Note that `object` takes its own reference on `interface_` and holds it until removed.

#### Parameters

object | A GDBusObjectSkeleton. |
interface_ | A GDBusInterfaceSkeleton. |

Since 2.30

### g_dbus_object_skeleton_remove_interface ()

    void
    g_dbus_object_skeleton_remove_interface
                                   (GDBusObjectSkeleton *object,
                                    GDBusInterfaceSkeleton *interface_);

Removes `interface_` from `object` .

#### Parameters

object | A GDBusObjectSkeleton. |
interface_ | A GDBusInterfaceSkeleton. |

Since 2.30

### g_dbus_object_skeleton_remove_interface_by_name ()

    void
    g_dbus_object_skeleton_remove_interface_by_name
                                   (GDBusObjectSkeleton *object,
                                    const gchar *interface_name);

Removes the GDBusInterface with `interface_name` from `object` .

If no D-Bus interface of the given interface exists, this function does nothing.

#### Parameters

object | A GDBusObjectSkeleton. |
interface_name | A D-Bus interface name. |

Since 2.30

### g_dbus_object_skeleton_set_object_path ()

    void
    g_dbus_object_skeleton_set_object_path
                                   (GDBusObjectSkeleton *object,
                                    const gchar *object_path);

Sets the object path for `object` .

#### Parameters

object | A GDBusObjectSkeleton. |
object_path | A valid D-Bus object path. |

Since 2.30

## Types and Values

### GDBusObjectSkeleton

    typedef struct _GDBusObjectSkeleton GDBusObjectSkeleton;

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

Since 2.30

### struct GDBusObjectSkeletonClass

    struct GDBusObjectSkeletonClass {
      GObjectClass parent_class;

      /* Signals */
      gboolean (*authorize_method) (GDBusObjectSkeleton       *object,
                                    GDBusInterfaceSkeleton    *interface_,
                                    GDBusMethodInvocation *invocation);
    };

Class structure for GDBusObjectSkeleton.

#### Members

GObjectClass `parent_class`; | The parent class. |
`authorize_method` () | Signal class handler for the “authorize-method” signal. |

Since 2.30

## Property Details

### The `“g-object-path”` property

      “g-object-path”            gchar *

The object path where the object is exported.

Flags: Read / Write / Construct

Default value: NULL

Since 2.30

## Signal Details

### The `“authorize-method”` signal

    gboolean
    user_function (GDBusObjectSkeleton    *object,
                   GDBusInterfaceSkeleton *interface,
                   GDBusMethodInvocation  *invocation,
                   gpointer                user_data)

Emitted when a method is invoked by a remote caller and used to determine if the method call is authorized.

This signal is like GDBusInterfaceSkeleton's “g-authorize-method” signal, except that it is for the enclosing object.

The default class handler just returns `TRUE`.

#### Parameters

object | The GDBusObjectSkeleton emitting the signal. |
interface | The GDBusInterfaceSkeleton that `invocation` is for. |
invocation | A GDBusMethodInvocation. |
user_data | user data set when the signal handler was connected. |

#### Returns

`TRUE` if the call is authorized, `FALSE` otherwise.

Flags: Run Last

Since 2.30