![]() |
![]() |
![]() |
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:
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. |