CTR-Pia  5.4.3
Game Communication Engine
 全て クラス ネームスペース 関数 変数 型定義 列挙型 列挙型の値 ページ
session_Api.h
1 /*--------------------------------------------------------------------------------*
2  Copyright (C)Nintendo All rights reserved.
3 
4  These coded instructions, statements, and computer programs contain proprietary
5  information of Nintendo and/or its licensed developers and are protected by
6  national and international copyright laws. They may not be disclosed to third
7  parties or copied or duplicated in any form, in whole or in part, without the
8  prior written consent of Nintendo.
9 
10  The content herein is highly confidential and should be handled accordingly.
11  *--------------------------------------------------------------------------------*/
12 
13 
14 #pragma once
15 
16 #include <nn/pia/session/session_Definitions.h>
17 
18 
19 namespace nn
20 {
21 namespace pia
22 {
23 namespace session
24 {
25 /*!
26 @name モジュールの初期化、終了処理
27 @{
28 */
29 
30 /*!
31  @brief PiaSession モジュールを初期化します。
32  事前に nn::pia::common::Initialize を実行しておく必要があります。
33  @details session モジュールが動的に確保し使用するメモリは @ref nn::pia::common::Initialize で渡したメモリから確保されます。
34 
35  @return このAPIを適切なタイミングで呼び出していれば、成功の Result が返されます。この関数がエラーを返さないようにアプリケーションを実装する必要があります。
36  @retval ResultInvalidState common モジュールが初期化されていない状態です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
37  @retval ResultAlreadyInitialized 既にこの関数を実行し、初期化が完了している状態です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
38 */
39 Result Initialize();
40 
41 /*!
42  @brief セットアップの開始を宣言します。
43 
44  @details session モジュール以下の初期化処理、すなわち @ref Session::CreateInstance を実行する前に呼び出す必要があります。
45  別のモジュールのセットアップ処理とバッティングすると正しく動作しませんので
46  セットアップ処理は @ref session::BeginSetup 実行後、session モジュール以下の初期化処理を行い、
47  速やかに @ref session::EndSetup を実行してセットアップを完了させる必要があります。
48 
49  @return このAPIを適切なタイミングで呼び出していれば、成功の Result が返されます。この関数がエラーを返さないようにアプリケーションを実装する必要があります。
50  @retval ResultNotInitialized session::Initialize が呼ばれていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
51  @retval ResultInvalidState セットアップ期間中に再度呼び出しています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
52 */
53 Result BeginSetup(void);
54 
55 /*!
56  @cond PRIVATE
57  @brief 現在セットアップ期間中かを確認します。
58  @details 本関数は内部処理のために用意したものですので、アプリケーションが呼び出す必要はありません。
59 
60  @return @ref session::BeginSetup 実行から @ref session::EndSetup までの期間であれば true を返します。
61 */
62 bool IsDuringSetup(void);
63 //! @endcond
64 
65 /*!
66  @brief セットアップの終了を宣言します。
67  @details session モジュール以下の初期化処理、すなわち @ref Session::CreateInstance を実行した後に呼び出す必要があります。
68  このAPI呼び出しにより、session モジュールのシングルトンなどが消費するメモリを確定し、ライブラリ内部でのメモリ管理を最適化します。
69  別のモジュールのセットアップ処理とバッティングすると正しく動作しませんので
70  セットアップ処理は @ref session::BeginSetup 実行後、session モジュール以下の初期化処理を行い、
71  速やかに @ref session::EndSetup を実行してセットアップを完了させる必要があります。
72 
73  @return この API を適切なタイミングで呼び出していれば、成功の Result が返されます。この関数がエラーを返さないようにアプリケーションを実装する必要があります。
74  @retval ResultNotInitialized session::Initialize が呼ばれていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
75  @retval ResultInvalidState この関数を呼び出すタイミングが誤っています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
76 */
77 Result EndSetup(void);
78 
79 /*!
80  @brief PiaSession モジュールが初期化された状態であるかどうかを返します。
81 
82  @return 初期化されていれば true 、されていなければ false が返されます。
83 */
84 bool IsInitialized(void);
85 
86 /*!
87  @brief PiaSession モジュールを終了します。
88  @ref nn::pia::common::Finalize を実行する前に実行する必要があります。
89  @details 本関数を実行する前に PiaSession モジュールのすべての処理を終了しておく必要があります。
90  なお、@ref nn::pia::session::Initialize を実行していない状態では何もしません。
91 */
92 void Finalize(void);
93 
94 /*!
95 @}
96 */
97 }
98 }
99 } // end of namespace nn::pia::session