16 #include <nn/pia/framework/framework_Definitions.h>
17 #include <nn/pia/clone/clone_CloneProtocol.h>
33 class ReckoningFacade;
36 class TransportFacade;
61 #if NN_PIA_EXPERIMENT_FRAMEWORK_JOINT_SESSION
110 static Result CreateInstance(
const Setting& setting);
119 static void DestroyInstance();
158 void Trace(uint64_t flag)
const;
199 Result JoinRandomSessionAsyncInternal();
208 bool IsJoinRandomSessionCompletedInternal();
246 Result GetJoinRandomSessionResultInternal()
const;
256 Result LeaveSessionAsyncInternal();
264 bool IsLeaveSessionCompletedInternal();
278 Result GetLeaveSessionResultInternal()
const;
532 bool IsCreateSessionCompletedInternal();
552 Result GetCreateSessionResultInternal()
const;
585 bool IsBrowseSessionCompletedInternal()
const;
586 Result GetBrowseSessionResultInternal()
const;
690 bool IsJoinSessionCompletedInternal();
752 Result GetJoinSessionResultInternal()
const;
827 #if NN_PIA_EXPERIMENT_FRAMEWORK_JOINT_SESSION
833 Result JoinRandomJointSessionAsyncInternal();
842 bool IsJoinRandomJointSessionCompletedInternal();
850 Result GetJoinRandomJointSessionResultInternal()
const;
899 void LeaveSessionAndFinalize();
909 Result InitializeInetService();
918 Result InitializeSession();
936 Result InitializeNetworkInterface();
946 Result InitializeSocket();
951 bool IsLoginCompleted()
const;
952 Result GetLoginResult()
const;
969 void CleanupSession();
974 bool IsLogoutCompleted()
const;
975 Result GetLogoutResult()
const;
977 void LogoutAndWait();
983 void CleanupNetwork();
990 void FinalizeSocket();
997 void FinalizeNetworkInterface();
1004 void FinalizeInetService();
1011 void FinalizeSession();
1036 Result SyncStart(int32_t usingDataIdBitmap, uint32_t delay, uint32_t sendPeriod);
1165 void SetState(
State state)
1337 #if NN_PIA_FRAMEWORK_ENABLE_PLAY_SETTING
1342 void RegisterInitializePlaySetting(
const InitializePlaySetting& setting);
1394 #if NN_PIA_EXPERIMENT_FRAMEWORK_JOINT_SESSION
1407 void RegisterInitializeTuneSetting(
const InitializeTuneSetting& setting);
1425 #if NN_PIA_FRAMEWORK_ENABLE_PLAY_SETTING
1429 void UnregisterInitializePlaySetting();
1467 #if NN_PIA_EXPERIMENT_FRAMEWORK_JOINT_SESSION
1478 void UnregisterInitializeTuneSetting();
1510 bool IsNetworkInterfaceConnected();
1519 return m_Setting.networkType;
1541 #if NN_PIA_NINTENDOSDK
1547 nn::Result GetLastSdkResult()
1549 return m_LastSdkResult;
1558 void SetLastSdkResult(nn::Result result)
1560 m_LastSdkResult = result;
1566 enum AsyncProcessingName
1568 AsyncProcessingName_Nothing = 0,
1569 AsyncProcessingName_ChangeState,
1570 AsyncProcessingName_HandleError,
1571 AsyncProcessingName_CreateSession,
1572 AsyncProcessingName_BrowseSession,
1573 AsyncProcessingName_JoinSession,
1574 AsyncProcessingName_Login,
1575 AsyncProcessingName_Logout
1578 Result UpdateCommon();
1579 Result UpdateInetService();
1580 Result CheckConnectionSession();
1581 Result CheckConnectionInet();
1582 Result CheckConnectionLocal();
1583 Result CheckConnectionLan();
1586 void ResetInternalAsyncState();
1589 bool IsAsyncProcessCompleted(AsyncProcessingName processingName)
const;
1592 Result GetAsyncProcessResult(AsyncProcessingName processingName)
const;
1594 void SetupSessionStartupSettingCommon(session::Session::StartupSetting* pStartupSetting)
const;
1597 CloneFacade* m_pCloneFacade;
1598 InetService* m_pInetService;
1599 LanFacade* m_pLanFacade;
1600 LocalFacade* m_pLocalFacade;
1601 NetworkService* m_pNetworkService;
1602 ReckoningFacade* m_pReckoningFacade;
1603 SessionFacade* m_pSessionFacade;
1604 SyncFacade* m_pSyncFacade;
1605 TransportFacade* m_pTransportFacade;
1606 TuneFacade* m_pTuneFacade;
1608 #if NN_PIA_NINTENDOSDK
1609 nn::Result m_LastSdkResult;
1615 ChangeStateJob* m_pChangeStateJob;
1616 LoginJob* m_pLoginJob;
1617 common::AsyncContext m_InternalContext;
1618 AsyncProcessingName m_CurrentAsyncProcessingName;
1620 InitializeInetSetting m_InitializeInetSetting;
1621 InitializeLanSetting m_InitializeLanSetting;
1622 InitializeLocalSetting m_InitializeLocalSetting;
1623 #if NN_PIA_FRAMEWORK_ENABLE_PLAY_SETTING
1624 InitializePlaySetting m_InitializePlaySetting;
1626 InitializeTransportSetting m_InitializeTransportSetting;
1627 InitializeCloneSetting m_InitializeCloneSetting;
1628 InitializeSyncSetting m_InitializeSyncSetting;
1629 InitializeSessionSetting m_InitializeSessionSetting;
1630 StartupNetworkSetting m_StartupNetworkSetting;
1631 StartupSessionSetting m_SessionStartupSetting;
1632 JoinRandomSessionSetting* m_pJoinRandomSessionSetting;
1633 InitializeTuneSetting m_CpuProfilingSetting;
1635 #if NN_PIA_EXPERIMENT_FRAMEWORK_JOINT_SESSION
1637 JoinRandomSessionSetting* m_pJoinRandomJointSessionSetting;
1639 bool m_IsSessionMigrating;
1643 static const uint32_t MaxSendThreadBufferNum = 32;
1644 static const uint32_t MaxReceiveThreadBufferNum = 32;
1646 static const uint32_t MaxSendThreadBufferNum = 64;
1647 static const uint32_t MaxReceiveThreadBufferNum = 64;
1649 static Framework* s_pInstance;
1654 NN_PIA_DISALLOW_COPY(Framework);