package com.red.circle.live.app.listener.agora.callback;

/**
 * 监听器.
 *
 * @author pengliang on 2023/12/29
 */
public interface AgoraChannelWebhookListener {

  /**
   * 101 创建频道.
   */
  void channelCreate(AgoraChannelWebhook webhook, AgoraChannelBase body);

  /**
   * 102 销毁频道.
   */
  void channelDestroy(AgoraChannelWebhook webhook, AgoraChannelBase body);

  /**
   * 103 主播加入频道.
   */
  void broadcasterJoinChannel(AgoraChannelWebhook webhook, AgoraChannelUserJoin body);

  /**
   * 104 主播离开频道.
   */
  void broadcasterLeaveChannel(AgoraChannelWebhook webhook, AgoraChannelUserLeave body);

  /**
   * 105 观众加入频道.
   */
  void audienceJoinChannel(AgoraChannelWebhook webhook, AgoraChannelUserJoin body);

  /**
   * 106 观众离开频道.
   */
  void audienceLeaveChannel(AgoraChannelWebhook webhook, AgoraChannelUserLeave body);

  /**
   * 111 观众将角色切换为主播.
   */
  void clientRoleChangeToBroadcaster(AgoraChannelWebhook webhook, AgoraChannelUserRoleChange body);

  /**
   * 112 主播将角色切换为观众.
   */
  void clientRoleChangeToAudience(AgoraChannelWebhook webhook, AgoraChannelUserRoleChange body);


}
