| libgalago Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Properties | Signals | ||||
enum GalagoServiceFlags; struct GalagoService; #define GALAGO_DBUS_SERVICE_INTERFACE #define GALAGO_SERVICE_ID_AIM #define GALAGO_SERVICE_ID_GADUGADU #define GALAGO_SERVICE_ID_GROUPWISE #define GALAGO_SERVICE_ID_ICQ #define GALAGO_SERVICE_ID_IRC #define GALAGO_SERVICE_ID_JABBER #define GALAGO_SERVICE_ID_MSN #define GALAGO_SERVICE_ID_NAPSTER #define GALAGO_SERVICE_ID_SILC #define GALAGO_SERVICE_ID_TREPIA #define GALAGO_SERVICE_ID_YAHOO #define GALAGO_SERVICE_ID_ZEPHYR const char * galago_service_get_id (const GalagoService *service); const char * galago_service_get_name (const GalagoService *service); GalagoServiceFlags galago_service_get_flags (const GalagoService *service); GalagoAccount * galago_service_create_account (GalagoService *service,GalagoPerson *person,const char *username); GalagoAccount * galago_service_get_account (const GalagoService *service,const char *username,gboolean query); GalagoCallHandle galago_service_get_account_async (const GalagoService *service,const char *username,GalagoServiceAccountCb cb,gpointer user_data,GFreeFunc free_func); GList * galago_service_get_accounts (const GalagoService *service,gboolean query); char * galago_service_normalize (const GalagoService *service,const char *username);
"flags" GalagoServiceFlags : Read / Write / Construct Only "id" gchar* : Read / Write / Construct Only "name" gchar* : Read / Write / Construct Only
GalagoService represents a service of some kind, typically used for messaging or VoIP. It owns a list of GalagoAccounts, and contains rules determining how account usernames should be normalized and compared.
GalagoServices are created through galago_create_service().
By default, account usernames are converted to lowercase and all spaces are removed when normalizing them for comparison. GalagoServiceFlags can change this behavior.
typedef enum
{
/* Preserve spaces during normalization */
GALAGO_PRESERVE_SPACES = 1 << 0,
/* Preserve case during normalization */
GALAGO_PRESERVE_CASE = 1 << 1,
/* Strip a slash and everything after it during normalization. */
GALAGO_STRIP_SLASH = 1 << 2
} GalagoServiceFlags;
A list of flags specifying rules for the service. Currently this consists of flags dictating how account usernames should be normalized when comparing the usernames.
| Preserve spaces in the account usernames when normalizing. | |
| Preserve casing in the account usernames when normalizing. | |
| Strip the first slash and everything after it in the account usernames when normalizing. This is used for services such as Jabber. |
struct GalagoService;
This is an opaque structure representing a service. This should not be used directly. Use the accessor functions below.
#define GALAGO_DBUS_SERVICE_INTERFACE "org.freedesktop.Galago.Service"
The D-BUS interface that GalagoService maps to.
const char * galago_service_get_id (const GalagoService *service);
Returns a service's ID.
|
The service. |
Returns : |
The service's ID. |
const char * galago_service_get_name (const GalagoService *service);
Returns a service's name.
|
The service. |
Returns : |
The service's name. |
GalagoServiceFlags galago_service_get_flags (const GalagoService *service);
Returns a service's flags.
|
The service. |
Returns : |
The flags. |
GalagoAccount * galago_service_create_account (GalagoService *service,GalagoPerson *person,const char *username);
Creates an account belonging to this service.
If the account already exists, the existing account will be returned.
|
The service. |
|
The person the account belongs to. |
|
The account username. |
Returns : |
The account. |
GalagoAccount * galago_service_get_account (const GalagoService *service,const char *username,gboolean query);
Returns the account with the specified username from a service.
|
The service. |
|
The account's username. |
|
TRUE if a remote query should be done if there is no local account found, or FALSE. |
Returns : |
The account, if found, or NULL. |
GalagoCallHandle galago_service_get_account_async (const GalagoService *service,const char *username,GalagoServiceAccountCb cb,gpointer user_data,GFreeFunc free_func);
Asynchronously retrieves the account with the specified username from a service.
For example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
static void account_received_cb(GalagoService *service, GalagoAccount *account, gpointer user_data) { } static void get_bob_account(GalagoService *service) { GalagoCallHandle handle; handle = galago_service_get_account_async(service, "Bob", account_received_cb, NULL, NULL); } |
|
The service. |
|
The account's username. |
|
The callback function that will be passed the account. |
|
Custom data to pass to the callback function. |
|
Optional function to free user_data when the request completes. |
Returns : |
A valid GalagoCallHandle on success. On error, this will return
GALAGO_CALL_HANDLE_INVALID. |
Since 0.5.2
GList * galago_service_get_accounts (const GalagoService *service,gboolean query);
Returns a list of all accounts in the service.
This may emit an account-added signal for every object that returns. If
your code connects to this signal and calls galago_service_get_accounts()
as a result, you will want to add a lock so that you don't end up with
unwanted side-effects.
|
The service. |
|
TRUE if a remote query should be done if there is no local account found, or FALSE. |
Returns : |
A list of all accounts in the service. |
char * galago_service_normalize (const GalagoService *service,const char *username);
Normalizes an account username based on the service's normalization flags.
|
The service. |
|
The username to normalize. |
Returns : |
The string. This must be freed. |
"id" property "id" gchar* : Read / Write / Construct Only
The service's unique ID.
Default value: NULL
"account-added" signalvoid user_function (GalagoService *service,
gpointer account,
gpointer user_data) : Action
Emitted when an account is added to the service.
|
The object which received the signal. |
|
The account that was added. |
|
user data set when the signal handler was connected. |
"account-removed" signalvoid user_function (GalagoService *service,
gpointer account,
gpointer user_data) : Action
Emitted when an account is removed to the service.
|
The object which received the signal. |
|
The account that was removed. |
|
user data set when the signal handler was connected. |