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

Aime関連処理を提供するMonostateクラス。 [詳解]

#include <Aime.h>

公開メンバ関数

bool isAvailable () const
 Aime機能を利用可能であるか否かを取得する。 [詳解]
 
bool isFirmUpdating () const
 ファームウェア更新の実処理中であるか否かを取得する。 [詳解]
 
float getFirmUpdateProgress () const
 ファームウェア更新の進捗率を取得する。 [詳解]
 
bool isDBAlive () const
 AimeDBサーバが生存しているか否かを取得する。 [詳解]
 
std::size_t getUnitCount () const
 Aimeリーダーユニット数を取得する。 [詳解]
 
AimeUnitgetUnit (std::size_t unitIndex)
 Aimeリーダーユニットインスタンスを取得する。 [詳解]
 
const AimeUnitgetUnit (std::size_t unitIndex) const
 Aimeリーダーユニットインスタンスを取得する。 [詳解]
 
std::vector< std::reference_wrapper< AimeUnit > > getUnits ()
 Aimeリーダーユニットインスタンス配列を取得する。 [詳解]
 
std::vector< std::reference_wrapper< const AimeUnit > > getUnits () const
 Aimeリーダーユニットインスタンス配列を取得する。 [詳解]
 
RequestState sendLog (const AimeId &aimeId, AimeLogStatus status)
 ログ送信開始を要求する。 [詳解]
 
RequestState sendLog (const AimeId &aimeId, AimeLogStatus status, std::size_t gameCostIndex, std::size_t gameCostCount=1)
 ログ送信開始を要求する。 [詳解]
 
std::size_t getCampaignInfoCount () const
 キャンペーン情報の有効数を取得する。 [詳解]
 
const AimeCampaignInfogetCampaignInfo (std::size_t index) const
 キャンペーン情報を取得する。 [詳解]
 
std::vector< std::reference_wrapper< const AimeCampaignInfo > > getCampaignInfos () const
 キャンペーン情報配列を取得する。 [詳解]
 
RequestState requestCampaignProgress (const AimeId &aimeId)
 UID値に紐付くキャンペーン進捗状況の受信を要求する。 [詳解]
 
std::size_t getCampaignProgressCount (const AimeId &aimeId) const
 直近で受信完了したキャンペーン進捗状況の有効数を取得する。 [詳解]
 
const AimeCampaignProgressgetCampaignProgress (const AimeId &aimeId, std::size_t index) const
 直近で受信完了したキャンペーン進捗状況を取得する。 [詳解]
 
std::vector< std::reference_wrapper< const AimeCampaignProgress > > getCampaignProgresses (const AimeId &aimeId) const
 直近で受信完了したキャンペーン進捗状況配列を取得する。 [詳解]
 

詳解

Aime関連処理を提供するMonostateクラス。

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

ライブラリ利用アプリで実装すべきこと(Aime利用タイトルのみ)
  • メンバ関数 isFirmUpdating の戻り値が true の間はポーリング処理等を行えない。 必要に応じてファームウェア更新処理中であることを示す画面表示を行うこと。
    • メンバ関数 getFirmUpdateProgress で更新処理の進捗率を取得できる。
    • 戻り値が false になった後は、稼働中に再度 true になることはない。
UID値読み取り手順
AimeUnit クラスの説明を参照すること。

関数詳解

bool amdaemon::Aime::isAvailable ( ) const

Aime機能を利用可能であるか否かを取得する。

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

条件式 (getUnitCount() > 0) の結果を返す。

bool amdaemon::Aime::isFirmUpdating ( ) const

ファームウェア更新の実処理中であるか否かを取得する。

戻り値
trueファームウェア更新の実処理中である場合。
falseファームウェア更新の実処理中ではない場合。

Daemonプロセスによるファームウェア更新処理中であれば true を返す。

float amdaemon::Aime::getFirmUpdateProgress ( ) const

ファームウェア更新の進捗率を取得する。

戻り値
ファームウェア更新の進捗率を表すパーセント値。
参照
isFirmUpdating

ファームウェア更新処理中ではない場合、この関数は不定値を返す。 Aimeリーダーユニットが複数接続されている場合、全体での進捗率を返す。

bool amdaemon::Aime::isDBAlive ( ) const

AimeDBサーバが生存しているか否かを取得する。

戻り値
true生存している場合。
false生存が確認できない場合。
std::size_t amdaemon::Aime::getUnitCount ( ) const

Aimeリーダーユニット数を取得する。

戻り値
Aimeリーダーユニット数。
AimeUnit& amdaemon::Aime::getUnit ( std::size_t  unitIndex)

Aimeリーダーユニットインスタンスを取得する。

引数
[in]unitIndexユニットインデックス。
戻り値
Aimeリーダーユニットインスタンス。
例外
Exception引数 unitIndex にユニット数以上の値を指定した場合。 ユニット数はメンバ関数 getUnitCount で取得できる。
const AimeUnit& amdaemon::Aime::getUnit ( std::size_t  unitIndex) const

Aimeリーダーユニットインスタンスを取得する。

引数
[in]unitIndexユニットインデックス。
戻り値
Aimeリーダーユニットインスタンス。
例外
Exception引数 unitIndex にユニット数以上の値を指定した場合。 ユニット数はメンバ関数 getUnitCount で取得できる。
std::vector<std::reference_wrapper<AimeUnit> > amdaemon::Aime::getUnits ( )
inline

Aimeリーダーユニットインスタンス配列を取得する。

戻り値
Aimeリーダーユニットインスタンス配列。

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

  • ユニット数を知りたいだけならばメンバ関数 getUnitCount を用いること。
  • 特定ユニットを取得したいだけならばメンバ関数 getUnit を用いること。
std::vector<std::reference_wrapper<const AimeUnit> > amdaemon::Aime::getUnits ( ) const
inline

Aimeリーダーユニットインスタンス配列を取得する。

戻り値
Aimeリーダーユニットインスタンス配列。

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

  • ユニット数を知りたいだけならばメンバ関数 getUnitCount を用いること。
  • 特定ユニットを取得したいだけならばメンバ関数 getUnit を用いること。
RequestState amdaemon::Aime::sendLog ( const AimeId aimeId,
AimeLogStatus  status 
)

ログ送信開始を要求する。

引数
[in]aimeIdログ送信対象のUID値。
[in]statusログステータス。
戻り値
要求状態値。
参照
Sequence::beginPlay
例外
Exception
  • 引数 aimeId に無効なUID値を指定した場合。
  • 引数 status に不正な値を指定した場合。

プレイ開始、コンティニュー、プレイ終了と連動してログ送信を行いたい場合は Sequence クラスのメンバ関数 Sequence::beginPlay でAimeのUID値を紐付けすることを推奨する。 それ以外のタイミングでログ送信を行いたい場合にこの関数を用いる。

ビデオゲームでクレジットを消費してゲームを開始またはコンティニューした場合、 この関数ではなくメンバ関数 sendLog(const AimeId&, AimeLogStatus, std::size_t, std::size_t) を用いることを推奨する。

この関数を連続して複数回呼び出した場合、要求は内部キューに蓄えられ、 先に呼び出したものから逐次処理される。

RequestState amdaemon::Aime::sendLog ( const AimeId aimeId,
AimeLogStatus  status,
std::size_t  gameCostIndex,
std::size_t  gameCostCount = 1 
)

ログ送信開始を要求する。

引数
[in]aimeIdログ送信対象のUID値。
[in]statusログステータス。
[in]gameCostIndex付随情報として送信する消費ゲームコストのゲームコスト設定インデックス。 通常、 CreditUnit::payGameCost で引数 gameCostIndex に指定した値を用いる。
[in]gameCostCount付随情報として送信する消費ゲームコストのゲームコスト減算回数。 通常、 CreditUnit::payGameCost で引数 count に指定した値を用いる。
戻り値
要求状態値。
参照
Sequence::beginPlay
例外
Exception
  • 引数 aimeId に無効なUID値を指定した場合。
  • 引数 status に不正な値を指定した場合。
  • 引数 gameCostIndex に CreditConfig::MaxGameCostCount 以上の値を指定した場合。
  • 引数 gameCostCount に 0 以下もしくは 99 より大きい値を指定した場合。

プレイ開始、コンティニュー、プレイ終了と連動してログ送信を行いたい場合は Sequence クラスのメンバ関数 Sequence::beginPlay でAimeのUID値を紐付けすることを推奨する。 それ以外のタイミングでログ送信を行いたい場合にこの関数を用いる。

ビデオゲームでクレジットを消費してゲームを開始またはコンティニューした場合、 こちらのオーバロードを用いること。

この関数を連続して複数回呼び出した場合、要求は内部キューに蓄えられ、 先に呼び出したものから逐次処理される。

std::size_t amdaemon::Aime::getCampaignInfoCount ( ) const

キャンペーン情報の有効数を取得する。

戻り値
キャンペーン情報の有効数。 0 以上 AimeCampaignCountLimit 以下。
const AimeCampaignInfo& amdaemon::Aime::getCampaignInfo ( std::size_t  index) const

キャンペーン情報を取得する。

引数
[in]indexインデックス。
戻り値
キャンペーン情報。
例外
Exception引数 index に有効数以上の値を指定した場合。 有効数はメンバ関数 getCampaignInfoCount で取得できる。

この情報はDaemonプロセスがバックグラウンドで定期的に更新する。 更新タイミング次第では、終了済みのキャンペーン情報が返る可能性がある。 アプリ側で取得した情報の各種日時を確認して判断すること。

std::vector<std::reference_wrapper<const AimeCampaignInfo> > amdaemon::Aime::getCampaignInfos ( ) const
inline

キャンペーン情報配列を取得する。

戻り値
キャンペーン情報配列。

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

  • 有効数を知りたいだけならばメンバ関数 getCampaignInfoCount を用いること。
  • 特定の情報を取得したいだけならばメンバ関数 getCampaignInfo を用いること。
RequestState amdaemon::Aime::requestCampaignProgress ( const AimeId aimeId)

UID値に紐付くキャンペーン進捗状況の受信を要求する。

引数
[in]aimeIdキャンペーン進捗状況受信対象のUID値。
戻り値
要求状態値。引数や状態が不正な場合は無効値。
例外
Exception引数 aimeId に無効なUID値を指定した場合。

この関数はUID値に紐付くキャンペーン進捗状況の受信要求のみを行う。 実際の処理は、 Core クラスのメンバ関数 Core::execute 呼び出しによって行われる。

この関数の戻り値である RequestState クラスのメンバ関数 RequestState::isDone が true を返すようになれば処理完了済みであり、その際にメンバ関数 RequestState::isSucceeded が true を返すのであれば処理成功を表す。

処理成功後は、メンバ関数 getCampaignProgressCount および getCampaignProgress によって受信した内容を参照できる。

キャンペーン進捗状況は基本的にログ送信の内容に基づいて更新されるため、 ログ送信後にこの関数を呼び出して最新の進捗状況を得ることが望ましい。

この関数を連続して複数回呼び出した場合、要求は内部キューに蓄えられ、 先に呼び出したものから逐次処理される。

std::size_t amdaemon::Aime::getCampaignProgressCount ( const AimeId aimeId) const

直近で受信完了したキャンペーン進捗状況の有効数を取得する。

引数
[in]aimeId対象UID値。
戻り値
キャンペーン進捗状況の有効数。 0 以上 AimeCampaignCountLimit 以下。
例外
Exception引数 aimeId に無効なUID値を指定した場合。

対象UID値についてメンバ関数 requestCampaignProgress を呼び出すと、 その時点でライブラリ内のデータが初期化され、この関数は 0 を返すようになる。 その後、受信が正常に完了すると再び有効な値を返すようになる。

当ライブラリ内では直近 8 ユーザ分だけ情報を保持している。 保持限界を超える進捗状況の受信を行った場合、古い受信データから順に破棄され、 この関数は 0 を返すようになる。

const AimeCampaignProgress& amdaemon::Aime::getCampaignProgress ( const AimeId aimeId,
std::size_t  index 
) const

直近で受信完了したキャンペーン進捗状況を取得する。

引数
[in]aimeId対象UID値。
[in]indexインデックス。
戻り値
キャンペーン進捗状況。
例外
Exception
  • 引数 aimeId に無効なUID値を指定した場合。
  • 引数 index に有効数以上の値を指定した場合。 有効数はメンバ関数 getCampaignProgressCount で取得できる。

当ライブラリ内では直近 8 ユーザ分だけ情報を保持している。 保持限界を超える進捗状況の受信を行った場合、古い受信データから順に破棄され、 この関数から取得した参照は無効となる。

情報を長期間に渡って参照したい場合、参照の保持ではなく値のコピーを行うこと。

std::vector<std::reference_wrapper<const AimeCampaignProgress> > amdaemon::Aime::getCampaignProgresses ( const AimeId aimeId) const
inline

直近で受信完了したキャンペーン進捗状況配列を取得する。

引数
[in]aimeId対象UID値。
戻り値
キャンペーン進捗状況配列。
例外
Exception引数 aimeId に無効なUID値を指定した場合。

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

  • 有効数を知りたいだけならばメンバ関数 getCampaignProgressCount を用いること。
  • 特定の進捗状況を取得したいだけならばメンバ関数 getCampaignProgress を用いること。

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