AM Daemon ライブラリリファレンス
NetDelivery.h
[詳解]
1 /// @file
2 /// @brief NET配信情報を提供するMonostateクラス NetDelivery のヘッダ。
3 ///
4 /// Copyright(C)SEGA
5 
6 #ifndef AMDAEMON_NETDELIVERY_H
7 #define AMDAEMON_NETDELIVERY_H
8 
9 #include "amdaemon/env.h"
13 
14 namespace amdaemon
15 {
16 /// @addtogroup g_netdelivery
17 /// @{
18 
19  /// @brief NET配信情報を提供するMonostateクラス。
20  ///
21  /// Core クラスのメンバ関数 Core#execute 呼び出しによって内容が更新される。
22  ///
23  /// @par ゲームテストモードでの配信状況表示
24  /// NET配信機能に対応する場合、ゲームテストモードにてアプリイメージおよび
25  /// オプションイメージの配信状況表示メニューを実装すること。
26  /// @par
27  /// - アプリイメージの配信状況
28  /// - 現在動作中のアプリバージョンは AppImage クラスのメンバ関数
29  /// AppImage#getCurrentVersion で取得できる。
30  /// - 配信中のアプリバージョンは getAppImageInfo().version で取得できる。
31  /// - 配信進捗は getAppImageInfo().progress で取得できる。
32  /// - 配信開始日時は getAppTimeInfo().order で取得できる。
33  /// - 公開日時は getAppTimeInfo().release で取得できる。
34  /// - 配信ステータスは getAppImageInfo().status で取得できる。
35  /// 関数 amdaemon::toString(NetDeliveryStatus, bool) で文字列表現値を取得できる。
36  /// - メンバ関数 #existsApp が false を返す場合、下記項目はハイフン表示とすること。
37  /// - 配信中のアプリバージョン
38  /// - 配信進捗
39  /// - 配信開始日時
40  /// - 公開日時
41  /// - オプションイメージの配信状況
42  /// - 配信進捗は getOptionImageInfo().calcTotalProgress() で取得できる。
43  /// - 配信開始日時は getOptionTimeInfo().order で取得できる。
44  /// - 公開日時は getOptionTimeInfo().release で取得できる。
45  /// - 配信ステータスは getOptionImageInfo().status で取得できる。
46  /// 関数 amdaemon::toString(NetDeliveryStatus, bool) で文字列表現値を取得できる。
47  /// - メンバ関数 #existsOption が false を返す場合、下記項目はハイフン表示とすること。
48  /// - 配信進捗
49  /// - 配信開始日時
50  /// - 公開日時
51  ///
52  /// @ingroup g_common
54  {
55  public:
56  // 下記は暗黙の定義を用いる。
57  //NetDelivery() = default;
58  //‾NetDelivery() = default;
59  //NetDelivery(const NetDelivery&) = default;
60  //NetDelivery& operator=(const NetDelivery&) = default;
61 
62  /// @brief NET配信クライアントとして動作するか否かを取得する。
63  /// @retval true NET配信クライアントとして動作する場合。
64  /// @retval false NET配信クライアントとして動作しない場合。
65  ///
66  /// Daemonプロセスの設定ファイルでNET配信設定を有効にしている場合であっても、
67  /// キーチップのALL.Net認証フラグが無効である場合は false を返す。
68  bool isAvailable() const;
69 
70  /// @brief NET配信によるセガブート遷移要求があるか否かを取得する。
71  /// @retval true セガブート遷移要求がある場合。
72  /// @retval false セガブート遷移要求がない場合。
73  /// @see Core#kill
74  ///
75  /// NET配信クライアントとして動作していない場合は常に false を返す。
76  ///
77  /// NET配信クライアントとして動作しており、この関数が true を返す場合、
78  /// イメージ更新のためにアプリ終了フローへ遷移する必要がある。
79  /// アプリ終了フローについては Core クラスの説明を参照すること。
80  bool isExitNeeded() const;
81 
82  public:
83  // アプリイメージ情報
84 
85  /// @brief 配信処理対象アプリイメージが存在するか否かを取得する。
86  /// @retval true 存在する場合。
87  /// @retval false 存在しない場合。
88  ///
89  /// getAppTimeInfo().existsImage() を返す。
90  bool existsApp() const
91  {
92  return this->getAppTimeInfo().existsImage();
93  }
94 
95  /// @brief 配信処理対象アプリイメージの日時情報を取得する。
96  /// @return 配信処理対象アプリイメージの日時情報。
97  const NetDeliveryTimeInfo& getAppTimeInfo() const;
98 
99  /// @brief 配信処理対象アプリイメージのイメージ情報を取得する。
100  /// @return イメージ情報。
101  ///
102  /// 対象イメージが複数指定されている場合、それらを合算した情報を返す。
104 
105  public:
106  // オプションイメージ情報
107 
108  /// @brief 配信処理対象オプションイメージが存在するか否かを取得する。
109  /// @retval true 存在する場合。
110  /// @retval false 存在しない場合。
111  ///
112  /// getOptionTimeInfo().existsImage() を返す。
113  bool existsOption() const
114  {
115  return this->getOptionTimeInfo().existsImage();
116  }
117 
118  /// @brief 配信処理対象オプションイメージの日時情報を取得する。
119  /// @return 配信処理対象オプションイメージの日時情報。
120  const NetDeliveryTimeInfo& getOptionTimeInfo() const;
121 
122  /// @brief 配信処理対象オプションイメージのイメージ情報を取得する。
123  /// @return イメージ情報。
124  ///
125  /// 対象イメージが複数指定されている場合、それらを合算した情報を返す。
127  };
128 
129 /// @}
130 } // namespace amdaemon
131 
132 #endif // AMDAEMON_NETDELIVERY_H
bool isExitNeeded() const
NET配信によるセガブート遷移要求があるか否かを取得する。
NET配信日時情報構造体。
Definition: NetDeliveryTimeInfo.h:20
NET配信アプリイメージ情報構造体 NetDeliveryAppImageInfo のヘッダ。
bool existsApp() const
配信処理対象アプリイメージが存在するか否かを取得する。
Definition: NetDelivery.h:90
const NetDeliveryOptionImageInfo & getOptionImageInfo() const
配信処理対象オプションイメージのイメージ情報を取得する。
Daemonライブラリの環境定義を行うヘッダ。
AM Daemon ライブラリクラス群の基底名前空間。
Definition: Log.h:13
bool existsImage() const
配信イメージが存在するか否かを取得する。
Definition: NetDeliveryTimeInfo.h:31
const NetDeliveryAppImageInfo & getAppImageInfo() const
配信処理対象アプリイメージのイメージ情報を取得する。
const NetDeliveryTimeInfo & getOptionTimeInfo() const
配信処理対象オプションイメージの日時情報を取得する。
bool isAvailable() const
NET配信クライアントとして動作するか否かを取得する。
NET配信アプリイメージ情報構造体。
Definition: NetDeliveryAppImageInfo.h:23
NET配信オプションイメージ情報構造体。
Definition: NetDeliveryOptionImageInfo.h:27
NET配信日時情報構造体 NetDeliveryTimeInfo のヘッダ。
bool existsOption() const
配信処理対象オプションイメージが存在するか否かを取得する。
Definition: NetDelivery.h:113
NET配信オプションイメージ情報構造体 NetDeliveryOptionImageInfo のヘッダ。
const NetDeliveryTimeInfo & getAppTimeInfo() const
配信処理対象アプリイメージの日時情報を取得する。
NET配信情報を提供するMonostateクラス。
Definition: NetDelivery.h:53