17 #include <pia/local/local_LocalNetworkSetting.h> 19 #include <pia/common/common_RootObject.h> 20 #include <pia/common/common_CallContext.h> 21 #include <pia/common/common_CriticalSection.h> 43 class LocalNetworkManager;
44 class LocalMigrationManager;
45 class LocalAroundNetworkSearchManager;
46 class LocalCreateNetworkJob;
47 class LocalDestroyNetworkJob;
48 class LocalScanNetworkJob;
49 class LocalConnectNetworkJob;
50 class LocalDisconnectNetworkJob;
51 class LocalForceDisconnectNetworkJob;
52 class LocalBackgroundProcessJob;
53 class LocalNetworkSetting;
54 class UdsNetworkSetting;
55 class LocalNetworkDescription;
56 class UdsNetworkDescription;
57 class LocalCreateNetworkSetting;
58 class LocalConnectNetworkSetting;
59 class LocalScanNetworkSetting;
80 static nn::Result CreateInstance();
86 static void DestroyInstance();
153 nn::Result Startup();
169 DISCONNECT_REASON_BEFORE_COMMUNICATION = 0,
175 DISCONNECT_REASON_UNKNOWN
184 ALLOW_PARTICIPATING_STATE_NONE = 0,
187 ALLOW_PARTICIPATING_STATE_ALLOW_ONLY_RECONNECTION
227 bool IsCompletedCreateNetwork();
244 nn::Result GetCreateNetworkResult();
270 nn::Result DestroyNetworkAsync();
281 bool IsCompletedDestroyNetwork();
297 nn::Result GetDestroyNetworkResult();
338 bool IsCompletedConnectNetwork();
359 nn::Result GetConnectNetworkResult();
374 nn::Result CancelConnectNetworkAsync();
400 nn::Result DisconnectNetworkAsync();
411 bool IsCompletedDisconnectNetwork();
427 nn::Result GetDisconnectNetworkResult();
463 nn::Result ScanNetworkAsync(u32 localCommunicationId, u8 subId);
474 bool IsCompletedScanNetwork();
490 nn::Result GetScanNetworkResult();
505 nn::Result CancelScanNetworkAsync();
521 u32 CreateLocalCommunicationId(u32 uniqueId,
bool isTrial =
false)
const;
538 nn::Result GetApplicationData(
void* pBuffer,
size_t* pDataSize,
size_t bufferSize,
const LocalNetworkDescription* pNetworkDescription)
const;
552 nn::Result GetApplicationDataSize(
size_t* pDataSize,
const LocalNetworkDescription* pNetworkDescription)
const;
574 nn::Result GetApplicationDataFromBeacon(
void* pBuffer,
size_t* pDataSize,
size_t bufferSize)
const;
594 nn::Result GetApplicationDataSizeFromBeacon(
size_t* pDataSize)
const;
614 nn::Result SetApplicationDataToBeacon(
const void* pData,
size_t dataSize);
631 nn::Result GetNetworkDescriptionList(
LocalNetworkDescription* paLocalNetworkDescriptionList, u32* pValidNetworkNum,
size_t networkDescriptionListSize);
647 nn::Result GetNetworkDescription(
LocalNetworkDescription* pLocalNetworkDescription, u32 networkDescriptionIndex);
679 nn::Result GetStationInfoList(
LocalStationInfo* paLocalStationInfoList, u8 listLength, u32 networkListIndex)
const;
687 size_t GetBeaconApplicationDataSizeMax()
const;
696 return m_FoundNetworkNum;
713 bool IsClient()
const;
726 return IsHost() || IsClient();
735 bool IsDuringHostMigration()
const;
743 bool IsEnableHostMigration()
const;
757 u8 GetLinkLevel()
const;
777 nn::Result GetRadioStrength(u8* pRadioStrength, u32 descriptionListIndex)
const;
788 u8 GetNetworkChannel()
const;
808 nn::Result DisallowParticipating(
bool isDisallowToReconnect =
true);
825 nn::Result AllowParticipating();
856 nn::Result EjectClientAll();
868 return m_DisconnectReason;
876 m_DisconnectReason = reason;
892 m_AllowParticipatingState = reason;
901 bool IsEnableAroundNetworkSearch()
const;
915 nn::Result StartAroundNetworkSearch();
930 nn::Result StopAroundNetworkSearch();
937 bool IsAroundNetworkSearchActivated()
const;
970 nn::Result GetAroundNetworkInfoList(
LocalAroundNetworkInfo* paLocalAroundNetworkInfoList, u32* pValidNetworkNum,
size_t networkInfoListSize)
const;
975 void SleepBeforeSend();
984 void SetSleepBeforeSendTime(s64 sleepTime);
992 virtual void Trace(u64 flag)
const;
998 u8 GetTransportId()
const;
1000 LocalNetworkManager* GetLocalNetworkManager()
1002 return m_pLocalNetworkManager;
1004 LocalMigrationManager* GetLocalMigrationManager();
1005 LocalAroundNetworkSearchManager* GetLocalAroundNetworkSearchManager();
1006 LocalCreateNetworkJob* GetLocalCreateNetworkJob()
1008 return m_pLocalCreateNetworkJob;
1010 LocalBackgroundProcessJob* GetLocalBackgroundProcessJob()
1012 return m_pLocalBackgroundProcessJob;
1015 void* GetReceiveBuffer()
1017 return m_pReceiveBuffer;
1019 size_t GetReceiveBufferSize()
const 1021 return m_ReceiveBufferSize;
1023 void* GetScanBuffer()
1025 return m_pScanBuffer;
1027 const void* GetScanBuffer()
const 1029 return m_pScanBuffer;
1031 size_t GetScanBufferSize()
const 1033 return m_ScanBufferSize;
1035 common::CriticalSection* GetScanBufferLock()
1037 return &m_ScanBufferLock;
1040 void RegisterUpdateEventCallback(LocalUpdateEventCallback callback,
void* pParam);
1041 void UnregisterUpdateEventCallback();
1042 void ProcessUpdateEventDisconnected(u8 transportId);
1043 void ProcessUpdateEventMigrationStarted();
1044 void SetIsEnableGetScanData(
bool isEnable)
1046 m_IsEnableGetScanData = isEnable;
1048 bool IsEnableGetScanData()
const 1050 return m_IsEnableGetScanData && !IsDuringHostMigration() && !IsConnected();
1053 u32 GetSessionId()
const;
1055 bool IsForceDisconnect()
const 1057 return m_IsForceDisconnect;
1059 void SetIsForceDisconnect(
bool flag)
1061 m_IsForceDisconnect = flag;
1063 bool IsExpectDisconnectByKickout()
const 1065 return m_IsExpectDisconnectByKickout;
1067 void SetIsExpectDisconnectByKickout(
bool flag)
1069 m_IsExpectDisconnectByKickout = flag;
1072 u8 GetNetworkParticipantNum()
const;
1074 bool IsAsyncProcessInProgress()
const;
1084 enum AsyncProcessingName
1087 ASYNC_CREATE_NETWORK,
1088 ASYNC_DESTROY_NETWORK,
1090 ASYNC_CONNECT_NETWORK,
1091 ASYNC_DISCONNECT_NETWORK
1093 void ResetInternalAsyncState();
1094 bool IsCompletedAsyncProcess(AsyncProcessingName processingName);
1095 nn::Result GetAsyncProcessResult(AsyncProcessingName processingName);
1096 nn::Result CancelAsyncProcess(AsyncProcessingName processingName);
1100 static bool s_IsInitialized;
1102 LocalNetworkType m_LocalNetworkType;
1105 u32 m_FoundNetworkNum;
1107 LocalNetworkManager* m_pLocalNetworkManager;
1108 LocalMigrationManager* m_pLocalMigrationManager;
1109 LocalAroundNetworkSearchManager* m_pLocalAroundNetworkSearchManager;
1111 LocalCreateNetworkJob* m_pLocalCreateNetworkJob;
1112 LocalDestroyNetworkJob* m_pLocalDestroyNetworkJob;
1113 LocalScanNetworkJob* m_pLocalScanNetworkJob;
1114 LocalConnectNetworkJob* m_pLocalConnectNetworkJob;
1115 LocalDisconnectNetworkJob* m_pLocalDisconnectNetworkJob;
1116 LocalForceDisconnectNetworkJob* m_pLocalForceDisconnectNetworkJob;
1117 LocalBackgroundProcessJob* m_pLocalBackgroundProcessJob;
1119 void* m_pReceiveBuffer;
1120 size_t m_ReceiveBufferSize;
1121 bool m_IsReceiveBufferAllocatedByApplication;
1122 void* m_pScanBuffer;
1123 size_t m_ScanBufferSize;
1124 common::CriticalSection m_ScanBufferLock;
1130 AsyncProcessingName m_CurrentAsyncProcessingName;
1132 LocalUpdateEventCallback m_pfUpdateEventCallback;
1133 void* m_pUpdateEventCallbackParam;
1139 bool m_IsEnableGetScanData;
1142 bool m_IsNeedSleepBeforeSend;
1144 s64 m_SleepBeforeSendTick;
1147 bool m_IsForceDisconnect;
1149 bool m_IsExpectDisconnectByKickout;
Disconnected from the network due to a system request (transition to wireless off mode or sleep mode)...
Definition: local_LocalNetwork.h:172
void Finalize(void)
Finalizes the common module.
Class for handling the local network.
Definition: local_LocalNetwork.h:68
New participants are denied.
Definition: local_LocalNetwork.h:186
DisconnectReason GetDisconnectReason()
Gets the reason for being disconnected from the network.
Definition: local_LocalNetwork.h:866
The connection could not be maintained because a beacon could not be received from the host for a cer...
Definition: local_LocalNetwork.h:174
Class for configuring a local network.
Definition: local_LocalNetworkSetting.h:73
Class that holds information about the network discovered using nearby network search.
Definition: local_LocalNetworkSetting.h:262
Kicked off the network due to an instruction from the host. Alternatively, the client was disconnecte...
Definition: local_LocalNetwork.h:173
u32 GetFoundNetworkNum() const
Gets the number of networks discovered.
Definition: local_LocalNetwork.h:694
Disconnected from the network due to local action.
Definition: local_LocalNetwork.h:171
AllowParticipatingState
Represents the state that allows or denies new participants.
Definition: local_LocalNetwork.h:182
DisconnectReason
Enumerates the reason for the disconnection.
Definition: local_LocalNetwork.h:167
Represents the calling context.
Definition: common_CallContext.h:43
Represents an address used to uniquely identify stations. .
Definition: common_StationAddress.h:43
Class for configuring the creation of a local network.
Definition: local_LocalNetworkSetting.h:102
nn::Result Initialize(void *pMem, u32 size)
Initializes the common module.
Connection being maintained.
Definition: local_LocalNetwork.h:170
Class that holds information about a local network.
Definition: local_LocalNetworkSetting.h:121
static LocalNetwork * GetInstance()
Gets the LocalNetwork class instance (singleton pattern).
Definition: local_LocalNetwork.h:96
Class for configuring the nearby network search feature.
Definition: local_LocalNetworkSetting.h:275
Class for configuring networks that use the UDS library.
Definition: local_UdsNetworkSetting.h:40
Class for configuring a connection to a local network.
Definition: local_LocalNetworkSetting.h:152
bool IsConnected() const
Gets whether there is a connection to the network.
Definition: local_LocalNetwork.h:724
This is the common base class used inside the Pia library.
Definition: common_RootObject.h:40
Class that holds information about stations connected to a local network.
Definition: local_LocalNetworkSetting.h:230
New participants are allowed.
Definition: local_LocalNetwork.h:185