Added reference project

This commit is contained in:
RogueException
2016-02-24 19:36:18 -04:00
parent 27d7e9915b
commit 36ea8b8c3a
68 changed files with 1515 additions and 0 deletions

16
ref/Net/HttpException.cs Normal file
View File

@@ -0,0 +1,16 @@
using System;
using System.Net;
namespace Discord.Net
{
public class HttpException : Exception
{
public HttpStatusCode StatusCode { get; }
public HttpException(HttpStatusCode statusCode)
: base($"The server responded with error {(int)statusCode} ({statusCode})")
{
StatusCode = statusCode;
}
}
}

View File

@@ -0,0 +1,17 @@
namespace Discord.Net.Rest
{
public class CompletedRequestEventArgs : RequestEventArgs
{
public object Response { get; set; }
public string ResponseJson { get; set; }
public double Milliseconds { get; set; }
public CompletedRequestEventArgs(IRestRequest request, object response, string responseJson, double milliseconds)
: base(request)
{
Response = response;
ResponseJson = responseJson;
Milliseconds = milliseconds;
}
}
}

View File

@@ -0,0 +1,23 @@
namespace Discord.Net.Rest
{
public interface IRestRequest
{
string Method { get; }
string Endpoint { get; }
object Payload { get; }
}
public interface IRestRequest<ResponseT> : IRestRequest
where ResponseT : class
{
}
public interface IRestFileRequest : IRestRequest
{
string Filename { get; }
Stream Stream { get; }
}
public interface IRestFileRequest<ResponseT> : IRestFileRequest, IRestRequest<Message>
where ResponseT : class
{
}
}

View File

@@ -0,0 +1,12 @@
using System;
namespace Discord.Net.Rest
{
public class RequestEventArgs : EventArgs
{
public IRestRequest Request { get; set; }
public bool Cancel { get; set; }
public RequestEventArgs(IRestRequest request) { }
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Threading;
using System.Threading.Tasks;
namespace Discord.Net.Rest
{
public abstract partial class RestClient
{
public event EventHandler<RequestEventArgs> SendingRequest = delegate { };
public event EventHandler<CompletedRequestEventArgs> SentRequest = delegate { };
public CancellationToken CancelToken { get; set; }
public string Token { get; set; }
public Task<ResponseT> Send<ResponseT>(IRestRequest<ResponseT> request)
where ResponseT : class
=> null;
public Task Send(IRestRequest request) => null;
public Task<ResponseT> Send<ResponseT>(IRestFileRequest<ResponseT> request)
where ResponseT : class
=> null;
public Task Send(IRestFileRequest request) => null;
}
}

View File

@@ -0,0 +1,9 @@
using System;
namespace Discord.Net
{
public class TimeoutException : OperationCanceledException
{
public TimeoutException() { }
}
}

View File

@@ -0,0 +1,12 @@
using System;
namespace Discord.Net
{
public class WebSocketException : Exception
{
public int Code { get; }
public string Reason { get; }
public WebSocketException(int code, string reason) { }
}
}

View File

@@ -0,0 +1,11 @@
using System;
namespace Discord.Net.WebSockets
{
public class BinaryMessageEventArgs : EventArgs
{
public byte[] Data { get; }
public BinaryMessageEventArgs(byte[] data) { }
}
}

View File

@@ -0,0 +1,31 @@
using Discord.Logging;
using Discord.Net.Rest;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace Discord.Net.WebSockets
{
public class GatewaySocket : WebSocket
{
public string SessionId { get; private set; }
public event EventHandler<WebSocketEventEventArgs> ReceivedDispatch = delegate { };
public GatewaySocket(DiscordConfig config, ILogger logger) : base(config, logger) { }
public Task Connect(RestClient rest, CancellationToken parentCancelToken) => null;
public Task Disconnect() => null;
public void SendIdentify(string token) { }
public void SendResume() { }
public override void SendHeartbeat() { }
public void SendUpdateStatus(long? idleSince, string gameName) { }
public void SendUpdateVoice(ulong? serverId, ulong? channelId, bool isSelfMuted, bool isSelfDeafened) { }
public void SendRequestMembers(IEnumerable<ulong> serverId, string query, int limit) { }
public override void WaitForConnection(CancellationToken cancelToken) { }
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace Discord.Net.WebSockets
{
public interface IWebSocketEngine
{
event EventHandler<BinaryMessageEventArgs> BinaryMessage;
event EventHandler<TextMessageEventArgs> TextMessage;
Task Connect(string host, CancellationToken cancelToken);
Task Disconnect();
void QueueMessage(string message);
IEnumerable<Task> GetTasks(CancellationToken cancelToken);
}
}

View File

@@ -0,0 +1,11 @@
using System;
namespace Discord.Net.WebSockets
{
public class TextMessageEventArgs : EventArgs
{
public string Message { get; }
public TextMessageEventArgs(string msg) { Message = msg; }
}
}

View File

@@ -0,0 +1,22 @@
using Discord.Logging;
using System;
using System.Threading;
namespace Discord.Net.WebSockets
{
public abstract partial class WebSocket
{
public CancellationToken CancelToken { get; }
public ConnectionState State { get; }
public string Host { get; }
public event EventHandler Connected = delegate { };
public event EventHandler<DisconnectedEventArgs> Disconnected = delegate { };
public WebSocket(DiscordConfig config, ILogger logger) { }
public abstract void SendHeartbeat();
public virtual void WaitForConnection(CancellationToken cancelToken) { }
}
}

View File

@@ -0,0 +1,17 @@
using Newtonsoft.Json.Linq;
using System;
namespace Discord.Net.WebSockets
{
public class WebSocketEventEventArgs : EventArgs
{
public string Type { get; }
public JToken Payload { get; }
internal WebSocketEventEventArgs(string type, JToken data)
{
Type = type;
Payload = data;
}
}
}