Public メソッド

クラス SGApplication

PlusGアプリケーションの基本クラス. [詳細]

#include <SGApplication.h>

SGApplicationに対する継承グラフ
SGApplicationのコラボレーション図

すべてのメンバ一覧

Public メソッド

 SGApplication ()
 コンストラクタ
virtual ~SGApplication ()
 デストラクタ
virtual int AppMain ()
 アプリケーションのエントリーポイント
virtual void ApplicationTimer (TimeVal time, unsigned int id)
 アプリケーション タイマー イベント
virtual void DialogTimer (TimeVal time, unsigned int id, SGString name)
 ダイアログ タイマー イベント
int AddEventFd (SGFdData *fdd)
 外部イベント受信処理で待ち受けする FD(ファイルディスクリプタ)を登録します。
void RemoveEventFd (SGFdData *fdd)
 外部イベント受信処理で待ち受けに登録した ファイルディスクリプタクラスを解除する。
virtual SGFdDataListGetFdDataList ()
 入出力ディスクリプタリストを取得する
void SetApplicationTimerInterval (unsigned long interval, unsigned int id=100)
 アプリケーション タイマーインターバルを設定する。
void SetApplicationSingleTimerInterval (unsigned long interval, unsigned int id=200)
 アプリケーション シングル(ワンショット)タイマーインターバルを設定する。
void SetTimerData (unsigned long interval, unsigned int id, SGString name, int cont)
int Initialize (int argc, char **argv)
 アプリケーションを初期化する
void SetDateTime (int year, int mon, int day, int hour=-1, int min=-1, int sec=-1)
 時計を設定する
void ResetTimer ()
 タイマー関連を初期化する。
void WakeUp ()
 イベント入力待ち状態から抜け出す

説明

PlusGアプリケーションの基本クラス.

リソースエディタを使用してアプリケーションを作成した場合、自動的にこのクラスが継承されます。


コンストラクタとデストラクタ

SGApplication (  ) 

コンストラクタ

~SGApplication (  )  [virtual]

デストラクタ


関数

int AppMain (  )  [virtual]

アプリケーションのエントリーポイント

アプリケーションの初期化後に呼ばれます。 イベント駆動ループ(タイマー再計算、入出力イベント発生待ち、イベントハンドラ呼び出し)を行っています。

戻り値:
常に NULL を返します。
void ApplicationTimer ( TimeVal  time,
unsigned int  id 
) [virtual]

アプリケーション タイマー イベント

SGApplication::SetApplicationTimerInterval()で設定したインターバルで発生する タイマーイベントを受けてコールされます。
この関数は拡張専用でブランク(何もしない)仮想関数(Virtual)です。
タイマーを使った処理を行う場合は、この関数をオーバーライドして使用します。

構造体:
TimeVal {
    long    tv_sec;     // 秒
    long    tv_usec;    // マイクロ秒
};
引数:
time イベントが発生した時間
id タイマー登録時にセットされたID

PGApplicationで再定義されています。

void DialogTimer ( TimeVal  time,
unsigned int  id,
SGString  name 
) [virtual]

ダイアログ タイマー イベント

PGDialog::SetTimerInterval(int time,unsigned int id); PGDialog::SetSingleTimerInterval(int time,unsigned int id); で設定したインターバルで発生するタイマーイベントを受けてコールされます。
この関数は拡張専用でブランク(何もしない)仮想関数(Virtual)です。
タイマーを使った処理を行う場合は、この関数をオーバーライドして使用します。

構造体:
TimeVal {
    long    tv_sec;     // 秒
    long    tv_usec;    // マイクロ秒
};
引数:
time イベントが発生した時間
id タイマー登録時にセットされたID
name イベントが発生したダイアログ名
int AddEventFd ( SGFdData fdd  ) 

外部イベント受信処理で待ち受けする FD(ファイルディスクリプタ)を登録します。

ライブラリによって待ち受けを行う(selectに待ち受けをさせる)FD の登録を行います。
ここで登録した FD にデータが到達すると登録された関数をコールバックします。

引数:
fdd FDを管理するクラスのポインタ
戻り値:
関連付けしたid が返されます。
注意:
IdもしくはFDが既に存在する場合、新しいものと入れ替わります。
void RemoveEventFd ( SGFdData fdd  ) 

外部イベント受信処理で待ち受けに登録した ファイルディスクリプタクラスを解除する。

外部イベント受信処理で待ち受けに登録した ファイルディスクリプタクラスを解除します。
クローズした FD は登録を解除する必要があります。

引数:
fdd 解除する FD の管理クラス。登録関数 AddEventFd() で指定した fdd を指定します。
戻り値:
TRUE(1) 解除成功
FALSE(0) 解除失敗
SGFdDataList * GetFdDataList (  )  [virtual]

入出力ディスクリプタリストを取得する

外部イベント受信処理で待ち受けに登録したファイルディスクリプタのリストを取得します。

戻り値:
ファイルディスクリプタのリストを返します。
void SetApplicationTimerInterval ( unsigned long  interval,
unsigned int  id = 100 
)

アプリケーション タイマーインターバルを設定する。

タイマーは各ダイアログに1つずつあるダイアログタイマーと、 アプリケーションに1つだけのアプリケーション タイマーとがあります。
用途によって使い分けて下さい。
インターバル(間隔)をミリ秒単位で指定します。
関数コールと同時にタイマーがスタートします。
インターバルに0(ゼロ)を指定するとタイマーが停止します。
設定したインターバル毎に
void SGApplication::ApplicationTimer(TimeVal time)
をコールします。

引数:
interval インターバル(ms単位)
参照:
void SGDialog::SetTimerInterval(int time)
void SetApplicationSingleTimerInterval ( unsigned long  interval,
unsigned int  id = 200 
)

アプリケーション シングル(ワンショット)タイマーインターバルを設定する。

シングルタイマー(ワンショットタイマー)とは1回だけ発生するタイマーです。 インターバル(間隔)をミリ秒単位で指定します。
関数コールと同時にタイマーがスタートし、1回発生すると停止します。
発生前にインターバルに0(ゼロ)を指定するとタイマーが停止します。
設定したインターバル時間後に
void SGApplication::ApplicationSingleTimer(TimeVal time)
をコールします。

引数:
interval インターバル(ms単位)
void SetTimerData ( unsigned long  interval,
unsigned int  id,
SGString  name,
int  cont 
)
int Initialize ( int  argc,
char **  argv 
)

アプリケーションを初期化する

アプリケーションの初期化を行います。

引数:
argc コマンドライン引数の要素数
argv コマンドライン引数の配列
戻り値:
TRUE 成功
FALSE 失敗

PGApplicationで再定義されています。

void SetDateTime ( int  year,
int  mon,
int  day,
int  hour = -1,
int  min = -1,
int  sec = -1 
)

時計を設定する

時計を設定します。
時計はこの関数を使用して設定して下さい。
この関数を使用しないでシステム時計を変更する必要がある場合は変更後に必ず
SGApplication::ResetTimer(); をコールしてください。

引数:
year 
mon 
day 
hour 
min 
sec 
void ResetTimer (  ) 

タイマー関連を初期化する。

タイマー関連の初期化を行います。
時計を変更した時は必ずこの関数をコールする必要があります。
SGApplication::SetDateTime() は内部でこの関数をコールしていますので、リセットする 必要はありません。
それ以外の方法で時計を変更した場合にコールして下さい。

void WakeUp (  ) 

イベント入力待ち状態から抜け出す

Select命令を強制終了する(内部制御用)
ライブラリはアイドル時イベント発生待ち状態にあります。
設定を変更し、即座に反映させるにはイベント入力待ち状態から一度抜ける必要があります。
マウスの動きや、タイマー、キーボードなど何らかのイベントが発生すれば、設定は反映されますが、 イベントの発生を待つことなく、即座にイベント待ちを解除する時にこの関数をコールします。


このクラスの説明は次のファイルから生成されました:

PlusG SMART Solution リファレンスマニュアル Ver 1.0.0