 | | Wide Studio Object Reference
| |
クラスの型
WSCconductor
メソッド関数仕様
WSGIconductor 関数の説明
- 書式
- WSCconductor* WSGIconductor()
- 機能
- アプリケーションにひとつ存在するストア管理クラスの
グローバルインスタンスを取得します。
- 処理
-
- 引数
- なし。
- 返値
- ストア管理クラスインスタンスへのポインタ
- 注意
- この関数はグローバル関数であり、メンバ関数ではありませんので
ご注意ください。
また、返されたポインタを開放してはいけません。
- サンプル
-
#include <WSCconductor.h>
void sample_proc(){
WSCbase* window = NULL; //返り値(ロードしたアプリケーションウィンドウ)を格納
char* stype = "FILE"; //FILE 指定
char* fname = "newpic001.oof"; //FILE 名称
char* path = "/usr1/win/data"; //DIR 指定
char* parent = NULL; //ウィンドウをロードするので親インスタンスは指定しない。
//読み先ディレクトリを指定。
WSGIconductor()->setSerializePath(path);
WSDserialize* db = WSGIconductor()->beginTransaction(stype,fname);
if (db == NULL){
return WS_ERR;
}
long ret = WSGIconductor()->loadGUI(db,&window,parent);
long ret2 = WSGIconductor()->endTransaction(db);
}
saveGUI 関数の説明
- 書式
- long saveGUI(WSDserialize* dest,char* name,WSCbase* inst)
- 機能
- 指定されたインスタンスを指定された名称のシリアライズ先に
出力します。
- 処理
-
- 引数
-
(in)WSDserialize* dest | シリアライズ先インスタンス |
(in)char* name | シリアライズ名 |
(in)inst | ストアしたいインスタンス名 |
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
-
- サンプル
-
#include <WSCconductor.h>
void sample_proc(WSCbase* object){
char* stype = "FILE"; //FILE 指定
char* fname = "newpic001.oof"; //FILE 名称
char* path = "/usr1/win/data"; //DIR 指定
//読み先ディレクトリを指定。
WSGIconductor()->setSerializePath(path);
WSDserialize* db = WSGIconductor()->beginTransaction(stype,fname);
if (db == NULL){
return WS_ERR;
}
WSGIconductor()->saveGUI(db,object->getInstanceName(),object);
return WSGIconductor()->endTransaction(db);
}
loadGUI 関数の説明
- 書式
- long loadGUI(WSDserialize* src,WSCbase** inst,WSCbase* parent)
- 機能
- 指定されたシリアライズ元からインスタンスを読み込みます。
- 処理
-
- 引数
-
(in)WSDserialize* src | シリアライズ元インスタンス |
(out)WSCbase** inst | 読み込んだインスタンスを格納するポインタ |
(in)WSCbase* parent | 読み込むインスタンスの親インスタンス |
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
-
- サンプル
- WSGIappConductor() を参照してください。
save 関数の説明
- 書式
- long save(WSDserialize* dest, char* type, char* name, void* ptr)
- 機能
- 指定されたデータを指定された名称のシリアライズ先に
出力します。
GUIインスタンスだけでない通常のデータ型のシリアライズする
場合に用います。
- 処理
-
- 引数
-
(in)WSDserialize* dest | シリアライズ先インスタンス |
(in)char* type | データのクラス名 |
(in)char* name | シリアライズ名 |
(in)void* data | 出力データ |
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
-
- サンプル
-
#include <WSCconductor.h>
void sample_proc(WSCbase* object){
char* stype = "FILE"; //FILE 指定
char* fname = "newpic001.oof"; //FILE 名称
char* path = "/usr1/win/data"; //DIR 指定
//読み先ディレクトリを指定。
WSGIconductor()->setSerializePath(path);
WSDserialize* db = WSGIconductor()->beginTransaction(stype,fname);
if (db == NULL){
return WS_ERR;
}
WSGIconductor()->save(db,object->getClassName(),object->getInstanceName(),object);
return WSGIconductor()->endTransaction(db);
}
load 関数の説明
- 書式
- long load(WSDserialize* dest, char* type, char* name, void* ptr)
- 機能
- 指定された名称のシリアライズ元からしていされた名称のデータを
読み込みます。
- 処理
-
- 引数
-
(in)WSDserialize* dest | シリアライズ元インスタンス |
(in)char* type | データのクラス名 |
(in)char* name | シリアライズ名 |
(in)void* data | 読み込んだデータを格納するポインタ |
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
-
- サンプル
-
#include <WSCconductor.h>
void sample_proc(WSCbase* object){
WSCbase* window = NULL; //返り値(ロードしたアプリケーションウィンドウ)を格納
char* stype = "FILE"; //FILE 指定
char* fname = "newpic001.oof"; //FILE 名称
char* path = "/usr1/win/data"; //DIR 指定
char* parent = NULL; //ウィンドウをロードするので親インスタンスは指定しない。
//読み先ディレクトリを指定。
WSGIconductor()->setSerializePath(path);
WSDserialize* db = WSGIconductor()->beginTransaction(stype,fname);
if (db == NULL){
return WS_ERR;
}
WSGIconductor()->save(db,"WSCbase","*",&window,parent);
return WSGIconductor()->endTransaction(db);
}
beginTransaction 関数の説明
- 書式
- WSDserialize* beginTransaction(char* stype,char* sname)
- 機能
- シリアライズ名を指定してストア出力を開始します。
- 処理
- シリアライズ名を指定して
ストア出力用シリアライズインスタンスを
取得します。
- 引数
-
(in)char* stype | 出力タイプ名 |
(in)char* sname | シリアライズ出力名 |
- 返値
- シリアライズインスタンス
- 注意
-
- サンプル
- WSGIappConductor() を参照してください。
endTransaction 関数の説明
- 書式
- WSDserialize* endTransaction(WSDserialize* sr)
- 機能
- シリアライズインスタンスを指定して一連のストア出力を
終了します。
- 処理
-
- 引数
-
(in)WSDserialize* sr | シリアライズインスタンス |
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
-
- サンプル
- WSGIappConductor() を参照してください。
Document Release 2.0 For Use with Wide Studio Release 2.0, Spring 2002 Wide Stuido Home | Up to Copyright(C) T. Hirabayashi, 1999-2002 | | Last modified: January 01, 2002 | |