## DBusGMethod

DBusGMethod — GMethod Info & Invocation

## Stability Level

Stable, unless otherwise indicated

## Synopsis

                        DBusGMethodInfo;
                        DBusGMethodInvocation;
    gchar*              dbus_g_method_get_sender            (DBusGMethodInvocation *context);
    DBusMessage*        dbus_g_method_get_reply             (DBusGMethodInvocation *context);
    void                dbus_g_method_send_reply            (DBusGMethodInvocation *context,
                                                             DBusMessage *reply);
    void                dbus_g_method_return                (DBusGMethodInvocation *context,
                                                             ...);
    void                dbus_g_method_return_error          (DBusGMethodInvocation *context,
                                                             const GError *error);

## Description

These types are used to call methods on GObject objects.

## Details

### DBusGMethodInfo

    typedef struct {
      GCallback                 function;
      GClosureMarshal           marshaller;
      int                       data_offset;
    } DBusGMethodInfo;

Object typically generated by dbus-binding-tool that stores a mapping from introspection data to a function pointer for a C method to be invoked.

GCallback `function`; | C method to invoke
GClosureMarshal `marshaller`; | Marshaller to invoke method
int `data_offset`; | Offset into the introspection data

### DBusGMethodInvocation

    typedef struct _DBusGMethodInvocation DBusGMethodInvocation;

### dbus_g_method_get_sender ()

    gchar*              dbus_g_method_get_sender            (DBusGMethodInvocation *context);

Get the sender of a message so we can send a "reply" later (i.e. send a message directly to a service which invoked the method at a later time).

`context` : | the method context
Returns : | the unique name of the sender. It is up to the caller to free the returned string.

### dbus_g_method_get_reply ()

    DBusMessage*        dbus_g_method_get_reply             (DBusGMethodInvocation *context);

Get the reply message to append reply values Used as a sidedoor when you can't generate dbus values of the correct type due to glib binding limitations

`context` : | the method context
Returns : | a DBusMessage with the reply

### dbus_g_method_send_reply ()

    void                dbus_g_method_send_reply            (DBusGMethodInvocation *context,
                                                             DBusMessage *reply);

Used as a sidedoor when you can't generate dbus values of the correct type due to glib binding limitations

`context` : | the method context
`reply` : | the reply message, will be unreffed

### dbus_g_method_return ()

    void                dbus_g_method_return                (DBusGMethodInvocation *context,
                                                             ...);

Send a return message for a given method invocation, with arguments. This function also frees the sending context.

`context` : | the method context
`...` : |

### dbus_g_method_return_error ()

    void                dbus_g_method_return_error          (DBusGMethodInvocation *context,
                                                             const GError *error);

Send a error message for a given method invocation. This function also frees the sending context.

`context` : | the method context
`error` : | the error to send

## See Also

DBusGMessage