35 lines
1.9 KiB
C#
35 lines
1.9 KiB
C#
namespace GmRelay.Shared.Platform;
|
|
|
|
public interface IPlatformMessenger
|
|
{
|
|
Task<PlatformMessageRef> SendScheduleAsync(PlatformScheduleMessage message, CancellationToken ct);
|
|
|
|
Task UpdateScheduleAsync(PlatformScheduleMessage message, CancellationToken ct);
|
|
|
|
Task SendGroupMessageAsync(PlatformGroup group, string htmlText, CancellationToken ct);
|
|
|
|
Task SendPrivateMessageAsync(PlatformPrivateMessage message, CancellationToken ct);
|
|
|
|
Task AnswerInteractionAsync(PlatformInteractionReply reply, CancellationToken ct);
|
|
|
|
Task SendCalendarFileAsync(PlatformCalendarFile file, CancellationToken ct);
|
|
|
|
Task<PlatformMessageRef> SendConfirmationRequestAsync(PlatformConfirmationRequest request, CancellationToken ct) =>
|
|
throw new NotSupportedException("This platform messenger does not support confirmation requests.");
|
|
|
|
Task UpdateConfirmationRequestAsync(PlatformRsvpMessageUpdate update, CancellationToken ct) =>
|
|
throw new NotSupportedException("This platform messenger does not support confirmation request updates.");
|
|
|
|
Task<PlatformMessageRef> SendJoinLinkNotificationAsync(PlatformJoinLinkNotification notification, CancellationToken ct) =>
|
|
throw new NotSupportedException("This platform messenger does not support join-link notifications.");
|
|
|
|
Task SendDirectSessionNotificationAsync(PlatformDirectSessionNotification notification, CancellationToken ct) =>
|
|
throw new NotSupportedException("This platform messenger does not support direct session notifications.");
|
|
|
|
Task SendRsvpOutcomeAsync(PlatformRsvpOutcomeNotification notification, CancellationToken ct) =>
|
|
throw new NotSupportedException("This platform messenger does not support RSVP outcome notifications.");
|
|
|
|
Task UpdateRescheduleVoteAsync(PlatformRescheduleVoteUpdate update, CancellationToken ct) =>
|
|
throw new NotSupportedException("This platform messenger does not support reschedule vote updates.");
|
|
}
|