16 #include <nn/pia/framework/framework_Definitions.h>
18 #if NN_PIA_FRAMEWORK_ENABLE_NEX
20 #include <nn/pia/framework/framework_InetService.h>
22 #include <nn/pia/inet/inet_NexFacade.h>
23 #include <nn/pia/inet/inet_Api.h>
24 #include <nn/pia/inet/inet_NexNetworkFactory.h>
25 #include <nn/pia/inet/inet_NexFacade.h>
27 #if NN_PIA_NINTENDOSDK
28 #include <nn/account.h>
29 #include <nn/account/account_Result.h>
45 static const nn::nex::Core::ThreadMode NexThreadMode;
98 virtual void FinalizeInet();
114 virtual void FinalizeInetService();
121 virtual Result Dispatch();
128 virtual Result CheckConnection();
144 virtual Result LoginFriendServer();
152 virtual Result LogoutFriendServer();
170 virtual bool IsInLoginProcess()
172 return (m_pCallContext->GetState() == nn::nex::CallContext::CallInProgress);
176 virtual bool IsInLogoutProcess()
178 return (m_pCallContext->GetState() == nn::nex::CallContext::CallInProgress);
187 virtual Result PreLoginProcess(
const InitializeInetSetting* pSetting);
195 virtual bool IsInPreLoginProcess();
204 virtual Result PostLoginProcess();
215 virtual Result LogoutGameServer(
bool isBlock,
bool isInChangeStateAsync);
224 virtual Result GetLogoutOutcome();
248 return m_IsNexInitialized;
252 static void InitializeRuntimeMemory(uint8_t* pNexMemory, uint32_t totalMemorySize, uint32_t emergencyMemorySize);
255 static void* AllocFunction(
size_t size);
258 static void FreeFunction(
void* pointer);
261 static void* InnerAlloc(uint32_t size);
264 static void InnerFree(
void* ptr);
267 static void ReleaseReservedMemory();
270 static void AcquireReservedMemory();
273 static void FinalizeRuntimeMemory();
276 bool m_IsNexInitialized;
277 bool m_IsInetInitialized;
278 nn::nex::NgsFacade* m_pNgsFacade;
279 nn::nex::ProtocolCallContext* m_pCallContext;
280 inet::NexFacade::LoginInfo m_LoginInfo;
281 inet::NexNetworkFactory m_NexNetworkFactory;
283 #if NN_PIA_NINTENDOSDK_NX
284 #if (NEX_CURRENT_VERSION_NUMBER >= NEX_VERSION_NUMBER(4, 1, 1))
285 char m_NsaIdToken[nn::account::NetworkServiceAccountIdTokenLengthMax];
286 size_t m_NsaIdTokenSize;
287 nn::account::NetworkServiceAccountId m_NsaId;
288 nn::account::AsyncContext m_AccountAsyncContext;
289 nn::os::SystemEvent m_AccountSystemEvent;
293 NN_PIA_DISALLOW_COPY(NexService);
299 #endif // NN_PIA_FRAMEWORK_ENABLE_NEX