aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.HLE/HOS/Services/Ldn/UserServiceCreator/RyuLdn/INetworkClient.cs
blob: ff342d27c82051e670e196504f1352780c90f722 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using Ryujinx.HLE.HOS.Services.Ldn.Types;
using Ryujinx.HLE.HOS.Services.Ldn.UserServiceCreator.Network.Types;
using Ryujinx.HLE.HOS.Services.Ldn.UserServiceCreator.RyuLdn.Types;
using System;

namespace Ryujinx.HLE.HOS.Services.Ldn.UserServiceCreator.RyuLdn
{
    interface INetworkClient : IDisposable
    {
        event EventHandler<NetworkChangeEventArgs> NetworkChange;

        void DisconnectNetwork();
        void DisconnectAndStop();
        NetworkError Connect(ConnectRequest request);
        NetworkError ConnectPrivate(ConnectPrivateRequest request);
        ResultCode Reject(DisconnectReason disconnectReason, uint nodeId);
        NetworkInfo[] Scan(ushort channel, ScanFilter scanFilter);
        void SetGameVersion(byte[] versionString);
        void SetStationAcceptPolicy(AcceptPolicy acceptPolicy);
        void SetAdvertiseData(byte[] data);
        bool CreateNetwork(CreateAccessPointRequest request, byte[] advertiseData);
        bool CreateNetworkPrivate(CreateAccessPointPrivateRequest request, byte[] advertiseData);
    }
}