First set of Sock Chat specific splitouts.

This commit is contained in:
flash 2025-04-26 22:47:57 +00:00
parent 158a0d3cea
commit 6593929827
Signed by: flash
GPG key ID: 2C9C2C574D47FE3E
46 changed files with 82 additions and 53 deletions

View file

@ -1,4 +1,4 @@
namespace SharpChat {
namespace SharpChat.SockChat {
public interface S2CPacket {
string Pack();
}

View file

@ -1,6 +1,6 @@
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class AuthFailS2CPacket(
AuthFailS2CPacket.Reason reason,
DateTimeOffset? expiresAt = null

View file

@ -1,6 +1,6 @@
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class AuthSuccessS2CPacket(
string userId,
string userName,

View file

@ -1,7 +1,7 @@
using SharpChat.Bans;
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class BanListS2CPacket(
long msgId,
IEnumerable<BanListS2CPacket.Entry> entries

View file

@ -1,6 +1,6 @@
using System.Text;
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class ChannelCreateS2CPacket(
string name,
bool hasPassword,

View file

@ -1,6 +1,6 @@
using System.Text;
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class ChannelDeleteS2CPacket(
string channelName
) : S2CPacket {

View file

@ -1,6 +1,6 @@
using System.Text;
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class ChannelUpdateS2CPacket(
string previousName,
string newName,

View file

@ -1,6 +1,6 @@
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class ChatMessageAddS2CPacket(
long msgId,
DateTimeOffset created,

View file

@ -1,6 +1,6 @@
using System.Text;
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class ChatMessageDeleteS2CPacket(long eventId) : S2CPacket {
public string Pack() {
StringBuilder sb = new();

View file

@ -1,6 +1,6 @@
using System.Text;
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class CommandResponseS2CPacket(
long msgId,
string stringId,

View file

@ -1,6 +1,6 @@
using System.Text;
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class ContextChannelsS2CPacket(IEnumerable<ContextChannelsS2CPacket.Entry> entries) : S2CPacket {
public record Entry(string name, bool hasPassword, bool isTemporary);

View file

@ -1,6 +1,6 @@
using System.Text;
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class ContextClearS2CPacket(ContextClearS2CPacket.Mode mode) : S2CPacket {
public enum Mode {
Messages = 0,

View file

@ -1,6 +1,6 @@
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class ContextUsersS2CPacket(IEnumerable<ContextUsersS2CPacket.Entry> entries) : S2CPacket {
public record Entry(string id, string name, ColourInheritable colour, int rank, UserPermissions perms, bool visible);

View file

@ -1,6 +1,6 @@
using System.Text;
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class ForceDisconnectS2CPacket(DateTimeOffset? expires = null) : S2CPacket {
public string Pack() {
StringBuilder sb = new();

View file

@ -1,4 +1,4 @@
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class PongS2CPacket : S2CPacket {
public string Pack() {
return "0\tpong";

View file

@ -1,6 +1,6 @@
using System.Text;
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class UserChannelForceJoinS2CPacket(string channelName) : S2CPacket {
public string Pack() {
StringBuilder sb = new();

View file

@ -1,6 +1,6 @@
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class UserChannelJoinS2CPacket(
long msgId,
string userId,

View file

@ -1,6 +1,6 @@
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class UserChannelLeaveS2CPacket(long msgId, string userId) : S2CPacket {
public string Pack() {
StringBuilder sb = new();

View file

@ -1,6 +1,6 @@
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class UserConnectS2CPacket(
long msgId,
DateTimeOffset joined,

View file

@ -1,6 +1,6 @@
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class UserDisconnectS2CPacket(
long msgId,
DateTimeOffset disconnected,

View file

@ -1,6 +1,6 @@
using System.Text;
namespace SharpChat.S2CPackets {
namespace SharpChat.SockChat.S2CPackets {
public class UserUpdateS2CPacket(
string userId,
string userName,

View file

@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\SharpChatCommon\SharpChatCommon.csproj" />
</ItemGroup>
</Project>

View file

@ -19,6 +19,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpChatCommon", "SharpCha
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpChat.Flashii", "SharpChat.Flashii\SharpChat.Flashii.csproj", "{A9B0B652-C20F-4C62-A96A-EF7ACD2079E9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpChat.SockChat", "SharpChat.SockChat\SharpChat.SockChat.csproj", "{FEDDC565-B784-4D6F-BEF5-121C383D7AB2}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Protos", "Protos", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Providers", "Providers", "{5BB7CDAA-06BB-4746-BA07-7EF9090774D8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -37,10 +43,18 @@ Global
{A9B0B652-C20F-4C62-A96A-EF7ACD2079E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A9B0B652-C20F-4C62-A96A-EF7ACD2079E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A9B0B652-C20F-4C62-A96A-EF7ACD2079E9}.Release|Any CPU.Build.0 = Release|Any CPU
{FEDDC565-B784-4D6F-BEF5-121C383D7AB2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FEDDC565-B784-4D6F-BEF5-121C383D7AB2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FEDDC565-B784-4D6F-BEF5-121C383D7AB2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FEDDC565-B784-4D6F-BEF5-121C383D7AB2}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{A9B0B652-C20F-4C62-A96A-EF7ACD2079E9} = {5BB7CDAA-06BB-4746-BA07-7EF9090774D8}
{FEDDC565-B784-4D6F-BEF5-121C383D7AB2} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {42279FE1-5980-440A-87F8-25338DFE54CF}
EndGlobalSection

View file

@ -1,7 +1,7 @@
using SharpChat.Auth;
using SharpChat.Bans;
using SharpChat.Configuration;
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
namespace SharpChat.C2SPacketHandlers {
public class AuthC2SPacketHandler(

View file

@ -1,5 +1,5 @@
using SharpChat.Auth;
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
using System.Net;
namespace SharpChat.C2SPacketHandlers {

View file

@ -1,5 +1,5 @@
using SharpChat.Bans;
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
namespace SharpChat.ClientCommands {
public class BanListClientCommand(BansClient bansClient) : ClientCommand {

View file

@ -1,5 +1,5 @@
using SharpChat.Events;
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
namespace SharpChat.ClientCommands {
public class BroadcastClientCommand : ClientCommand {

View file

@ -1,4 +1,4 @@
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
namespace SharpChat.ClientCommands {
public class CreateChannelClientCommand : ClientCommand {

View file

@ -1,4 +1,4 @@
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
namespace SharpChat.ClientCommands {
public class DeleteChannelClientCommand : ClientCommand {

View file

@ -1,5 +1,5 @@
using SharpChat.EventStorage;
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
namespace SharpChat.ClientCommands
{

View file

@ -1,4 +1,4 @@
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
namespace SharpChat.ClientCommands {
public class JoinChannelClientCommand : ClientCommand {

View file

@ -1,5 +1,5 @@
using SharpChat.Bans;
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
using System.Net;
namespace SharpChat.ClientCommands {

View file

@ -1,4 +1,4 @@
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
using System.Globalization;
using System.Text;

View file

@ -1,5 +1,5 @@
using SharpChat.Bans;
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
using System.Net;
namespace SharpChat.ClientCommands {

View file

@ -1,5 +1,5 @@
using SharpChat.Bans;
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
namespace SharpChat.ClientCommands {
public class PardonUserClientCommand(BansClient bansClient) : ClientCommand {

View file

@ -1,4 +1,4 @@
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
namespace SharpChat.ClientCommands {
public class PasswordChannelClientCommand : ClientCommand {

View file

@ -1,4 +1,4 @@
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
namespace SharpChat.ClientCommands {
public class RankChannelClientCommand : ClientCommand {

View file

@ -1,4 +1,4 @@
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
using System.Net;
namespace SharpChat.ClientCommands {

View file

@ -1,4 +1,4 @@
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
namespace SharpChat.ClientCommands {
public class ShutdownRestartClientCommand(ManualResetEvent waitHandle, Func<bool> shutdownCheck) : ClientCommand {

View file

@ -1,5 +1,5 @@
using SharpChat.Events;
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
namespace SharpChat.ClientCommands {
public class WhisperClientCommand : ClientCommand {

View file

@ -1,4 +1,4 @@
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
using System.Text;
namespace SharpChat.ClientCommands {

View file

@ -1,4 +1,5 @@
using Fleck;
using SharpChat.SockChat;
using System.Net;
namespace SharpChat {

View file

@ -1,7 +1,8 @@
using SharpChat.Events;
using SharpChat.EventStorage;
using SharpChat.S2CPackets;
using SharpChat.Snowflake;
using SharpChat.SockChat;
using SharpChat.SockChat.S2CPackets;
using System.Net;
namespace SharpChat {

View file

@ -34,6 +34,7 @@
<ItemGroup>
<ProjectReference Include="..\SharpChat.Flashii\SharpChat.Flashii.csproj" />
<ProjectReference Include="..\SharpChat.SockChat\SharpChat.SockChat.csproj" />
<ProjectReference Include="..\SharpChatCommon\SharpChatCommon.csproj" />
</ItemGroup>

View file

@ -1,8 +1,7 @@
using SharpChat.EventStorage;
using SharpChat.EventStorage;
using System.Text;
namespace SharpChat.S2CPackets
{
namespace SharpChat.SockChat.S2CPackets {
public class ContextMessageS2CPacket(StoredEventInfo evt, bool notify = false) : S2CPacket {
public StoredEventInfo Event { get; private set; } = evt ?? throw new ArgumentNullException(nameof(evt));

View file

@ -4,7 +4,7 @@ using SharpChat.Bans;
using SharpChat.C2SPacketHandlers;
using SharpChat.ClientCommands;
using SharpChat.Configuration;
using SharpChat.S2CPackets;
using SharpChat.SockChat.S2CPackets;
using System.Net;
namespace SharpChat {