47 lines
1.2 KiB
C#
47 lines
1.2 KiB
C#
using Grpc.Core;
|
|
using Aurora.Proto.Party;
|
|
using Aurora.Services.Settings;
|
|
|
|
namespace Aurora.Services.Client
|
|
{
|
|
|
|
public class ClientService : IClientService
|
|
{
|
|
private RemotePartyService.RemotePartyServiceClient _remotePartyClient;
|
|
|
|
private Channel _channel;
|
|
private ISettingsService _settingsService;
|
|
|
|
public ClientService(ISettingsService settingsService)
|
|
{
|
|
this._settingsService = settingsService;
|
|
}
|
|
|
|
public bool IsStarted
|
|
{
|
|
get
|
|
{
|
|
return _remotePartyClient != null;
|
|
}
|
|
}
|
|
|
|
public RemotePartyService.RemotePartyServiceClient RemotePartyServiceClient
|
|
{
|
|
get { return this._remotePartyClient; }
|
|
}
|
|
|
|
public void Start(string hostname, string port)
|
|
{
|
|
_channel = new Channel(string.Format("{0}:{1}", hostname, port), ChannelCredentials.Insecure);
|
|
|
|
_remotePartyClient = new RemotePartyService.RemotePartyServiceClient(_channel);
|
|
}
|
|
|
|
public async void Close()
|
|
{
|
|
await _channel.ShutdownAsync();
|
|
_remotePartyClient = null;
|
|
}
|
|
}
|
|
}
|