TpContactSearch

TpContactSearch — object for a Telepathy contact search channel

Synopsis

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

struct              TpContactSearch;
struct              TpContactSearchClass;
void                tp_contact_search_new_async         (TpAccount *account,
                                                         const gchar *server,
                                                         guint limit,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
TpContactSearch *   tp_contact_search_new_finish        (GAsyncResult *result,
                                                         GError **error);
void                tp_contact_search_reset_async       (TpContactSearch *self,
                                                         const gchar *server,
                                                         guint limit,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
const gchar * const * tp_contact_search_reset_finish    (TpContactSearch *self,
                                                         GAsyncResult *result,
                                                         GError **error);
void                tp_contact_search_start             (TpContactSearch *self,
                                                         GHashTable *criteria);
const gchar * const * tp_contact_search_get_search_keys (TpContactSearch *self);
TpAccount *         tp_contact_search_get_account       (TpContactSearch *self);
guint               tp_contact_search_get_limit         (TpContactSearch *self);
const gchar *       tp_contact_search_get_server        (TpContactSearch *self);

Object Hierarchy

  GObject
   +----TpContactSearch

Implemented Interfaces

TpContactSearch implements GAsyncInitable.

Properties

  "account"                  TpAccount*            : Read / Write / Construct Only
  "limit"                    guint                 : Read / Write
  "server"                   gchar*                : Read / Write / Construct Only
  "state"                    guint                 : Read

Signals

  "search-results-received"                        : Run Last

Description

TpContactSearch objects represent ongoing searches for contacts. They implement the GAsyncInitable interface, so the initialization may fail.

In normal circumstances, after creating a TpContactSearch object, you would connect to the "search-results-received" signal to get search results when a search happens. You would then call tp_contact_search_get_search_keys() to get the search keys, and then do a search using tp_contact_search_start(). When results are found, the "search-results-received" callback will be called.

You can check the search state by looking at the "state" property. If you want to be notified about changes, connect to the notify::state signal, see "notify" for details.

You can search as many times as you want on a TpContactSearch object, but you need to call tp_contact_search_reset_async() between searches.

Details

struct TpContactSearch

struct TpContactSearch;

An object for Telepathy contact searches. There are no interesting public struct fields.

Since 0.13.11


struct TpContactSearchClass

struct TpContactSearchClass {
};

The class of a TpContactSearch.

Since 0.13.11


tp_contact_search_new_async ()

void                tp_contact_search_new_async         (TpAccount *account,
                                                         const gchar *server,
                                                         guint limit,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

account :

an account for the contact search

server :

the server on which to search for contacts, or NULL

limit :

The maximum number of results the server should return, or 0 for the server default.

callback :

a GAsyncReadyCallback to call when the initialization is finished

user_data :

data to pass to the callback function

Since 0.13.11


tp_contact_search_new_finish ()

TpContactSearch *   tp_contact_search_new_finish        (GAsyncResult *result,
                                                         GError **error);

result :

the GAsyncResult from the callback

error :

a GError location to store an error, or NULL

Returns :

a new contact search object, or NULL in case of error. [transfer full]

Since 0.13.11


tp_contact_search_reset_async ()

void                tp_contact_search_reset_async       (TpContactSearch *self,
                                                         const gchar *server,
                                                         guint limit,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Resets the contact search object so a new search can be performed. If another tp_contact_search_reset_async() call is in progress, it will be cancelled and tp_contact_search_reset_finish() will return an appropriate error.

self :

the TpContactSearch to reset

server :

the server on which to search for contacts, or NULL

limit :

The maximum number of results the server should return, or 0 for the server default.

callback :

a GAsyncReadyCallback to call when the initialization is finished

user_data :

data to pass to the callback function

Since 0.13.11


tp_contact_search_reset_finish ()

const gchar * const * tp_contact_search_reset_finish    (TpContactSearch *self,
                                                         GAsyncResult *result,
                                                         GError **error);

self :

the TpContactSearch that is being reset

result :

the GAsyncResult from the callback

error :

a GError location to store an error, or NULL

Returns :

the new search keys, or NULL in case of error. [transfer none]

Since 0.13.11


tp_contact_search_start ()

void                tp_contact_search_start             (TpContactSearch *self,
                                                         GHashTable *criteria);

Starts a search for the keys specified in criteria. Connect to the "search-results-received" signal before calling this function.

Before searching again on the same TpContactSearch, you must call tp_contact_search_reset_async().

self :

a TpContactSearch

criteria :

a map from keys returned by tp_contact_search_get_search_keys() to values to search for. [transfer none][element-type utf8 utf8]

Since 0.13.11


tp_contact_search_get_search_keys ()

const gchar * const * tp_contact_search_get_search_keys (TpContactSearch *self);

Get the search keys for a contact search. The keys are vCard field names in lower case, except when they're one of the special cases from telepathy-spec like "tel;cell" or "x-n-given". See the Channel.Type.ContactSearch interface for a list of the special cases.

self :

the contact search object to get the keys from

Returns :

the new search keys, or NULL. [transfer none]

Since 0.13.11


tp_contact_search_get_account ()

TpAccount *         tp_contact_search_get_account       (TpContactSearch *self);

self :

a contact search object

Returns :

The TpContactSearch:account property. [transfer none]

Since 0.13.11


tp_contact_search_get_limit ()

guint               tp_contact_search_get_limit         (TpContactSearch *self);

self :

a contact search object

Returns :

The TpContactSearch:limit property

Since 0.13.11


tp_contact_search_get_server ()

const gchar *       tp_contact_search_get_server        (TpContactSearch *self);

self :

a contact search object

Returns :

The TpContactSearch:server property

Since 0.13.11

Property Details

The "account" property

  "account"                  TpAccount*            : Read / Write / Construct Only

This search's account.

Since 0.13.11


The "limit" property

  "limit"                    guint                 : Read / Write

The maximum number of results that the server should return. This is only supported by some protocols; use tp_capabilities_supports_contact_search() to check if it's supported.

To change the limit after the object has been constructed, use tp_contact_search_reset_async().

Default value: 0

Since 0.13.11


The "server" property

  "server"                   gchar*                : Read / Write / Construct Only

The search server. This is only supported by some protocols; use tp_capabilities_supports_contact_search() to check if it's supported.

To change the server after the object has been constructed, use tp_contact_search_reset_async().

Default value: NULL

Since 0.13.11


The "state" property

  "state"                    guint                 : Read

This search's state, as a TpChannelContactSearchState.

Default value: 0

Since 0.13.11

Signal Details

The "search-results-received" signal

void                user_function                      (TpContactSearch *self,
                                                        gpointer         results,
                                                        gpointer         user_data)      : Run Last

Emitted when search results are received. Note that this signal may be emitted multiple times for the same search.

self :

a contact search

results :

a GList with the search results. [type GLib.List][element-type TelepathyGLib.ContactSearchResult]

user_data :

user data set when the signal handler was connected.

Since 0.13.11

See Also

TpChannel