![]() ![]() ![]()
|
BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework UNIVERSE 5.0 |
SophiaFremwork には、BREW SDK に含まれるすべての インターフェイスに対応する C++ ラッパー クラスが提供されます。
例 22.1. インターフェースの作成
// SFBHashSmp は SFBHash インターフェースを管理するスマートポインター // SFBHash::NewInstance 関数を使って新しいインターフェースを作成する SFBHashSmp hash(SFBHash::NewInstance(AEECLSID_MD5));
ラッパー クラスには、BREW API を C++ で単純にラップしたインライン関数と SophiaFramework のクラスを引数とする関数があります。
インライン関数はコンパイル時にインライン展開されるので、実行時に速度が低下することはありません。
例 22.4. IShell インターフェースの ISHELL_GetAppCopyright 関数
// BREW ネイティブ API int ISHELL_GetAppCopyright(IShell* pIShell, AECHAR* pBuff, int nSize); // BREW API 関数を単純にラップしたインライン関数 SInt32 SFBShell::GetAppCopyright(WCharPtr buf, SInt32 size); // SophiaFramework のクラスを引数とする関数 SInt32 SFBShell::GetAppCopyright(SFXWideStringPtr string);
この関数は引数として WChar 型文字列を格納するバッファへのポインターを与えます。
インライン関数は BREW ネイティブ API を単にラップしたものです。
SophiaFramework のクラスを引数とする関数では、SFXWideString などが使えるように拡張されています。 SFXWideString のサイズを取得する等のオーバーヘッドが含まれるため、速度は若干遅くなります。
|
Copyright (C) 2002 - 2008 Sophia Cradle Incorporated All Rights Reserved. |
![]() ![]() ![]()
|