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 にキャストするとスマートポインタとして扱えます。