イベントハンドラ基本クラス [詳細]
#include <PGDialog.h>
Public 型 | |
typedef std::map< SGString, PGJsonResource > | MapList |
セッションIDとダイアログオブジェクトの連想配列 | |
typedef std::map< SGString, PGJsonResource >::iterator | MapIterator |
MapList のイテレーター | |
Public メソッド | |
PGDialog () | |
コンストラクタ | |
virtual | ~PGDialog () |
デストラクタ | |
virtual void | OnInit () |
初期化時コールバック関数 | |
virtual void | OnChangeBefore (PGClientSocket *pgsock, PGJsonCommand *json) |
他宛 CHANGE コマンド受信時コールバック関数 | |
virtual void | OnChange (PGClientSocket *pgsock, PGJsonCommand *json) |
自宛 CHANGE コマンド受信時コールバック関数 | |
virtual void | OnCondition (PGClientSocket *pgsock, PGJsonCommand *json) |
CONDITION コマンド受信時コールバック関数. | |
virtual void | OnUpdate (PGJsonObject *to, PGJsonObject *from) |
CONDITION コマンド受信時のUpdate処理の通知コールバック関数. | |
virtual void | OnTouch (PGClientSocket *pgsock, PGJsonObject *jobj, const SGString actiontype) |
端末が CONDITION コマンドを送信するトリガになったオブジェクトのコールバック通知関数 | |
virtual void | OnTimer (TimeVal time, unsigned int id) |
タイマー時コールバック関数 | |
virtual void | OnFinal () |
解放時コールバック関数 | |
void | Init (const SGString &dialogname, const char *filename) |
オブジェクトの初期化 | |
PGJsonResource & | GetResourceUnique (const SGString &sessionid) |
リソースの参照 | |
PGJsonResource & | GetResourceShare () |
リソースの参照 | |
void | UpdateDialog (PGClientSocket *pgsock, PGJsonCommand *jo, PGJsonResource *resource) |
void | UpdateResourceUnique (PGJsonCommand *jo, const SGString &sessionid) |
リソースの更新 | |
void | UpdateResourceShare (PGJsonCommand *jo) |
リソースの更新 | |
bool | SendUpdateShare (bool allflag=false) |
ダイアログ更新 | |
bool | SendUpdateUnique (const SGString &sessionid, bool allflag=false) |
ダイアログ更新 | |
bool | LoadJsonShare () |
bool | LoadJsonUnique (const SGString &sessionid) |
int | AddSession (const SGString &sessionid) |
セッションの追加 | |
int | RemoveSession (const SGString &sessionid) |
セッションの削除 | |
void | SetTimerInterval (int time, unsigned int id) |
タイマーの登録、および開始、停止 | |
void | SetSingleTimerInterval (int time, unsigned int id) |
シングルタイマーの登録、および開始、停止 | |
Protected 変数 | |
SGString | mDialogName |
カレントダイアログ名 | |
SGString | mFileName |
ファイル名 | |
MapList | mSessionResourceList |
セッション毎ダイアログのリソースリスト |
イベントハンドラ基本クラス
イベントドリブンの枠組みを提供します。 ユーザーの操作により発生したイベントは、ダイアログ毎に振り分けられ、対応するオブジェクトに通知されます。 アプリケーション開発者は、ダイアログ毎に、このクラスを継承した実装クラスを作成して下さい。
typedef std::map<SGString,PGJsonResource> MapList |
セッションIDとダイアログオブジェクトの連想配列
typedef std::map<SGString,PGJsonResource>::iterator MapIterator |
MapList のイテレーター
PGDialog | ( | ) |
コンストラクタ
~PGDialog | ( | ) | [virtual] |
デストラクタ
void OnInit | ( | ) | [virtual] |
初期化時コールバック関数
初期化後に呼ばれます。
void OnChangeBefore | ( | PGClientSocket * | pgsock, | |
PGJsonCommand * | json | |||
) | [virtual] |
他宛 CHANGE コマンド受信時コールバック関数
他ダイアログの CHANGE コマンド受信時に呼ばれます。
pgsock | 受信ソケット | |
json | JSON コマンド |
void OnChange | ( | PGClientSocket * | pgsock, | |
PGJsonCommand * | json | |||
) | [virtual] |
自宛 CHANGE コマンド受信時コールバック関数
自ダイアログの CHANGE コマンド受信時に呼ばれます。
pgsock | 受信ソケット | |
json | JSON コマンド |
void OnCondition | ( | PGClientSocket * | pgsock, | |
PGJsonCommand * | json | |||
) | [virtual] |
CONDITION コマンド受信時コールバック関数.
CONDITION コマンド受信時に呼ばれます。
pgsock | 受信ソケット | |
json | JSON コマンド |
void OnUpdate | ( | PGJsonObject * | to, | |
PGJsonObject * | from | |||
) | [virtual] |
CONDITION コマンド受信時のUpdate処理の通知コールバック関数.
CONDITION コマンド受信時に、コマンドに含まれる更新オブジェクトについて 自身のリソースエリアを更新(自身へマージする)する為に通知コールバックされます。 このコールバック関数の基本クラスは空関数ではありません。実際にオブジェクトの各要素の 更新を行います。通常は基本クラスを呼ぶようにして下さい。
この OnUpdate は次の関数によって呼ばれる UpdateResource 関数から呼ばれます。
void PGDialog::UpdateResourceUnique( PGJsonCommand *jo, const SGString& sessionid)
void PGDialog::UpdateResourceShare( PGJsonCommand *jo )
to | 自身のオブジェクト | |
from | CONDITIONコマンド内の更新オブジェクトの1つ |
void OnTouch | ( | PGClientSocket * | pgsock, | |
PGJsonObject * | jobj, | |||
const SGString | actiontype | |||
) | [virtual] |
端末が CONDITION コマンドを送信するトリガになったオブジェクトのコールバック通知関数
端末が CONDITION コマンドを受信するきっかけになったオブジェクトを知ることができます。 押されたボタンに対する処理などを行って下さい。
pgsock | 受信ソケット | |
jobj | トリガとなったオブジェクト(Json) | |
actiontype | トリガとなった要因
Clicked オブジェクトがクリックされた ItemClicked GRIDで表示された項目がクリックされた ItemSelected PULLDOWNで表示された項目が選択された SlideTouched SLIDEBARのつまみが押下された(ドラッグ開始) SlideMoved SLIDEBARのつまみが変化した(ドラッグ中) SlideReleased SLIDEBARのつまみが離された(ドラッグ終了) Timer 指定した時間が経過した |
void OnTimer | ( | TimeVal | time, | |
unsigned int | id | |||
) | [virtual] |
タイマー時コールバック関数
タイマー時に呼び出されます。
void OnFinal | ( | ) | [virtual] |
解放時コールバック関数
解放時、開放直前に呼ばれます。
void Init | ( | const SGString & | dialogname, | |
const char * | filename | |||
) |
オブジェクトの初期化
オブジェクトを初期化します。
dialogname | ダイアログ名 | |
filenam | ファイル名 |
PGJsonResource & GetResourceUnique | ( | const SGString & | sessionid | ) |
リソースの参照
ダイアログのリソース(個別エリア)を参照します。 個別エリアとは各セッション毎(ユーザ毎)に分かれたエリアです。
jo | コマンド | |
session | セッションID |
PGJsonResource & GetResourceShare | ( | ) |
リソースの参照
ダイアログのリソース(共有エリア)を参照します。
jo | コマンド |
void UpdateDialog | ( | PGClientSocket * | pgsock, | |
PGJsonCommand * | jo, | |||
PGJsonResource * | resource | |||
) |
void UpdateResourceUnique | ( | PGJsonCommand * | jo, | |
const SGString & | sessionid | |||
) |
リソースの更新
ダイアログのリソース(個別エリア)を更新します。 個別エリアとは各セッション毎(ユーザ毎)に分かれたエリアです。
jo | コマンド | |
session | セッションID |
void UpdateResourceShare | ( | PGJsonCommand * | jo | ) |
リソースの更新
ダイアログのリソース(共有エリア)を更新します。
jo | コマンド |
bool SendUpdateShare | ( | bool | allflag = false |
) |
ダイアログ更新
同じダイアログを開いている自分を含む全ユーザにUPDATEを送信 戻り値は、送信の必要なデータがあった場合true、送信する必要が無かった(更新されたデータが無い場合)場合はfalseを返します。 送信できた、できないではない事に注意して下さい。
bool SendUpdateUnique | ( | const SGString & | sessionid, | |
bool | allflag = false | |||
) |
ダイアログ更新
自分へUPDATEを送信します。 同じダイアログを開いている自分を含む全ユーザにUPDATEを送信する場合は SendUpdateShare() を使用して下さい。
戻り値は、送信の必要なデータがあった場合true、送信する必要が無かった(更新されたデータが無い場合)場合はfalseを返します。 送信できた、できないではない事に注意して下さい。
pgsock | 送信ソケット |
bool LoadJsonShare | ( | ) |
bool LoadJsonUnique | ( | const SGString & | sessionid | ) |
int AddSession | ( | const SGString & | sessionid | ) |
セッションの追加
セッションを追加します。(ダイアログ情報は追加しない。)
sessionid | セッションID |
int RemoveSession | ( | const SGString & | sessionid | ) |
セッションの削除
セッションを削除します。
sessionid | セッションID |
void SetTimerInterval | ( | int | time, | |
unsigned int | id | |||
) |
タイマーの登録、および開始、停止
タイマーの登録と解除を行います。
time | インターバル時間(ms) | |
id | 識別用ID(任意の値) |
void SetSingleTimerInterval | ( | int | time, | |
unsigned int | id | |||
) |
シングルタイマーの登録、および開始、停止
シングルタイマー(ワンショットタイマー)の登録と解除を行います。
time | インターバル時間(ms) | |
id | 識別用ID(任意の値) |
SGString mDialogName [protected] |
カレントダイアログ名
MapList mSessionResourceList [protected] |
セッション毎ダイアログのリソースリスト