Wide Studio Object Reference

Wide Studio Home
Up to


クラスの型

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