ホーム > デベロッパ > BREW プログラミング入門 > HTTP ネットワークプログラミング > - 2 / 3 -

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