AM Daemon ライブラリリファレンス
公開メンバ関数 | 全メンバ一覧
amdaemon::allnet::Accounting クラス

ALL.Net課金処理を提供するMonostateクラス。 [詳解]

#include <Accounting.h>

公開メンバ関数

bool isAvailable () const
 ALL.Net課金機能を利用可能であるか否かを取得する。 [詳解]
 
AccountingMode getMode () const
 課金モードを取得する。 [詳解]
 
bool isPlayable () const
 課金プレイ可能な状態であるか否かを取得する。 [詳解]
 
bool isReporting () const
 初回/定時締め処理中であるか否かを取得する。 [詳解]
 
const ::amdaemon::util::TimeSpangetSpanUntilReport () const
 次回の定時締め処理までの残り時間を取得する。 [詳解]
 
const AccountingPlayCountItemgetPlayCountItem (AccountingPlayCountMonth month) const
 課金プレイ回数集計アイテムを取得する。 [詳解]
 
const ::amdaemon::util::DateTimegetReportTime () const
 直近の初回/定時締め処理成功日時を取得する。 [詳解]
 
const ::amdaemon::util::DateTimegetBackgroundReportTime () const
 直近の日中締め処理成功日時を取得する。 [詳解]
 
bool isLogFull () const
 ログフル状態であるか否かを取得する。 [詳解]
 
bool isNearFullEnabled () const
 ニアフル警告チェックを行うか否かを取得する。 [詳解]
 
bool setNearFullEnabled (bool enabled)
 ニアフル警告チェックを行うか否かを設定する。 [詳解]
 
std::size_t getPlayerCount () const
 課金処理対象となるプレイヤー数を取得する。 [詳解]
 
AccountingUnitgetPlayer (std::size_t playerIndex)
 プレイヤーの課金処理インスタンスを取得する。 [詳解]
 
const AccountingUnitgetPlayer (std::size_t playerIndex) const
 プレイヤーの課金処理インスタンスを取得する。 [詳解]
 
std::vector< std::reference_wrapper< AccountingUnit > > getPlayers ()
 プレイヤーの課金処理インスタンス配列を取得する。 [詳解]
 
std::vector< std::reference_wrapper< const AccountingUnit > > getPlayers () const
 プレイヤーの課金処理インスタンス配列を取得する。 [詳解]
 

詳解

ALL.Net課金処理を提供するMonostateクラス。

Core クラスのメンバ関数 Core::execute 呼び出しによって内容が更新される。

関数詳解

bool amdaemon::allnet::Accounting::isAvailable ( ) const

ALL.Net課金機能を利用可能であるか否かを取得する。

戻り値
true利用可能である場合。
false機能が無効である場合。

条件式 (getMode() != AccountingMode::None) の結果を返す。

Daemonプロセスの設定ファイルでALL.Net課金設定を有効にしている場合であっても、 キーチップのALL.Net課金フラグが無効である場合は false を返す。

AccountingMode amdaemon::allnet::Accounting::getMode ( ) const

課金モードを取得する。

戻り値
課金モード。課金機能が無効である場合は AccountingMode::None

通常はDaemonプロセスの設定ファイルで指定した課金モードを返す。 ただしキーチップのALL.Net課金フラグが無効である場合は AccountingMode::None を返す。

bool amdaemon::allnet::Accounting::isPlayable ( ) const

課金プレイ可能な状態であるか否かを取得する。

戻り値
true課金プレイ可能な状態である場合。
false課金プレイ不可能な状態である場合。

下記のいずれかであれば false を返す。

  • 課金機能が無効である場合。
  • 初回締め処理が完了していない場合。
  • 初回/定時締め処理中である場合。
  • 課金モードB1であり、かつALL.Net認証に成功していない場合。
  • ALL.Net関連の進行停止エラーが発生している場合。
bool amdaemon::allnet::Accounting::isReporting ( ) const
inline

初回/定時締め処理中であるか否かを取得する。

戻り値
true初回/定時締め処理中である場合。
false初回/定時締め処理中ではないか、課金機能が無効である場合。

条件式 getSpanUntilReport().isZero() の結果を返す。

const ::amdaemon::util::TimeSpan& amdaemon::allnet::Accounting::getSpanUntilReport ( ) const

次回の定時締め処理までの残り時間を取得する。

戻り値
次回の定時締め処理までの残り時間。

初回/定時締め処理中ならば util::TimeSpan::zero() を返す。

課金機能が無効である場合等、現在の状態では初回/定時締め処理を行えない場合は util::TimeSpan::max() を返す。

const AccountingPlayCountItem& amdaemon::allnet::Accounting::getPlayCountItem ( AccountingPlayCountMonth  month) const

課金プレイ回数集計アイテムを取得する。

引数
[in]month集計月種別。
戻り値
課金プレイ回数集計アイテム。
例外
Exception引数 month に不正な値を指定した場合。

まだ課金サーバに情報が登録されていない場合等には無効な情報を返す。 取得した値のメンバ関数 AccountingPlayCountItem::valid によって 情報が有効であるか否かを調べることができる。

稼働開始から2カ月以下の場合であっても、 今月の情報が有効であるならば先月および先々月の情報も有効となる。 その際、先月および先々月の課金プレイ回数は 0 となっている。 アプリ側では、取得した情報をそのまま表示してしまって構わない。

const ::amdaemon::util::DateTime& amdaemon::allnet::Accounting::getReportTime ( ) const

直近の初回/定時締め処理成功日時を取得する。

戻り値
直近の初回/定時締め処理成功日時。 情報が存在しない場合や課金機能が無効である場合は util::DateTime::min()
const ::amdaemon::util::DateTime& amdaemon::allnet::Accounting::getBackgroundReportTime ( ) const

直近の日中締め処理成功日時を取得する。

戻り値
直近の日中締め処理成功日時。 情報が存在しない場合や課金機能が無効である場合は util::DateTime::min()
bool amdaemon::allnet::Accounting::isLogFull ( ) const

ログフル状態であるか否かを取得する。

戻り値
trueログフル状態である場合。
falseログフル状態ではないか、課金機能が無効である場合。
bool amdaemon::allnet::Accounting::isNearFullEnabled ( ) const

ニアフル警告チェックを行うか否かを取得する。

戻り値
trueチェックを行う場合。
falseチェックを行わないか、課金機能が無効である場合。
bool amdaemon::allnet::Accounting::setNearFullEnabled ( bool  enabled)

ニアフル警告チェックを行うか否かを設定する。

引数
[in]enabled行うならば true 。行わないならば false 。
戻り値
true設定変更できた場合。
false設定変更できなかったか、課金機能が無効である場合。

Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。

std::size_t amdaemon::allnet::Accounting::getPlayerCount ( ) const

課金処理対象となるプレイヤー数を取得する。

戻り値
課金処理対象となるプレイヤー数。課金機能が無効ならば 0 。
参照
Core::getPlayerCount

課金機能が有効ならば、 Core::getPlayerCount と同じ値を返す。

AccountingUnit& amdaemon::allnet::Accounting::getPlayer ( std::size_t  playerIndex)

プレイヤーの課金処理インスタンスを取得する。

引数
[in]playerIndexプレイヤーインデックス。
戻り値
プレイヤーの課金処理インスタンス。
参照
Player
例外
Exception
  • 課金機能が無効である場合。
  • 引数 playerIndex にプレイヤー数以上の値を指定した場合。 プレイヤー数はメンバ関数 getPlayerCount で取得できる。
const AccountingUnit& amdaemon::allnet::Accounting::getPlayer ( std::size_t  playerIndex) const

プレイヤーの課金処理インスタンスを取得する。

引数
[in]playerIndexプレイヤーインデックス。
戻り値
プレイヤーの課金処理インスタンス。
参照
Player
例外
Exception
  • 課金機能が無効である場合。
  • 引数 playerIndex にプレイヤー数以上の値を指定した場合。 プレイヤー数はメンバ関数 getPlayerCount で取得できる。
std::vector<std::reference_wrapper<AccountingUnit> > amdaemon::allnet::Accounting::getPlayers ( )
inline

プレイヤーの課金処理インスタンス配列を取得する。

戻り値
プレイヤーの課金処理インスタンス配列。

範囲for文や各種アルゴリズム関数に渡すことを想定している。

  • プレイヤー数を知りたいだけならばメンバ関数 getPlayerCount を用いること。
  • 特定プレイヤーの課金処理インスタンスを取得したいだけならばメンバ関数 getPlayer を用いること。
std::vector<std::reference_wrapper<const AccountingUnit> > amdaemon::allnet::Accounting::getPlayers ( ) const
inline

プレイヤーの課金処理インスタンス配列を取得する。

戻り値
プレイヤーの課金処理インスタンス配列。

範囲for文や各種アルゴリズム関数に渡すことを想定している。

  • プレイヤー数を知りたいだけならばメンバ関数 getPlayerCount を用いること。
  • 特定プレイヤーの課金処理インスタンスを取得したいだけならばメンバ関数 getPlayer を用いること。

このクラス詳解は次のファイルから抽出されました: