LANCommander/LANCommander.SDK/Rpc/Clients/RpcClient.Chat.cs

40 lines
No EOL
1.3 KiB
C#

using System;
using System.Threading.Tasks;
using LANCommander.SDK.Models;
using LANCommander.SDK.Rpc.Client;
using LANCommander.SDK.Services;
namespace LANCommander.SDK.Rpc.Clients;
internal partial class RpcSubscriber : IRpcSubscriber
{
public async Task Chat_AddedToThreadAsync(ChatThread thread)
{
if (ChatClient.OnAddedToThreadAsync != null)
await ChatClient.OnAddedToThreadAsync(thread);
}
public async Task Chat_ReceiveMessagesAsync(Guid threadId, ChatMessage[] messages)
{
if (ChatClient.OnReceivedMessagesAsync != null)
await ChatClient.OnReceivedMessagesAsync(threadId, messages);
}
public async Task Chat_ReceiveMessageAsync(Guid threadId, ChatMessage message)
{
if (ChatClient.OnReceivedMessageAsync != null)
await ChatClient.OnReceivedMessageAsync(threadId, message);
}
public async Task Chat_StartTyping(Guid threadId, string userIdentifier)
{
if (ChatClient.OnStartTypingAsync != null)
await ChatClient.OnStartTypingAsync(threadId, userIdentifier);
}
public async Task Chat_StopTyping(Guid threadId, string userIdentifier)
{
if (ChatClient.OnStopTypingAsync != null)
await ChatClient.OnStopTypingAsync(threadId, userIdentifier);
}
}