前のページ次のページ上に戻るホーム SophiaFramework 2.0

7.1. BREW インターフェイス

BREW API プログラミングでは、 BREW が提供するインターフェイスを使用してシステムにアクセスします。 しかし、BREW APIは C 言語で記述されているので、 プログラムの作成に C++ を使用する場合でも、 C 言語的な記述しかできません。 また、参照カウントを正確に管理しなければならないため、 コーディングに負担がかかります。

例 7.1. BREW API だけを使ったインターフェイスの扱い方


// BREW API だけを使う場合のプログラミング例

Void MyFunc() {

    IHash* pHash

    ISHELL_CreateInstance(pShell, AEECLSID_MD5, (void**) &pHash);

    /* ... pHash の関数呼び出し */

    pHash->Release();

}

SophiaFremwork では BREW インターフェイスに対応する C++ ラッパー クラスを用意することによって、 C++ のオブジェクト指向構文でBREW APIを呼び出すことを可能にしました。 また、ラッパー クラスとスマート ポインタを組み合わせることによって、 BREW インターフェイスの参照カウント管理を自動化することできます。

例 7.2. SophiaFramework を使ったインターフェイスの扱い方


// SophiaFramework のラッパー クラスを利用したプログラミング例

Void MyFunc() {

    SFUBrewPtr<SFBShell> shell = SFBShell::Instance();

    SFUBrewPtr<SFBHash> hash;

    shell->CreateInstance(AEECLSID_MD5, &hash);

    /* hash の関数呼び出し */

    /* インターフェイスの解放は気にしなくてよい */

}