AM Daemon ライブラリリファレンス
System.h
[詳解]
1 /// @file
2 /// @brief システムの不変情報を提供するMonostateクラス System のヘッダ。
3 ///
4 /// Copyright(C)SEGA
5 
6 #ifndef AMDAEMON_SYSTEM_H
7 #define AMDAEMON_SYSTEM_H
8 
9 #include "amdaemon/env.h"
10 #include "amdaemon/SerialId.h"
11 #include "amdaemon/Resolution.h"
12 #include "amdaemon/RegionCode.h"
13 
14 #include <cstdint>
15 #include <cstddef>
16 
17 namespace amdaemon
18 {
19 /// @addtogroup g_system
20 /// @{
21 
22  /// @brief システムの不変情報を提供するMonostateクラス。
23  ///
24  /// @ingroup g_common
25  class System
26  {
27  public:
28  // 下記は暗黙の定義を用いる。
29  //System() = default;
30  //‾System() = default;
31  //System(const System&) = default;
32  //System& operator=(const System&) = default;
33 
34  /// @brief ボードのシリアルIDを取得する。
35  /// @return ボードのシリアルID。
36  const SerialId& getBoardId() const;
37 
38  /// @brief 仕向地コードを取得する。
39  /// @return 仕向地コード。
40  ///
41  /// @par プラットフォーム情報
42  /// - Nuシリーズの場合はボードの仕向地コードを返す。
43  /// - ALLSシリーズの場合はキーチップの仕向地コードを返す。
44  /// 複数の仕向地が設定されている場合は Unknown を返す。
45  RegionCode getRegionCode() const;
46 
47  /// @brief キーチップIDを取得する。
48  /// @return キーチップID。
49  const SerialId& getKeychipId() const;
50 
51  /// @brief キーチップの機能区分値を取得する。
52  /// @return 機能区分値。 1 以上 98 以下。
53  std::uint32_t getModelType() const;
54 
55  /// @brief ゲームIDを取得する。
56  /// @return ゲームID。 4 文字。
57  const wchar_t* getGameId() const;
58 
59  /// @brief 開発シーケンスで動作しているか否かを取得する。
60  /// @retval true 開発シーケンスで動作している場合。
61  /// @retval false 量産シーケンスで動作している場合。
62  bool isDevelop() const;
63 
64  /// @brief 画面解像度を取得する。
65  /// @param[in] monitorIndex
66  /// プライマリモニタの解像度を取得するならば 0 。
67  /// セカンダリモニタの解像度を取得するならば 1 。
68  /// @return 画面解像度。
69  ///
70  /// @exception Exception
71  /// 引数 monitorIndex に 0 または 1 以外の値を指定した場合。
72  ///
73  /// 画面出力モードがデュアル設定の場合のみセカンダリモニタの解像度を取得できる。
74  /// それ以外の場合、セカンダリモニタの解像度を取得しようとするとゼロ値を返す。
75  const Resolution& getResolution(std::size_t monitorIndex = 0) const;
76 
77  /// @brief アプリルートディレクトリパスを取得する。
78  /// @return アプリルートディレクトリパス。
79  ///
80  /// - 通常はゲームIDが "SXXX" なら "Y:¥¥SXXX¥¥" を返す。
81  /// - エミュレータ環境では任意の設定値を返す。
82  /// ただし設定値が空文字列の場合は ".¥¥" を返す。
83  const wchar_t* getAppRootPath() const;
84  };
85 
86 /// @}
87 } // namespace amdaemon
88 
89 #endif // AMDAEMON_SYSTEM_H
const SerialId & getBoardId() const
ボードのシリアルIDを取得する。
RegionCode getRegionCode() const
仕向地コードを取得する。
const wchar_t * getAppRootPath() const
アプリルートディレクトリパスを取得する。
画面解像度情報構造体 Resolution のヘッダ。
std::uint32_t getModelType() const
キーチップの機能区分値を取得する。
Daemonライブラリの環境定義を行うヘッダ。
仕向地コード列挙 RegionCode のヘッダ。
AM Daemon ライブラリクラス群の基底名前空間。
Definition: Log.h:13
シリアルID構造体 SerialId のヘッダ。
システムの不変情報を提供するMonostateクラス。
Definition: System.h:25
bool isDevelop() const
開発シーケンスで動作しているか否かを取得する。
シリアルID構造体。
Definition: SerialId.h:87
const Resolution & getResolution(std::size_t monitorIndex=0) const
画面解像度を取得する。
const wchar_t * getGameId() const
ゲームIDを取得する。
const SerialId & getKeychipId() const
キーチップIDを取得する。
RegionCode
仕向地コード列挙。
Definition: RegionCode.h:17
画面解像度情報構造体。
Definition: Resolution.h:19