<!-- ##### SECTION Title ##### -->
contact-list-manager

<!-- ##### SECTION Short_Description ##### -->


<!-- ##### SECTION Long_Description ##### -->
<para>

</para>

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

</para>

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


<!-- ##### SECTION Image ##### -->


<!-- ##### STRUCT TpBaseContactList ##### -->
<para>

</para>


<!-- ##### ARG TpBaseContactList:connection ##### -->
<para>

</para>

<!-- ##### STRUCT TpBaseContactListClass ##### -->
<para>

</para>


<!-- ##### ENUM TpPresenceState ##### -->
<para>

</para>

@TP_PRESENCE_STATE_NO: 
@TP_PRESENCE_STATE_ASK: 
@TP_PRESENCE_STATE_YES: 

<!-- ##### FUNCTION tp_base_contact_list_set_list_received ##### -->
<para>

</para>

@self: 


<!-- ##### FUNCTION tp_base_contact_list_contacts_changed ##### -->
<para>

</para>

@self: 
@changed: 
@removed: 


<!-- ##### USER_FUNCTION TpBaseContactListBooleanFunc ##### -->
<para>

</para>

@self: 
@Returns: 


<!-- ##### FUNCTION tp_base_contact_list_false_func ##### -->
<para>

</para>

@self: 
@Returns: 


<!-- ##### FUNCTION tp_base_contact_list_true_func ##### -->
<para>

</para>

@self: 
@Returns: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_can_change_subscriptions ##### -->
<para>

</para>

@cls: 
@check: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_request_uses_message ##### -->
<para>

</para>

@cls: 
@check: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_subscriptions_persist ##### -->
<para>

</para>

@cls: 
@check: 


<!-- ##### USER_FUNCTION TpBaseContactListGetContactsFunc ##### -->
<para>

</para>

@self: 
@Returns: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_get_contacts ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### USER_FUNCTION TpBaseContactListGetPresenceStatesFunc ##### -->
<para>

</para>

@self: 
@contact: 
@subscribe: 
@publish: 
@publish_request: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_get_states ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### USER_FUNCTION TpBaseContactListRequestSubscriptionFunc ##### -->
<para>

</para>

@self: 
@contacts: 
@message: 
@error: 
@Returns: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_request_subscription ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### USER_FUNCTION TpBaseContactListActOnContactsFunc ##### -->
<para>

</para>

@self: 
@contacts: 
@error: 
@Returns: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_authorize_publication ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_just_store_contacts ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_remove_contacts ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_unsubscribe ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_unpublish ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### USER_FUNCTION TpBaseContactListNormalizeFunc ##### -->
<para>

</para>

@self: 
@s: 
@Returns: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_normalize_group ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### USER_FUNCTION TpBaseContactListGetContactGroupsFunc ##### -->
<para>

</para>

@self: 
@contact: 
@Returns: 


<!-- ##### USER_FUNCTION TpBaseContactListGetGroupsFunc ##### -->
<para>

</para>

@self: 
@Returns: 


<!-- ##### USER_FUNCTION TpBaseContactListGroupContactsFunc ##### -->
<para>

</para>

@self: 
@group: 
@contacts: 


<!-- ##### USER_FUNCTION TpBaseContactListRemoveGroupFunc ##### -->
<para>

</para>

@self: 
@group: 
@error: 
@Returns: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_add_to_group ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_disjoint_groups ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_get_contact_groups ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_get_groups ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_remove_from_group ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_remove_group ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### FUNCTION tp_base_contact_list_group_renamed ##### -->
<para>

</para>

@self: 
@old_name: 
@new_name: 


<!-- ##### FUNCTION tp_base_contact_list_groups_changed ##### -->
<para>

</para>

@self: 
@contacts: 
@added: 
@n_added: 
@removed: 
@n_removed: 


<!-- ##### FUNCTION tp_base_contact_list_groups_created ##### -->
<para>

</para>

@self: 
@created: 
@n_created: 


<!-- ##### FUNCTION tp_base_contact_list_groups_removed ##### -->
<para>

</para>

@self: 
@removed: 
@n_removed: 


<!-- ##### USER_FUNCTION TpBaseContactListContactBooleanFunc ##### -->
<para>

</para>

@self: 
@contact: 
@Returns: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_can_block ##### -->
<para>

</para>

@cls: 
@check: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_get_blocked_contacts ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_get_contact_blocked ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_block_contacts ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### FUNCTION tp_base_contact_list_class_implement_unblock_contacts ##### -->
<para>

</para>

@cls: 
@impl: 


<!-- ##### FUNCTION tp_base_contact_list_contact_blocking_changed ##### -->
<para>

</para>

@self: 
@changed: 


