Remove RPC from main distribution (#925)

This commit is contained in:
Christopher F
2018-01-05 20:23:19 -05:00
committed by GitHub
parent 5f46aef3a7
commit b30af57b7f
81 changed files with 1 additions and 20 deletions

View File

@@ -0,0 +1,36 @@
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Diagnostics;
using System.Linq;
using Model = Discord.API.Rpc.Guild;
namespace Discord.Rpc
{
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class RpcGuild : RpcEntity<ulong>
{
public string Name { get; private set; }
public string IconUrl { get; private set; }
public IReadOnlyCollection<RpcGuildUser> Users { get; private set; }
internal RpcGuild(DiscordRpcClient discord, ulong id)
: base(discord, id)
{
}
internal static RpcGuild Create(DiscordRpcClient discord, Model model)
{
var entity = new RpcGuild(discord, model.Id);
entity.Update(model);
return entity;
}
internal void Update(Model model)
{
Name = model.Name;
IconUrl = model.IconUrl;
Users = model.Members.Select(x => RpcGuildUser.Create(Discord, x)).ToImmutableArray();
}
public override string ToString() => Name;
private string DebuggerDisplay => $"{Name} ({Id})";
}
}

View File

@@ -0,0 +1,30 @@
using System.Diagnostics;
using Model = Discord.API.Rpc.GuildStatusEvent;
namespace Discord.Rpc
{
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class RpcGuildStatus
{
public RpcGuildSummary Guild { get; }
public int Online { get; private set; }
internal RpcGuildStatus(ulong guildId)
{
Guild = new RpcGuildSummary(guildId);
}
internal static RpcGuildStatus Create(Model model)
{
var entity = new RpcGuildStatus(model.Guild.Id);
entity.Update(model);
return entity;
}
internal void Update(Model model)
{
Online = model.Online;
}
public override string ToString() => Guild.Name;
private string DebuggerDisplay => $"{Guild.Name} ({Guild.Id}, {Online} Online)";
}
}

View File

@@ -0,0 +1,30 @@
using System.Diagnostics;
using Model = Discord.API.Rpc.GuildSummary;
namespace Discord.Rpc
{
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class RpcGuildSummary
{
public ulong Id { get; }
public string Name { get; private set; }
internal RpcGuildSummary(ulong id)
{
Id = id;
}
internal static RpcGuildSummary Create(Model model)
{
var entity = new RpcGuildSummary(model.Id);
entity.Update(model);
return entity;
}
internal void Update(Model model)
{
Name = model.Name;
}
public override string ToString() => Name;
private string DebuggerDisplay => $"{Name} ({Id})";
}
}