## Contact Search channels Contact Search channels — service-side interface for the Contact Search channel type |

## Synopsis

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

                        TpSvcChannelTypeContactSearch;
                        TpSvcChannelTypeContactSearchClass;
    void                tp_svc_channel_type_contact_search_emit_search_result_received
                                                            (gpointer instance,
                                                             GHashTable *arg_Result);
    void                tp_svc_channel_type_contact_search_emit_search_state_changed
                                                            (gpointer instance,
                                                             guint arg_State,
                                                             const gchar *arg_Error,
                                                             GHashTable *arg_Details);
    void                tp_svc_channel_type_contact_search_implement_more
                                                            (TpSvcChannelTypeContactSearchClass *klass,
                                                             tp_svc_channel_type_contact_search_more_impl impl);
    void                tp_svc_channel_type_contact_search_implement_search
                                                            (TpSvcChannelTypeContactSearchClass *klass,
                                                             tp_svc_channel_type_contact_search_search_impl impl);
    void                tp_svc_channel_type_contact_search_implement_stop
                                                            (TpSvcChannelTypeContactSearchClass *klass,
                                                             tp_svc_channel_type_contact_search_stop_impl impl);
    void                (*tp_svc_channel_type_contact_search_more_impl)
                                                            (TpSvcChannelTypeContactSearch *self,
                                                             DBusGMethodInvocation *context);
    void                tp_svc_channel_type_contact_search_return_from_more
                                                            (DBusGMethodInvocation *context);
    void                tp_svc_channel_type_contact_search_return_from_search
                                                            (DBusGMethodInvocation *context);
    void                tp_svc_channel_type_contact_search_return_from_stop
                                                            (DBusGMethodInvocation *context);
    void                (*tp_svc_channel_type_contact_search_search_impl)
                                                            (TpSvcChannelTypeContactSearch *self,
                                                             GHashTable *in_Terms,
                                                             DBusGMethodInvocation *context);
    void                (*tp_svc_channel_type_contact_search_stop_impl)
                                                            (TpSvcChannelTypeContactSearch *self,
                                                             DBusGMethodInvocation *context);

## Object Hierarchy

      GInterface
       +----TpSvcChannelTypeContactSearch

## Signals

      "search-result-received"                         : Run Last / Has Details
      "search-state-changed"                           : Run Last / Has Details

## Description

Some instant messaging protocols allow searching for contacts by name or other details. In Telepathy, each search attempt is represented as a Channel.

This section documents the auto-generated C wrappers for the Contact Search channel type.

## Details

### TpSvcChannelTypeContactSearch

    typedef struct _TpSvcChannelTypeContactSearch TpSvcChannelTypeContactSearch;

Dummy typedef representing any implementation of this interface.

### TpSvcChannelTypeContactSearchClass

    typedef struct _TpSvcChannelTypeContactSearchClass TpSvcChannelTypeContactSearchClass;

The class of TpSvcChannelTypeContactSearch.

In a full implementation of this interface (i.e. all methods implemented), the interface initialization function used in `G_IMPLEMENT_INTERFACE()` would typically look like this:

    static void
    implement_channel_type_contact_search (gpointer klass,
        gpointer unused G_GNUC_UNUSED)
    {
    #define IMPLEMENT(x) tp_svc_channel_type_contact_search_implement_##x (\
      klass, my_object_##x)
      IMPLEMENT (search);
      IMPLEMENT (more);
      IMPLEMENT (stop);
    #undef IMPLEMENT
    }

### tp_svc_channel_type_contact_search_emit_search_result_received ()

    void                tp_svc_channel_type_contact_search_emit_search_result_received
                                                            (gpointer instance,
                                                             GHashTable *arg_Result);

Type-safe wrapper around g_signal_emit to emit the SearchResultReceived signal on interface org.freedesktop.Telepathy.Channel.Type.ContactSearch.

`instance` : | The object implementing this interface
`arg_Result` : | GHashTable * (FIXME, generate documentation)

### tp_svc_channel_type_contact_search_emit_search_state_changed ()

    void                tp_svc_channel_type_contact_search_emit_search_state_changed
                                                            (gpointer instance,
                                                             guint arg_State,
                                                             const gchar *arg_Error,
                                                             GHashTable *arg_Details);

Type-safe wrapper around g_signal_emit to emit the SearchStateChanged signal on interface org.freedesktop.Telepathy.Channel.Type.ContactSearch.

`instance` : | The object implementing this interface
`arg_State` : | guint (FIXME, generate documentation)
`arg_Error` : | const gchar * (FIXME, generate documentation)
`arg_Details` : | GHashTable * (FIXME, generate documentation)

### tp_svc_channel_type_contact_search_implement_more ()

    void                tp_svc_channel_type_contact_search_implement_more
                                                            (TpSvcChannelTypeContactSearchClass *klass,
                                                             tp_svc_channel_type_contact_search_more_impl impl);

Register an implementation for the More method in the vtable of an implementation of this interface. To be called from the interface init function.

`klass` : | A class whose instances implement this interface
`impl` : | A callback used to implement the More D-Bus method

### tp_svc_channel_type_contact_search_implement_search ()

    void                tp_svc_channel_type_contact_search_implement_search
                                                            (TpSvcChannelTypeContactSearchClass *klass,
                                                             tp_svc_channel_type_contact_search_search_impl impl);

Register an implementation for the Search method in the vtable of an implementation of this interface. To be called from the interface init function.

`klass` : | A class whose instances implement this interface
`impl` : | A callback used to implement the Search D-Bus method

### tp_svc_channel_type_contact_search_implement_stop ()

    void                tp_svc_channel_type_contact_search_implement_stop
                                                            (TpSvcChannelTypeContactSearchClass *klass,
                                                             tp_svc_channel_type_contact_search_stop_impl impl);

Register an implementation for the Stop method in the vtable of an implementation of this interface. To be called from the interface init function.

`klass` : | A class whose instances implement this interface
`impl` : | A callback used to implement the Stop D-Bus method

### tp_svc_channel_type_contact_search_more_impl ()

    void                (*tp_svc_channel_type_contact_search_more_impl)
                                                            (TpSvcChannelTypeContactSearch *self,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method More on interface org.freedesktop.Telepathy.Channel.Type.ContactSearch.

`self` : | The object implementing this interface
`context` : | Used to return values or throw an error

### tp_svc_channel_type_contact_search_return_from_more ()

    void                tp_svc_channel_type_contact_search_return_from_more
                                                            (DBusGMethodInvocation *context);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

`context` : | The D-Bus method invocation context

### tp_svc_channel_type_contact_search_return_from_search ()

    void                tp_svc_channel_type_contact_search_return_from_search
                                                            (DBusGMethodInvocation *context);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

`context` : | The D-Bus method invocation context

### tp_svc_channel_type_contact_search_return_from_stop ()

    void                tp_svc_channel_type_contact_search_return_from_stop
                                                            (DBusGMethodInvocation *context);

Return successfully by calling `dbus_g_method_return()`. This inline function exists only to provide type-safety.

`context` : | The D-Bus method invocation context

### tp_svc_channel_type_contact_search_search_impl ()

    void                (*tp_svc_channel_type_contact_search_search_impl)
                                                            (TpSvcChannelTypeContactSearch *self,
                                                             GHashTable *in_Terms,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method Search on interface org.freedesktop.Telepathy.Channel.Type.ContactSearch.

`self` : | The object implementing this interface
`in_Terms` : | GHashTable * (FIXME, generate documentation)
`context` : | Used to return values or throw an error

### tp_svc_channel_type_contact_search_stop_impl ()

    void                (*tp_svc_channel_type_contact_search_stop_impl)
                                                            (TpSvcChannelTypeContactSearch *self,
                                                             DBusGMethodInvocation *context);

The signature of an implementation of the D-Bus method Stop on interface org.freedesktop.Telepathy.Channel.Type.ContactSearch.

`self` : | The object implementing this interface
`context` : | Used to return values or throw an error

## Signal Details

### The `"search-result-received"` signal

    void                user_function                      (TpSvcChannelTypeContactSearch *arg_Result,
                                                            gpointer                       user_data)       : Run Last / Has Details

The SearchResultReceived D-Bus signal is emitted whenever this GObject signal is.

`arg_Result` : | GHashTable * (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.

### The `"search-state-changed"` signal

    void                user_function                      (TpSvcChannelTypeContactSearch *arg_State,
                                                            guint                          arg_Error,
                                                            gchar                         *arg_Details,
                                                            gpointer                       user_data)        : Run Last / Has Details

The SearchStateChanged D-Bus signal is emitted whenever this GObject signal is.

`arg_State` : | guint (FIXME, generate documentation)
`arg_Error` : | const gchar * (FIXME, generate documentation)
`arg_Details` : | GHashTable * (FIXME, generate documentation)
`user_data` : | user data set when the signal handler was connected.