mirror of
https://github.com/ElectronNET/Electron.NET.git
synced 2026-07-17 14:16:15 +00:00
Create Electron-Class for API´s
This commit is contained in:
File diff suppressed because it is too large
Load Diff
19
ElectronNET.API/BridgeConnector.cs
Normal file
19
ElectronNET.API/BridgeConnector.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using Quobject.SocketIoClientDotNet.Client;
|
||||
using System;
|
||||
|
||||
namespace ElectronNET.API
|
||||
{
|
||||
internal static class BridgeConnector
|
||||
{
|
||||
public static Socket Socket;
|
||||
|
||||
public static void StartConnection()
|
||||
{
|
||||
Socket = IO.Socket("http://localhost:" + BridgeSettings.SocketPort);
|
||||
Socket.On(Socket.EVENT_CONNECT, () =>
|
||||
{
|
||||
Console.WriteLine("BridgeConnector connected!");
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
15
ElectronNET.API/Electron.cs
Normal file
15
ElectronNET.API/Electron.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
namespace ElectronNET.API
|
||||
{
|
||||
public static class Electron
|
||||
{
|
||||
/// <summary>
|
||||
/// Communicate asynchronously from the main process to renderer processes.
|
||||
/// </summary>
|
||||
public static IpcMain IpcMain { get { return IpcMain.Instance; } }
|
||||
|
||||
/// <summary>
|
||||
/// Control your application's event lifecycle.
|
||||
/// </summary>
|
||||
public static App App { get { return App.Instance; } }
|
||||
}
|
||||
}
|
||||
@@ -1,20 +1,29 @@
|
||||
using System;
|
||||
using Quobject.SocketIoClientDotNet.Client;
|
||||
|
||||
namespace ElectronNET.API
|
||||
{
|
||||
/// <summary>
|
||||
/// Communicate asynchronously from the main process to renderer processes.
|
||||
/// </summary>
|
||||
public class IpcMain
|
||||
public sealed class IpcMain
|
||||
{
|
||||
private Socket _socket;
|
||||
private static IpcMain _ipcMain;
|
||||
|
||||
public IpcMain(Socket socket)
|
||||
private IpcMain() { }
|
||||
|
||||
public static IpcMain Instance
|
||||
{
|
||||
_socket = socket;
|
||||
get
|
||||
{
|
||||
if(_ipcMain == null)
|
||||
{
|
||||
_ipcMain = new IpcMain();
|
||||
}
|
||||
|
||||
return _ipcMain;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Listens to channel, when a new message arrives listener would be called with
|
||||
/// listener(event, args...).
|
||||
@@ -23,8 +32,8 @@ namespace ElectronNET.API
|
||||
/// <param name="listener">Callback Method.</param>
|
||||
public void On(string channel, Action<object> listener)
|
||||
{
|
||||
_socket.Emit("registerIpcMainChannel", channel);
|
||||
_socket.On(channel, listener);
|
||||
BridgeConnector.Socket.Emit("registerIpcMainChannel", channel);
|
||||
BridgeConnector.Socket.On(channel, listener);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -35,8 +44,8 @@ namespace ElectronNET.API
|
||||
/// <param name="listener">Callback Method.</param>
|
||||
public void Once(string channel, Action<object> listener)
|
||||
{
|
||||
_socket.Emit("registerOnceIpcMainChannel", channel);
|
||||
_socket.On(channel, listener);
|
||||
BridgeConnector.Socket.Emit("registerOnceIpcMainChannel", channel);
|
||||
BridgeConnector.Socket.On(channel, listener);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -45,7 +54,7 @@ namespace ElectronNET.API
|
||||
/// <param name="channel">Channelname.</param>
|
||||
public void RemoveAllListeners(string channel)
|
||||
{
|
||||
_socket.Emit("removeAllListenersIpcMainChannel", channel);
|
||||
BridgeConnector.Socket.Emit("removeAllListenersIpcMainChannel", channel);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -58,7 +67,7 @@ namespace ElectronNET.API
|
||||
/// <param name="data">Arguments data.</param>
|
||||
public void Send(string channel, params object[] data)
|
||||
{
|
||||
_socket.Emit("sendToIpcRenderer", channel, data);
|
||||
BridgeConnector.Socket.Emit("sendToIpcRenderer", channel, data);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -23,6 +23,8 @@ namespace ElectronNET.API
|
||||
{
|
||||
builder.UseContentRoot(AppDomain.CurrentDomain.BaseDirectory)
|
||||
.UseUrls("http://0.0.0.0:" + BridgeSettings.WebPort);
|
||||
|
||||
BridgeConnector.StartConnection();
|
||||
}
|
||||
|
||||
return builder;
|
||||
|
||||
Reference in New Issue
Block a user