<!-- ##### SECTION Title ##### -->
ShellTpClient

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


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

</para>

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

</para>

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


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


<!-- ##### STRUCT ShellTpClientClass ##### -->
<para>

</para>


<!-- ##### USER_FUNCTION ShellTpClientObserveChannelsImpl ##### -->
<para>

</para>

@client: 
@account: 
@connection: 
@channels: 
@dispatch_operation: 
@requests: 
@context: 
@user_data: 


<!-- ##### FUNCTION shell_tp_client_set_observe_channels_func ##### -->
<para>

</para>

@self: 
@observe_impl: 
@user_data: 
@destroy: 


<!-- ##### USER_FUNCTION ShellTpClientApproveChannelsImpl ##### -->
<para>

</para>

@client: 
@account: 
@connection: 
@channels: 
@dispatch_operation: 
@context: 
@user_data: 


<!-- ##### FUNCTION shell_tp_client_set_approve_channels_func ##### -->
<para>

</para>

@self: 
@approve_impl: 
@user_data: 
@destroy: 


<!-- ##### USER_FUNCTION ShellTpClientHandleChannelsImpl ##### -->
<para>

</para>

@client: 
@account: 
@connection: 
@channels: 
@requests_satisfied: 
@user_action_time: 
@context: 
@user_data: 


<!-- ##### FUNCTION shell_tp_client_set_handle_channels_func ##### -->
<para>

</para>

@self: 
@handle_channels_impl: 
@user_data: 
@destroy: 


<!-- ##### USER_FUNCTION ShellTpClientContactListChangedImpl ##### -->
<para>

</para>

@connection: 
@added: 
@removed: 
@user_data: 


<!-- ##### FUNCTION shell_tp_client_set_contact_list_changed_func ##### -->
<para>

</para>

@self: 
@contact_list_changed_impl: 
@user_data: 
@destroy: 


<!-- ##### FUNCTION shell_tp_client_grab_contact_list_changed ##### -->
<para>

</para>

@self: 
@conn: 


