<!-- ##### SECTION Title ##### -->
GalagoService

<!-- ##### SECTION Short_Description ##### -->
A messaging or VoIP service.

<!-- ##### SECTION Long_Description ##### -->
<para>
#GalagoService represents a service of some kind, typically used for
messaging or VoIP. It owns a list of #GalagoAccount<!-- -->s, and contains
rules determining how account usernames should be normalized and compared.
</para>
<para>
#GalagoService<!-- -->s are created through galago_create_service().
</para>
<para>
By default, account usernames are converted to lowercase and all spaces
are removed when normalizing them for comparison. #GalagoServiceFlags can
change this behavior.
</para>

<!-- ##### SECTION See_Also ##### -->
<para>
#GalagoAccount
</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### ENUM GalagoServiceFlags ##### -->
<para>
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.
</para>

@GALAGO_PRESERVE_SPACES: 
	Preserve spaces in the account usernames when normalizing.
@GALAGO_PRESERVE_CASE: 
	Preserve casing in the account usernames when normalizing.
@GALAGO_STRIP_SLASH: 
	Strip the first slash and everything after it in the account usernames
	when normalizing. This is used for services such as Jabber.

<!-- ##### STRUCT GalagoService ##### -->
<para>
This is an opaque structure representing a service. This should not be used
directly. Use the accessor functions below.
</para>


<!-- ##### SIGNAL GalagoService::account-added ##### -->
<para>

</para>

@galagoservice: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL GalagoService::account-removed ##### -->
<para>

</para>

@galagoservice: the object which received the signal.
@arg1: 

<!-- ##### ARG GalagoService:flags ##### -->
<para>

</para>

<!-- ##### ARG GalagoService:id ##### -->
<para>

</para>

<!-- ##### ARG GalagoService:name ##### -->
<para>

</para>

<!-- ##### MACRO GALAGO_DBUS_SERVICE_INTERFACE ##### -->
<para>
The D-BUS interface that #GalagoService maps to.
</para>



<!-- ##### MACRO GALAGO_SERVICE_ID_AIM ##### -->
<para>
AOL Instant Messenger.
</para>



<!-- ##### MACRO GALAGO_SERVICE_ID_GADUGADU ##### -->
<para>
Gadu-Gadu.
</para>



<!-- ##### MACRO GALAGO_SERVICE_ID_GROUPWISE ##### -->
<para>
Novell GroupWise.
</para>



<!-- ##### MACRO GALAGO_SERVICE_ID_ICQ ##### -->
<para>
ICQ.
</para>



<!-- ##### MACRO GALAGO_SERVICE_ID_IRC ##### -->
<para>
Internet Relay Chat.
</para>



<!-- ##### MACRO GALAGO_SERVICE_ID_JABBER ##### -->
<para>
Jabber.
</para>



<!-- ##### MACRO GALAGO_SERVICE_ID_MSN ##### -->
<para>
MSN Messenger.
</para>



<!-- ##### MACRO GALAGO_SERVICE_ID_NAPSTER ##### -->
<para>
Napster Chat.
</para>



<!-- ##### MACRO GALAGO_SERVICE_ID_SILC ##### -->
<para>
Secure Internet Live Conferencing.
</para>



<!-- ##### MACRO GALAGO_SERVICE_ID_TREPIA ##### -->
<para>
Trepia Instant Messenger.
</para>



<!-- ##### MACRO GALAGO_SERVICE_ID_YAHOO ##### -->
<para>
Yahoo! Messenger.
</para>



<!-- ##### MACRO GALAGO_SERVICE_ID_ZEPHYR ##### -->
<para>
Zephyr.
</para>



<!-- ##### FUNCTION galago_service_get_id ##### -->
<para>

</para>

@service: 
@Returns: 


<!-- ##### FUNCTION galago_service_get_name ##### -->
<para>

</para>

@service: 
@Returns: 


<!-- ##### FUNCTION galago_service_get_flags ##### -->
<para>

</para>

@service: 
@Returns: 


<!-- ##### FUNCTION galago_service_create_account ##### -->
<para>

</para>

@service: 
@person: 
@username: 
@Returns: 


<!-- ##### FUNCTION galago_service_get_account ##### -->
<para>

</para>

@service: 
@username: 
@query: 
@Returns: 


<!-- ##### FUNCTION galago_service_get_account_async ##### -->
<para>

</para>

@service: 
@username: 
@cb: 
@user_data: 
@free_func: 
@Returns: 


<!-- ##### FUNCTION galago_service_get_accounts ##### -->
<para>

</para>

@service: 
@query: 
@Returns: 


<!-- ##### FUNCTION galago_service_normalize ##### -->
<para>

</para>

@service: 
@username: 
@Returns: 


