BizHawk/BizHawk.Client.EmuHawk/Api/Libraries/CommApi.cs

70 lines
2.6 KiB
C#

using System.Text;
using BizHawk.Client.Common;
namespace BizHawk.Client.EmuHawk
{
public sealed class CommApi : IComm
{
public string SocketServerScreenShot() => GlobalWin.socketServer.SendScreenshot();
public string SocketServerScreenShotResponse() => GlobalWin.socketServer.SendScreenshot(1000);
public string SocketServerSend(string SendString) => $"Sent : {GlobalWin.socketServer.SendString(SendString)} bytes";
public string SocketServerResponse() => GlobalWin.socketServer.ReceiveMessage();
public bool SocketServerSuccessful() => GlobalWin.socketServer.Successful();
public void SocketServerSetTimeout(int timeout) => GlobalWin.socketServer.SetTimeout(timeout);
public void SocketServerSetIp(string ip) => GlobalWin.socketServer.Ip = ip;
public void SetSocketServerPort(int port) => GlobalWin.socketServer.Port = port;
public string SocketServerGetIp() => GlobalWin.socketServer.Ip;
public int SocketServerGetPort() => GlobalWin.socketServer.Port;
public string SocketServerGetInfo() => GlobalWin.socketServer.GetInfo();
#region MemoryMappedFile
public void MmfSetFilename(string filename) => GlobalWin.memoryMappedFiles.Filename = filename;
public string MmfGetFilename() => GlobalWin.memoryMappedFiles.Filename;
public int MmfScreenshot() => GlobalWin.memoryMappedFiles.ScreenShotToFile();
public int MmfWrite(string mmf_filename, string outputString) => GlobalWin.memoryMappedFiles.WriteToFile(mmf_filename, Encoding.ASCII.GetBytes(outputString));
public string MmfRead(string mmf_filename, int expectedSize) => GlobalWin.memoryMappedFiles.ReadFromFile(mmf_filename, expectedSize);
#endregion
#region HTTP
public string HttpTest() => string.Join("\n", GlobalWin.httpCommunication.TestGet(), GlobalWin.httpCommunication.SendScreenshot(), "done testing");
public string HttpTestGet() => GlobalWin.httpCommunication.TestGet();
public string HttpGet(string url) => GlobalWin.httpCommunication.ExecGet(url);
public string HttpPost(string url, string payload) => GlobalWin.httpCommunication.ExecPost(url, payload);
public string HttpPostScreenshot() => GlobalWin.httpCommunication.SendScreenshot();
public void HttpSetTimeout(int timeout) => GlobalWin.httpCommunication.SetTimeout(timeout);
public void HttpSetPostUrl(string url) => GlobalWin.httpCommunication.PostUrl = url;
public void HttpSetGetUrl(string url) => GlobalWin.httpCommunication.GetUrl = url;
public string HttpGetPostUrl() => GlobalWin.httpCommunication.PostUrl;
public string HttpGetGetUrl() => GlobalWin.httpCommunication.GetUrl;
#endregion
}
}