using System;
using System.Threading.Tasks;
using Aurora.Backend.Executors;
using Aurora.Backend.Services;
using Aurora.Backend.Proto;

namespace Aurora.Backend.Server.Party
{
    public class HostPartyExecutor : BasePartyExecutor
    {
        PartyServiceImpl _partyServiceImpl;
        public HostPartyExecutor()
        {
            _partyServiceImpl = new PartyServiceImpl();
        }

        public override void Initialize()
        {
            ServerService.Instance.RegisterService(PartyService.BindService(_partyServiceImpl));
        }

        public override async void Close()
        {
            await ServerService.Instance.Stop();
        }

        public override void AddToQueue()
        {
            throw new NotImplementedException();
        }

        public override void 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();
        }
    }
}