teamtalk 6.0.0

TeamTalk SDK for Rust
Documentation
mod types;

use self::types::{ChannelHook, ClientHook, EventHook, MessageHook, TextHook, UserHook};

mod builders;
mod dispatch;

/// Event hooks for reacting to client activity.
#[derive(Default)]
pub struct ClientHooks {
    on_event: Option<EventHook>,
    on_connect_success: Option<ClientHook>,
    on_connect_failed: Option<ClientHook>,
    on_connect_crypt_error: Option<ClientHook>,
    on_connect_max_payload_updated: Option<MessageHook>,
    on_connection_lost: Option<ClientHook>,
    on_cmd_processing: Option<MessageHook>,
    on_cmd_error: Option<MessageHook>,
    on_cmd_success: Option<MessageHook>,
    on_logged_in: Option<ClientHook>,
    on_logged_out: Option<ClientHook>,
    on_myself_kicked: Option<MessageHook>,
    on_user_logged_in: Option<UserHook>,
    on_user_logged_out: Option<UserHook>,
    on_user_update: Option<UserHook>,
    on_joined: Option<ChannelHook>,
    on_user_joined: Option<UserHook>,
    on_user_left: Option<UserHook>,
    on_text_message: Option<TextHook>,
    on_channel_created: Option<MessageHook>,
    on_channel_updated: Option<MessageHook>,
    on_channel_removed: Option<MessageHook>,
    on_server_update: Option<MessageHook>,
    on_server_statistics: Option<MessageHook>,
    on_file_new: Option<MessageHook>,
    on_file_remove: Option<MessageHook>,
    on_user_account: Option<MessageHook>,
    on_banned_user: Option<MessageHook>,
    on_user_account_created: Option<MessageHook>,
    on_user_account_removed: Option<MessageHook>,
    on_user_state_change: Option<MessageHook>,
    on_video_capture_frame: Option<MessageHook>,
    on_media_file_video: Option<MessageHook>,
    on_desktop_window: Option<MessageHook>,
    on_desktop_cursor: Option<MessageHook>,
    on_desktop_input: Option<MessageHook>,
    on_user_record_media_file: Option<MessageHook>,
    on_audio_block: Option<MessageHook>,
    on_internal_error: Option<MessageHook>,
    on_voice_activation: Option<MessageHook>,
    on_hotkey: Option<MessageHook>,
    on_hotkey_test: Option<MessageHook>,
    on_file_transfer: Option<MessageHook>,
    on_desktop_window_transfer: Option<MessageHook>,
    on_stream_media_file: Option<MessageHook>,
    on_local_media_file: Option<MessageHook>,
    on_audio_input: Option<MessageHook>,
    on_user_first_voice_stream_packet: Option<MessageHook>,
    on_sound_device_added: Option<MessageHook>,
    on_sound_device_removed: Option<MessageHook>,
    on_sound_device_unplugged: Option<MessageHook>,
    on_sound_device_new_default_input: Option<MessageHook>,
    on_sound_device_new_default_output: Option<MessageHook>,
    on_sound_device_new_default_input_com_device: Option<MessageHook>,
    on_sound_device_new_default_output_com_device: Option<MessageHook>,
    on_before_reconnect: Option<MessageHook>,
    on_reconnecting: Option<MessageHook>,
    on_after_reconnect: Option<MessageHook>,
    on_reconnect_failed: Option<MessageHook>,
    on_before_auto_login: Option<MessageHook>,
    on_auto_login_failed: Option<MessageHook>,
    on_before_auto_join: Option<MessageHook>,
    on_auto_join_failed: Option<MessageHook>,
    on_auto_recover_completed: Option<MessageHook>,
}