using System; using System.Threading.Tasks; using System.Collections.ObjectModel; using Aurora.Models; using Aurora.Executors; using Aurora.Services; using Aurora.Proto; using Aurora.RemoteImpl; namespace Aurora.Executors { public class HostExecutor : BaseExecutor { RemotePartyServiceImpl _remotePartyServiceImpl; RemotePlaybackServiceImpl _remotePlaybackImpl; public HostExecutor() { _remotePartyServiceImpl = new RemotePartyServiceImpl(); _remotePlaybackImpl = new RemotePlaybackServiceImpl(); } public override void Initialize() { //Register grpc RemoteService with singleton server service ServerService.Instance.RegisterService(RemotePartyService.BindService(_remotePartyServiceImpl)); ServerService.Instance.RegisterService(RemotePlaybackService.BindService(_remotePlaybackImpl)); } #region Properties public override ObservableCollection PartyMembers { get { return _remotePartyServiceImpl.PartyMembers; } } #endregion Properties public override async void Close() { await ServerService.Instance.Stop(); } public override void AddToQueue() { throw new NotImplementedException(); } public override ObservableCollection GetMembers() { throw new NotImplementedException(); } public override void GetQueue() { throw new NotImplementedException(); } public override void RemoveFromQueue() { throw new NotImplementedException(); } public override void Run() { throw new NotImplementedException(); } } }