Files
2026-04-29 15:13:24 +08:00

41 lines
1.8 KiB
C#

using Unity.WebRTC;
namespace Unity.RenderStreaming.Signaling
{
public delegate void OnStartHandler(ISignaling signaling);
public delegate void OnConnectHandler(ISignaling signaling, string connectionId, bool polite);
public delegate void OnDisconnectHandler(ISignaling signaling, string connectionId);
public delegate void OnOfferHandler(ISignaling signaling, DescData e);
public delegate void OnAnswerHandler(ISignaling signaling, DescData e);
public delegate void OnIceCandidateHandler(ISignaling signaling, CandidateData e);
public delegate void OnParticipantJoinedHandler(ISignaling signaling, ParticipantEventData e);
public delegate void OnParticipantLeftHandler(ISignaling signaling, ParticipantEventData e);
public delegate void OnCallRequestHandler(ISignaling signaling, CallRequestData e);
public delegate void OnMessageHandler(ISignaling signaling, OnMessageData e);
public interface ISignaling
{
void Start();
void Stop();
event OnStartHandler OnStart;
event OnConnectHandler OnCreateConnection;
event OnDisconnectHandler OnDestroyConnection;
event OnOfferHandler OnOffer;
event OnAnswerHandler OnAnswer;
event OnIceCandidateHandler OnIceCandidate;
event OnParticipantJoinedHandler OnParticipantJoined;
event OnParticipantLeftHandler OnParticipantLeft;
event OnCallRequestHandler OnCallRequest;
event OnMessageHandler OnMessage;
string Url { get; }
void OpenConnection(string connectionId);
void CloseConnection(string connectionId);
void SendOffer(string connectionId, RTCSessionDescription offer);
void SendAnswer(string connectionId, RTCSessionDescription answer);
void SendCandidate(string connectionId, RTCIceCandidate candidate);
}
}