16 #include <nn/pia/local/local_Definitions.h>
17 #include <nn/pia/local/local_LocalNetworkSetting.h>
19 #include <nn/pia/common/common_CallContext.h>
20 #include <nn/pia/common/common_CriticalSection.h>
41 class StationConnectionInfo;
55 class LocalNetworkSetting;
56 class LocalNetworkDescription;
57 class LocalCreateNetworkSetting;
58 class LocalConnectNetworkSetting;
59 class LocalScanNetworkSetting;
62 class UdsNetworkSetting;
65 #if NN_PIA_NINTENDOSDK
66 class LdnNetworkSetting;
109 return s_IsInitialized;
115 virtual ~LocalFacade();
119 LocalFacade(
const LocalFacade&);
124 LocalFacade& operator=(
const LocalFacade&);
200 Result CreateNetworkAsync(
const LocalCreateNetworkSetting* pCreateNetworkSetting);
213 bool IsCreateNetworkCompleted();
241 Result GetCreateNetworkResult();
263 Result DestroyNetworkAsync();
276 bool IsDestroyNetworkCompleted();
300 Result GetDestroyNetworkResult();
332 Result ConnectNetworkAsync(
const LocalConnectNetworkSetting* pConnectNetworkSetting);
345 bool IsConnectNetworkCompleted();
390 Result GetConnectNetworkResult();
407 Result CancelConnectNetworkAsync();
429 Result DisconnectNetworkAsync();
442 bool IsDisconnectNetworkCompleted();
466 Result GetDisconnectNetworkResult();
497 Result ScanNetworkAsync(
const LocalScanNetworkSetting* pScanNetworkSetting);
510 bool IsScanNetworkCompleted();
534 Result GetScanNetworkResult();
551 Result CancelScanNetworkAsync();
571 #elif NN_PIA_NINTENDOSDK
596 Result GetApplicationData(
void* pBuffer, uint32_t* pDataSize, uint32_t bufferSize,
const LocalNetworkDescription* pNetworkDescription)
const;
613 Result GetApplicationDataSize(uint32_t* pDataSize,
const LocalNetworkDescription* pNetworkDescription)
const;
688 Result SetApplicationDataToBeacon(
const void* pData, uint32_t dataSize);
707 Result GetNetworkDescriptionList(LocalNetworkDescription* paLocalNetworkDescriptionList, uint32_t* pValidNetworkNum, uint32_t networkDescriptionListSize);
725 Result GetNetworkDescription(LocalNetworkDescription* pLocalNetworkDescription, uint32_t networkDescriptionIndex);
759 Result GetStationInfoList(LocalStationInfo* paLocalStationInfoList, uint8_t listLength, uint32_t networkListIndex)
const;
769 uint32_t GetFoundNetworkNum()
const;
788 bool IsClient()
const;
801 bool IsConnected()
const
803 return IsHost() || IsClient();
822 bool IsHostMigrationEnabled()
const;
858 Result GetRadioStrength(uint8_t* pRadioStrength, uint32_t descriptionIndex)
const;
897 Result DisallowParticipating(
bool isDisallowToReconnect =
true);
922 Result AllowParticipating();
951 Result EjectClient(
const common::StationAddress& address);
972 Result EjectClientAll();
991 AllowParticipatingState GetAllowParticipatingState()
const;
1000 void SetSleepBeforeSendTime(int64_t sleepTime);
1006 void SetLocalCommunicationIdZeroEnabled(
bool b);
1007 bool IsLocalCommunicationIdZeroEnabled()
const;
1015 virtual void Trace(uint64_t flag)
const;
1021 void RegisterLocalProtocol(LocalProtocol* pLocalProtocol);
1022 void UnregisterLocalProtocol();
1023 LocalProtocol* GetLocalProtocol()
1025 return m_pLocalProtocol;
1027 const LocalProtocol* GetLocalProtocol()
const
1029 return m_pLocalProtocol;
1032 uint32_t GetSessionId()
const;
1033 uint32_t GetSessionIdFromNetworkDescription(
const LocalNetworkDescription* pNetworkDescription)
const;
1035 uint8_t GetNetworkParticipantNum()
const;
1037 Result GetNetworkErrorResult()
const;
1038 bool IsNeverConnected()
const;
1041 Result StartupForMesh();
1042 void CleanupForMesh();
1045 bool IsUpdateConnectionStatusRequested();
1046 void SetUpdateConnectionStatusRequested(
bool b);
1051 Result InitializeCore(
const UdsNetworkSetting& setting);
1053 #if NN_PIA_NINTENDOSDK
1054 Result InitializeCore(
const LdnNetworkSetting& setting);
1059 static void UpdateEventCallbackForMesh(LocalUpdateEvent updateEvent, common::StationAddress address,
void* pParam);
1062 static LocalFacade* s_pInstance;
1063 static bool s_IsInitialized;
1067 LocalNetworkType m_LocalNetworkType;
1068 LocalNetworkSetting* m_pLocalNetworkSetting;
1070 LocalProtocol* m_pLocalProtocol;
1072 bool m_IsLocalCommunicationIdZeroEnabled;