HTTP ネットワークプログラミング - 2 / 3 -
SophiaFramework によるアプリ

- 最初に、"Push Select Key..."と表示します。

- セレクトキーが押されると、通信が開始します。通信が終了すると、受け取ったデータを表示します。
BREW ネイティブのインターフェースポインタを SophiaFramework のスマートポインタに変換
BREW のインターフェースが SophiaFramework のスマートポインタに変換できれば、解放処理が自動化されるので便利です。
// メッセージの取得開始
Void WebAction::GotResp(Void)
{
WebRespInfo* info;
info = _webresp->GetInfo();
_sfweb->_message += SFXAnsiString::Format(
"** got response...\n** info code: %d\n", info->nCode);
SFBSourceSmp source(reinterpret_cast<SFBSourcePtr>(info->pisMessage));
if (source != null) {
SFBSourceUtilSmp util(SFBSourceUtil::NewInstance());
if (util != null) {
util->GetLineFromSource(source, 1100, &_getline);
}
}
if (_getline != null) {
ReadLines();
}
else {
_sfweb->_message += SFXAnsiString::Format("** no response\n");
Stop();
}
return;
}
関数内 5 行目で、SFBSourceSmp の定義をしています。
info->pisMessage は ISource のポインタですが、SFBSourcePtr にキャストするとスマートポインタとして扱えます。

















