AM Daemon ライブラリリファレンス
EMoneySound.h
[詳解]
1 /// @file
2 /// @brief 電子マネーのサウンド情報を提供するクラス EMoneySound のヘッダ。
3 ///
4 /// Copyright(C)SEGA
5 
6 #ifndef AMDAEMON_EMONEYSOUND_H
7 #define AMDAEMON_EMONEYSOUND_H
8 
9 #include "amdaemon/env.h"
10 
11 #include <memory>
12 
13 namespace amdaemon
14 {
15 /// @addtogroup g_emoney
16 /// @{
17 
18  // 内部クラスの前方宣言
19  class InnerIndexHolder;
20 
21  /// @brief 電子マネーのサウンド情報を提供するクラス。
22  /// @see EMoney, EMoney#setSoundHook
23  ///
24  /// EMoney クラスのメンバ関数 EMoney#setSoundHook に設定したコールバックへ受け渡される。
25  ///
26  /// @par サウンド再生について
27  /// 一般業務用の電子マネー対応アプリでは、
28  /// メンバ関数 #getFilePath が返すWAVEファイルパスを用いてサウンド再生を行うが、
29  /// この方法はゲーム用途にはそぐわない場合が多い。
30  /// @par
31  /// そこで、メンバ関数 #getId などの情報を用いて、
32  /// ゲームアプリにとって最適な手段でサウンド再生を行っても構わない。
33  /// 当然ながら、再生されるサウンドは本来のWAVEファイルと同等のものにすること。
34  /// @par
35  /// いずれの場合でも、メンバ関数 #isStopRequired が true を返す場合は、
36  /// 再生中の電子マネー関連サウンドの停止処理を行うこと。
38  {
39  public:
40  /// @brief コンストラクタ。
41  /// @param[in] stopRequired 停止処理要求フラグ。
42  /// @param[in] filePath
43  /// サウンドWAVEファイルパス。 stopRequired が true ならば無視される。
44  EMoneySound(bool stopRequired, const wchar_t* filePath);
45 
46  /// @brief コピーコンストラクタ。
47  /// @param[in] src コピー元。
48  EMoneySound(const EMoneySound& src);
49 
50  /// @brief ムーブコンストラクタ。
51  /// @param[in] src ムーブ元。
52  EMoneySound(EMoneySound&& src);
53 
54  /// デストラクタ。
56 
57  /// @brief コピー代入演算子のオーバロード。
58  /// @param[in] r 右辺値。
59  /// @return 自身の参照。
61 
62  /// @brief ムーブ代入演算子のオーバロード。
63  /// @param[in] r 右辺値。
64  /// @return 自身の参照。
66 
67  /// @brief サウンド停止処理要求であるか否かを取得する。
68  /// @retval true サウンド停止処理要求である場合。
69  /// @retval false サウンド再生処理要求である場合。
70  ///
71  /// この関数が true を返す場合、電子マネー関連サウンドの停止処理を行うこと。
72  /// 既に停止済みである場合は何も行わなくてよい。
73  ///
74  /// この関数が true を返す場合、メンバ関数 #getId および #getFilePath は nullptr を返す。
75  bool isStopRequired() const
76  {
77  return (this->getFilePath() == nullptr);
78  }
79 
80  /// @brief サウンドIDを取得する。
81  /// @return サウンドID。停止処理要求の場合は nullptr 。
82  ///
83  /// サウンドWAVEファイルパスのファイル名部分を抜き出した文字列を返す。
84  /// ただし停止指示の場合は nullptr を返す。
85  ///
86  /// 例えば "0001-02-00" といった文字列になる。
87  /// ゲームアプリで再生するサウンドを決定するためのキーとして利用できる。
88  ///
89  /// この関数の返す文字列にはファイル拡張子は含まれない。
90  /// 拡張子を含めたファイル名を取得したい場合は、 #getFilePath の戻り値に対して
91  /// util::Path クラスの静的メンバ関数 util::Path::getName を用いて抜き出すとよい。
92  const wchar_t* getId() const;
93 
94  /// @brief サウンドWAVEファイルパスを取得する。
95  /// @return サウンドWAVEファイルパス。停止処理要求の場合は nullptr 。
96  ///
97  /// 設定ファイルで指定したリソースディレクトリ以下にある、
98  /// サウンドWAVEファイルの絶対パスを返す。
99  /// ただし停止指示の場合は nullptr を返す。
100  ///
101  /// サウンド再生については EMoneySound クラスの説明を参照すること。
102  ///
103  /// ファイル名のみ利用したい場合、 util::Path クラスの静的メンバ関数
104  /// util::Path::getName を用いるとよい。
105  const wchar_t* getFilePath() const;
106 
107  private:
108  struct Data;
109 
110  /// 内部データ。
111  std::unique_ptr<Data> _data;
112  };
113 
114 /// @}
115 } // namespace amdaemon
116 
117 #endif // AMDAEMON_EMONEYSOUND_H
const wchar_t * getId() const
サウンドIDを取得する。
‾EMoneySound()
デストラクタ。
Daemonライブラリの環境定義を行うヘッダ。
const wchar_t * getFilePath() const
サウンドWAVEファイルパスを取得する。
EMoneySound & operator=(const EMoneySound &r)
コピー代入演算子のオーバロード。
AM Daemon ライブラリクラス群の基底名前空間。
Definition: Log.h:13
電子マネーのサウンド情報を提供するクラス。
Definition: EMoneySound.h:37
bool isStopRequired() const
サウンド停止処理要求であるか否かを取得する。
Definition: EMoneySound.h:75
EMoneySound(bool stopRequired, const wchar_t *filePath)
コンストラクタ。