## TpDebugClient

TpDebugClient — proxy objects for Telepathy debug information

## Functions

TpProxyPendingCall * | tp_cli_debug_call_get_messages ()
void | (*tp_cli_debug_callback_for_get_messages) ()
TpProxySignalConnection * | tp_cli_debug_connect_to_new_debug_message ()
void | (*tp_cli_debug_signal_callback_new_debug_message) ()
void | tp_debug_client_init_known_interfaces ()
TpDebugClient * | tp_debug_client_new ()
void | tp_debug_client_set_enabled_async ()
gboolean | tp_debug_client_set_enabled_finish ()
gboolean | tp_debug_client_is_enabled ()

## Properties

gboolean | enabled | Read

## Signals

void | new-debug-message | Run Last

## Types and Values

| TpDebugClient
| TpDebugClientClass

## Object Hierarchy

        GObject
        ╰── TpProxy
            ╰── TpDebugClient

## Includes

    #include <telepathy-glib/telepathy-glib.h>

## Description

This module provides access to the auxiliary objects used to implement TpSvcDebug.

## Functions

### tp_cli_debug_call_get_messages ()

    TpProxyPendingCall *
    tp_cli_debug_call_get_messages (TpDebugClient *proxy,
                                    gint timeout_ms,
                                    tp_cli_debug_callback_for_get_messages callback,
                                    gpointer user_data,
                                    GDestroyNotify destroy,
                                    GObject *weak_object);

Start a GetMessages method call.

Retrieve buffered debug messages. An implementation could have a limit on how many message it keeps and so the array returned from this method should not be assumed to be all of the messages in the lifetime of the service.

#### Parameters

proxy | the TpProxy |
timeout_ms | the timeout in milliseconds, or -1 to use the default |
callback | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking |
user_data | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL` |
destroy | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL` |
weak_object | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL` |

#### Returns

a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

### tp_cli_debug_callback_for_get_messages ()

    void
    (*tp_cli_debug_callback_for_get_messages)
                                   (TpDebugClient *proxy,
                                    const GPtrArray *out_Messages,
                                    const GError *error,
                                    gpointer user_data,
                                    GObject *weak_object);

Signature of the callback called when a GetMessages method call succeeds or fails.

#### Parameters

proxy | the proxy on which the call was made |
out_Messages | Used to return an 'out' argument if `error` is `NULL`: A list of debug messages. |
error | `NULL` on success, or an error on failure |
user_data | user-supplied data |
weak_object | user-supplied object |

### tp_cli_debug_connect_to_new_debug_message ()

    TpProxySignalConnection *
    tp_cli_debug_connect_to_new_debug_message
                                   (TpDebugClient *proxy,
                                    tp_cli_debug_signal_callback_new_debug_message callback,
                                    gpointer user_data,
                                    GDestroyNotify destroy,
                                    GObject *weak_object,
                                    GError **error);

Connect a handler to the signal NewDebugMessage.

Emitted when a debug messages is generated if the <tp:member-ref>Enabled</tp:member-ref> property is set to TRUE.

#### Parameters

proxy | A TpDebugClient or subclass |
callback | Callback to be called when the signal is received |
user_data | User-supplied data for the callback |
destroy | Destructor for the user-supplied data, which will be called when this signal is disconnected, or before this function returns `NULL` |
weak_object | A GObject which will be weakly referenced; if it is destroyed, this callback will automatically be disconnected |
error | If not `NULL`, used to raise an error if `NULL` is returned |

#### Returns

a TpProxySignalConnection containing all of the above, which can be used to disconnect the signal; or `NULL` if the proxy does not have the desired interface or has become invalid.

### tp_cli_debug_signal_callback_new_debug_message ()

    void
    (*tp_cli_debug_signal_callback_new_debug_message)
                                   (TpDebugClient *proxy,
                                    gdouble arg_time,
                                    const gchar *arg_domain,
                                    guint arg_level,
                                    const gchar *arg_message,
                                    gpointer user_data,
                                    GObject *weak_object);

Represents the signature of a callback for the signal NewDebugMessage.

#### Parameters

proxy | The proxy on which `tp_cli_debug_connect_to_new_debug_message()` was called |
arg_time | Timestamp of the debug message. |
arg_domain | Domain of the debug message, as described in the Debug_Message struct. |
arg_level | Level of the debug message. (TpDebugLevel) |
arg_message | The text of the debug message. |
user_data | User-supplied data |
weak_object | User-supplied weakly referenced object |

### tp_debug_client_init_known_interfaces ()

    void
    tp_debug_client_init_known_interfaces (void);

Ensure that the known interfaces for TpDebugClient have been set up. This is done automatically when necessary, but for correct overriding of library interfaces by local extensions, you should call this function before calling `tp_proxy_or_subclass_hook_on_interface_add()` with first argument `TP_TYPE_DEBUG_CLIENT`.

Since: 0.19.0

### tp_debug_client_new ()

    TpDebugClient *
    tp_debug_client_new (TpDBusDaemon *dbus,
                         const gchar *unique_name,
                         GError **error);

#### Parameters

dbus | a D-Bus daemon; may not be `NULL` |
unique_name | the unique name of the process to be debugged; may not be `NULL` or a well-known name |
error | used to raise an error if `unique_name` is not valid |

#### Returns

a new debug client proxy, or `NULL` on invalid arguments

Since: 0.19.0

### tp_debug_client_set_enabled_async ()

    void
    tp_debug_client_set_enabled_async (TpDebugClient *self,
                                       gboolean enabled,
                                       GAsyncReadyCallback callback,
                                       gpointer user_data);

Enable or disable publishing of debug messages on the bus by the component owning `self` 's bus name.

#### Parameters

self | a TpDebugClient |
enabled | `TRUE` if debug messages should be published on the bus, `FALSE` otherwise |
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since: 0.19.0

### tp_debug_client_set_enabled_finish ()

    gboolean
    tp_debug_client_set_enabled_finish (TpDebugClient *self,
                                        GAsyncResult *result,
                                        GError **error);

Finishes `tp_debug_client_set_enabled_async()`.

#### Parameters

self | a TpDebugClient |
result | a GAsyncResult |
error | a GError to fill |

#### Returns

`TRUE`, if the operation suceeded, `FALSE` otherwise

Since: 0.19.0

### tp_debug_client_is_enabled ()

    gboolean
    tp_debug_client_is_enabled (TpDebugClient *self);

Return the “enabled” property

#### Parameters

self | a TpDebugClient |

#### Returns

the value of “enabled” property

Since: 0.19.0

## Types and Values

### TpDebugClient

    typedef struct _TpDebugClient TpDebugClient;

A proxy object for the debug interface of a Telepathy component.

Since: 0.19.0

### TpDebugClientClass

    typedef struct _TpDebugClientClass TpDebugClientClass;

The class of a TpDebugClient.

Since: 0.19.0

## Property Details

### The `“enabled”` property

      “enabled”                  gboolean

`TRUE` if debug messages are published on the bus.

This property is meaningless until the `TP_DEBUG_CLIENT_FEATURE_CORE` feature has been prepared.

Flags: Read

Default value: FALSE

Since: 0.19.0

## Signal Details

### The `“new-debug-message”` signal

    void
    user_function (TpDebugClient  *self,
                   TpDebugMessage *message,
                   gpointer        user_data)

Emitted when a TpDebugMessage is generated if the TpDebugMessage:enabled property is set to `TRUE`.

#### Parameters

self | a TpDebugClient |
message | a TpDebugMessage |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 0.19.0

## See Also

TpProxy