Can now somewhat reliably join a party
This commit is contained in:
@ -2,7 +2,7 @@ using System;
|
||||
using System.Reflection;
|
||||
using System.Linq;
|
||||
using System.Collections.ObjectModel;
|
||||
using Aurora.Models;
|
||||
using Aurora.Proto;
|
||||
|
||||
namespace Aurora.Executors
|
||||
{
|
||||
@ -38,9 +38,7 @@ namespace Aurora.Executors
|
||||
return executor;
|
||||
}
|
||||
|
||||
public abstract void Initialize();
|
||||
|
||||
public abstract void Run();
|
||||
public abstract void Connect(string hostname);
|
||||
|
||||
public abstract void Close();
|
||||
|
||||
|
@ -1,31 +1,48 @@
|
||||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using Grpc.Core;
|
||||
using Aurora.Proto;
|
||||
using Aurora.Models;
|
||||
using Aurora.Executors;
|
||||
|
||||
using Aurora.Services;
|
||||
namespace Aurora.Executors
|
||||
{
|
||||
public class ClientExecutor : BaseExecutor
|
||||
{
|
||||
private Channel _channel;
|
||||
private RemotePartyService.RemotePartyServiceClient _remotePartyClient;
|
||||
private RemotePlaybackService.RemotePlaybackServiceClient _remotePlaybackClient;
|
||||
|
||||
private ObservableCollection<PartyMember> _partyMembers;
|
||||
|
||||
public ClientExecutor()
|
||||
{
|
||||
|
||||
_partyMembers = new ObservableCollection<PartyMember>();
|
||||
}
|
||||
|
||||
#region Properties
|
||||
public override ObservableCollection<PartyMember> PartyMembers
|
||||
{
|
||||
get { return null; }
|
||||
get { return _partyMembers; }
|
||||
}
|
||||
|
||||
#endregion Properties
|
||||
|
||||
public override void AddToQueue()
|
||||
public override void Connect(string hostname)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
_channel = new Channel(string.Format("{0}:{1}", hostname, SettingsService.Instance.DefaultPort), ChannelCredentials.Insecure);
|
||||
|
||||
_remotePartyClient = new RemotePartyService.RemotePartyServiceClient(_channel);
|
||||
_remotePlaybackClient = new RemotePlaybackService.RemotePlaybackServiceClient(_channel);
|
||||
|
||||
JoinParty();
|
||||
}
|
||||
|
||||
public override void Close()
|
||||
public override async void Close()
|
||||
{
|
||||
await _channel.ShutdownAsync();
|
||||
}
|
||||
|
||||
public override void AddToQueue()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
@ -40,19 +57,33 @@ namespace Aurora.Executors
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override void RemoveFromQueue()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override void Run()
|
||||
private async void JoinParty()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
await _remotePartyClient.JoinPartyAsync(new JoinPartyRequest
|
||||
{
|
||||
UserName = SettingsService.Instance.Username,
|
||||
});
|
||||
|
||||
MembersResponse resposne = _remotePartyClient.GetPartyMembers(new Empty());
|
||||
//Add members
|
||||
foreach (PartyMember member in resposne.Members)
|
||||
{
|
||||
_partyMembers.Add(member);
|
||||
}
|
||||
|
||||
//Remove out of date members
|
||||
foreach (PartyMember member in _partyMembers)
|
||||
{
|
||||
if (!resposne.Members.Contains(member))
|
||||
{
|
||||
_partyMembers.Remove(member);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -19,11 +19,17 @@ namespace Aurora.Executors
|
||||
_remotePlaybackImpl = new RemotePlaybackServiceImpl();
|
||||
}
|
||||
|
||||
public override void Initialize()
|
||||
public override void Connect(string hostname)
|
||||
{
|
||||
//Initialize gRPC server
|
||||
ServerService.Instance.Initialize(hostname);
|
||||
|
||||
//Register grpc RemoteService with singleton server service
|
||||
ServerService.Instance.RegisterService(RemotePartyService.BindService(_remotePartyServiceImpl));
|
||||
ServerService.Instance.RegisterService(RemotePlaybackService.BindService(_remotePlaybackImpl));
|
||||
|
||||
//start gRPC server
|
||||
ServerService.Instance.Start();
|
||||
}
|
||||
|
||||
#region Properties
|
||||
@ -58,10 +64,5 @@ namespace Aurora.Executors
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override void Run()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user