AM Daemon ライブラリリファレンス
LanInstall.h
[詳解]
1 /// @file
2 /// @brief LANインストール情報を提供するMonostateクラス LanInstall のヘッダ。
3 ///
4 /// Copyright(C)SEGA
5 
6 #ifndef AMDAEMON_LANINSTALL_H
7 #define AMDAEMON_LANINSTALL_H
8 
9 #include "amdaemon/env.h"
10 
11 #include <cstdint>
12 
13 namespace amdaemon
14 {
15 /// @addtogroup g_laninstall
16 /// @{
17 
18  /// @brief LANインストール情報を提供するMonostateクラス。
19  ///
20  /// Core クラスのメンバ関数 Core#execute 呼び出しによって内容が更新される。
21  ///
22  /// @ingroup g_common
23  class LanInstall
24  {
25  public:
26  // 下記は暗黙の定義を用いる。
27  //LanInstall() = default;
28  //‾LanInstall() = default;
29  //LanInstall(const LanInstall&) = default;
30  //LanInstall& operator=(const LanInstall&) = default;
31 
32  /// @brief LANインストール機能を利用可能であるか否かを取得する。
33  /// @retval true 利用可能である場合。
34  /// @retval false 機能が無効である場合。
35  ///
36  /// 条件式 (isClient() || isServer()) の結果を返す。
37  bool isAvailable() const
38  {
39  return (this->isClient() || this->isServer());
40  }
41 
42  /// @brief LANインストールクライアントとして動作するか否かを取得する。
43  /// @retval true LANインストールクライアントとして動作する場合。
44  /// @retval false LANインストールクライアントとして動作しない場合。
45  ///
46  /// この関数とメンバ関数 #isServer が両方とも true を返すことはない。
47  /// LANインストールを行わない設定の場合はどちらも false を返す。
48  bool isClient() const;
49 
50  /// @brief LANインストールサーバとして動作するか否かを取得する。
51  /// @retval true LANインストールサーバとして動作する場合。
52  /// @retval false LANインストールサーバとして動作しない場合。
53  ///
54  /// この関数とメンバ関数 #isClient が両方とも true を返すことはない。
55  /// LANインストールを行わない設定の場合はどちらも false を返す。
56  bool isServer() const;
57 
58  /// @brief LANインストールによるセガブート遷移要求があるか否かを取得する。
59  /// @retval true セガブート遷移要求がある場合。
60  /// @retval false セガブート遷移要求がない場合。
61  /// @see Core#kill
62  ///
63  /// LANインストールクライアントとして動作していない場合は常に false を返す。
64  ///
65  /// LANインストールクライアントとして動作しており、この関数が true を返す場合、
66  /// イメージ更新のためにアプリ終了フローへ遷移する必要がある。
67  /// アプリ終了フローについては Core クラスの説明を参照すること。
68  bool isExitNeeded() const;
69 
70  /// @brief LANインストールサーバ検出数を取得する。
71  /// @return LANインストールサーバ検出数。自身も含む。未検出ならば -1 。
72  ///
73  /// 自身を含め、LAN上に存在するLANインストールサーバの検出数を返す。
74  ///
75  /// - 未検出時には -1 を返す。
76  /// - サーバを検出できないまま約3分経過すると 0 を返す。
77  /// - サーバを検出した場合は即座に 1 以上の値を返す。
78  /// ただし内部実装の都合上、最大検出数は 2 となる。 3 以上になることはない。
79  /// - 0 や 1 を返す状態で新たにサーバを検出した場合は数値が増加する。
80  /// 一方、検出済みのLANインストールサーバが切断された場合等に数値が減ることはない。
81  /// - ゲームテストモードの開始時および終了時には -1 に戻って検出し直しとなる。
82  ///
83  /// この関数が 2 を返す場合、自身がLANインストールクライアントならば
84  /// ERROR 8405 、LANインストールサーバならば ERROR 8406 が同時に発生する。
85  ///
86  /// この関数が 0 を返す場合、Daemonプロセス側で進行停止エラーとすることはないが、
87  /// ゲームアプリ側で進行停止エラーとしたい場合は ERROR 8404 を用いること。
88  /// ERROR 8404 自体は AM Daemon 標準のエラーリソースDLLで定義済みであるため、
89  /// タイトル側で個別に定義する必要はない。
90  /// エラー発生には Error クラスのメンバ関数 Error#set を用いること。
91  ///
92  /// LANインストールを行わない設定の場合は常に -1 を返す。
93  std::int32_t getServerCount() const;
94  };
95 
96 /// @}
97 } // namespace amdaemon
98 
99 #endif // AMDAEMON_LANINSTALL_H
bool isClient() const
LANインストールクライアントとして動作するか否かを取得する。
Daemonライブラリの環境定義を行うヘッダ。
bool isExitNeeded() const
LANインストールによるセガブート遷移要求があるか否かを取得する。
AM Daemon ライブラリクラス群の基底名前空間。
Definition: Log.h:13
LANインストール情報を提供するMonostateクラス。
Definition: LanInstall.h:23
bool isAvailable() const
LANインストール機能を利用可能であるか否かを取得する。
Definition: LanInstall.h:37
bool isServer() const
LANインストールサーバとして動作するか否かを取得する。
std::int32_t getServerCount() const
LANインストールサーバ検出数を取得する。