ホーム > デベロッパ > BREW FAQ

BREW FAQ : SophiaFramework

BREW ラッパー クラスとは?

SophiaFramework の BREW ラッパー クラス (以下、ラッパー クラス) とは、BREW のインターフェイスを C++ 言語で利用しやすいようにラッピングしたクラスのことです。

ラッパー クラスを使用することで、スマートポインタを使用した参照カウントの自動管理が可能になります。

また、ラッパー クラスには、SophiaFramework 独自の拡張関数も定義されています。

ラッパー クラスのサンプルは、スマート ポインタとは?をご覧ください。

      

スマート ポインタとは?

SophiaFramework の スマート ポインタ とは、BREW インターフェイスのラッパー クラスに対して 参照カウントの管理を自動化する C++ のテンプレートです。

BREW API だけを使用した C 言語プログラミングでは、 インターフェイスの参照カウントの増減を自前で管理する必要がありますが、 スマート ポインタを使用すれば、このような煩雑な管理がすべて自動化されます。

[ BREW API のみを使用したコード ]

//
// BREW API だけでインターフェイスを管理する例
//

// リソース ファイルから読み込むビットマップ画像のリソース ID
#define IDB_MY_PICTURE  0x0001

IShell*   shell = app->a.m_pIShell;
IBitmap*  bmp;

// IBitmap インターフェイスを作成します。
// IBitmap インターフェイスの参照カウントが加算されます。
bmp = ISHELL_LoadResBitmap(shell, MYRESOURCE_RES_FILE, IDB_MY_PICTURE);

// IBitmap インターフェイスを利用した処理
・
・
・

// IBitmap インターフェイスを破棄します。
// IBitmap インターフェイスの参照カウントが減算されます。
IBITMAP_Release(bmp);

[SophiaFramework を使用したコード]

//
// ラッパー クラスとスマート ポインタを使用して、
// インターフェイスを管理する例
//

// リソース ファイルから読み込むビットマップ画像のリソース ID
#define IDB_MY_PICTURE  0x0001

SFBShellSmp   shell = SFBShell::GetInstance();
SFBBitmapSmp  bmp;

// SFBBitmap インスタンスを作成します。
// 自動的に SFBBitmap インスタンスの参照カウントが加算されます。
bmp = shell->LoadResBitmap(MYRESOURCE_RES_FILE, IDB_MY_PICTURE);

// SFBBitmap インスタンスを利用した処理
・
・
・

// SFBBitmapSmp オブジェクトの解放時に
// 自動的に SFBBitmap インスタンスの参照カウントが減算されます。
      

SophiaFramework とは?

SophiaFramework とは、BREW プラットフォーム上のアプリケーション開発を容易に行うための アプリケーション フレームワークです。

BREW 単体では困難な GUI を利用したアプリケーション (複数ウィンドウの表示など) や C++ を利用したオブジェクト指向ベースの開発、保守が容易に行えます。

SophiaFramework を使う利点をまとめると次のようになります。

  • わずかなコーディングで高度な GUI アプリケーションを構築できます。
  • さまざまなユーティリティ クラスを使って、 すぐにアプリケーションを書くことができます。
  • オブジェクト指向設計により、保守性と拡張性の高いソースコードを書くことができます。

      

BREW で C++ 言語は使用できますか?

BREW で C++ プログラミングするための開発環境として SophiaFramework があります。

SophiaFramework は、高い信頼性とルック & フィールに秀でた GUI を兼ね備える BREW アプリを、従来の 3 分の 1 以下の期間と費用で開発できる、世界初の C++ クラスライブラリ & GUI フレームワークです。

アーキテクチャーは GUI フレームワーク、ユーティリティー、 C++ ラッパーの 3 つの層から構成されます。

ユーティリティーには、POP/SMTP、HTTP/HTTPS を含むネットワーク、コレクション、ストリーム、文字列、バッファ、シェイプ、カラー、数学演算などの機能があります。

BREW で C++ プログラミングするノウハウについては関連情報をご覧ください。


続きを読む »

      

文字列クラスとは?

文字列クラス とは、文字列操作を簡単に行うための C++ クラスです。

BREW API を使用した C 言語プログラミングでは、このようなクラスが存在しないため、開発者は文字列ポインタを直接操作する必要があります。

SophiaFramework には、char 文字列を扱う SFXAnsiString クラスと、BREW のワイド文字列を扱う SFXWideString クラスが用意されています。

SophiaFramework の文字列クラスを使用すると、以下のような操作を簡単に行うことができます。

【 コード例 】

続きを読む »