AM Daemon ライブラリリファレンス
SequenceBookkeeping.h
[詳解]
1 /// @file
2 /// @brief プレイ回数やプレイ時間関連のブックキーピング構造体 SequenceBookkeeping のヘッダ。
3 ///
4 /// Copyright(C)SEGA
5 
6 #ifndef AMDAEMON_SEQUENCEBOOKKEEPING_H
7 #define AMDAEMON_SEQUENCEBOOKKEEPING_H
8 
9 #include "amdaemon/env.h"
10 
11 #include <cstdint>
12 #include <cstddef>
13 
14 namespace amdaemon
15 {
16 /// @addtogroup g_sequence
17 /// @{
18 
19  /// @brief TIME HISTOGRAM の範囲単体を保持する構造体。
20  /// @note memcpy 可能。
21  /// @internal ライブラリ実装メモ: この型を直接共有メモリに配置する。
23  {
24  std::uint32_t timeRangeMin; ///< プレイ秒数範囲の最小値。
25 
26  /// プレイ秒数範囲の最大値。
27  /// 上限なしを表す場合は UINT32_MAX が設定される。
28  std::uint32_t timeRangeMax;
29 
30  std::uint32_t count; ///< カウント数。
31 
32  /// @brief プレイ秒数範囲が上限なしであるか否かを取得する。
33  /// @retval true 上限なしである場合。
34  /// @retval false 上限がある場合。
35  bool isTimeRangeUnlimited() const
36  {
37  return (this->timeRangeMax == UINT32_MAX);
38  }
39  };
40 
41  /// @brief プレイ回数やプレイ時間関連のブックキーピング構造体。
42  /// @see CreditBookkeeping
43  /// @note memcpy 可能。
44  ///
45  /// 各設定値の詳細はビデオゲーム作成基準を参照すること。
46  ///
47  /// TIME HISTOGRAM の有効数や各時間範囲は設定ファイルで指定したものとなる。
48  ///
49  /// @internal ライブラリ実装メモ: この型を直接共有メモリに配置する。
51  {
52  /// プレイ時間分布の最大スロット数。
53  static const std::size_t MaxTimeHistogramCount = 32;
54 
55  std::uint32_t numberOfGames; ///< NUMBER OF GAMES の値。
56  std::uint32_t totalTime; ///< TOTAL TIME の秒数値。
57  std::uint32_t playTime; ///< PLAY TIME の秒数値。
58  std::uint32_t averagePlayTime; ///< AVERAGE PLAY TIME の秒数値。
59  std::uint32_t longestPlayTime; ///< LONGEST PLAY TIME の秒数値。
60  std::uint32_t shortestPlayTime; ///< SHORTEST PLAY TIME の秒数値。
61  std::uint32_t timeHistogramCount; ///< TIME HISTOGRAM の有効数。
62  TimeHistogramItem timeHistogram[MaxTimeHistogramCount]; ///< TIME HISTOGRAM の値配列。
63  };
64 
65 /// @}
66 } // namespace amdaemon
67 
68 #endif // AMDAEMON_SEQUENCEBOOKKEEPING_H
std::uint32_t averagePlayTime
AVERAGE PLAY TIME の秒数値。
Definition: SequenceBookkeeping.h:58
std::uint32_t longestPlayTime
LONGEST PLAY TIME の秒数値。
Definition: SequenceBookkeeping.h:59
TIME HISTOGRAM の範囲単体を保持する構造体。
Definition: SequenceBookkeeping.h:22
std::uint32_t totalTime
TOTAL TIME の秒数値。
Definition: SequenceBookkeeping.h:56
bool isTimeRangeUnlimited() const
プレイ秒数範囲が上限なしであるか否かを取得する。
Definition: SequenceBookkeeping.h:35
Daemonライブラリの環境定義を行うヘッダ。
AM Daemon ライブラリクラス群の基底名前空間。
Definition: Log.h:13
std::uint32_t timeRangeMin
プレイ秒数範囲の最小値。
Definition: SequenceBookkeeping.h:24
std::uint32_t playTime
PLAY TIME の秒数値。
Definition: SequenceBookkeeping.h:57
プレイ回数やプレイ時間関連のブックキーピング構造体。
Definition: SequenceBookkeeping.h:50
std::uint32_t shortestPlayTime
SHORTEST PLAY TIME の秒数値。
Definition: SequenceBookkeeping.h:60
std::uint32_t count
カウント数。
Definition: SequenceBookkeeping.h:30
std::uint32_t timeRangeMax
Definition: SequenceBookkeeping.h:28
std::uint32_t numberOfGames
NUMBER OF GAMES の値。
Definition: SequenceBookkeeping.h:55
std::uint32_t timeHistogramCount
TIME HISTOGRAM の有効数。
Definition: SequenceBookkeeping.h:61