前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFBMod
IMod インターフェースのラッパークラスです。
#include <SFBMod.h.hpp>
class SFBMod : public SFBQuery;
SFMTYPEDEFWRAPPER(SFBMod)

継承図

SFBMod クラスの継承図

バージョン

BREW 2.0 BREW 2.1 BREW 3.1 BREW 4.0
× × ×

参照

BREW API IMod

メンバ

パブリック関数
SFCError CreateInstance( AEECLSID id , SFBPrivSetSmpConstRef privSet , SFBBaseSmpPtr result )
指定されたクラスのインスタンスをインスタンス化します。
Void Exit( Void )
SFBModインスタンス化を取り消します。
SFCError Init( Void )
SFBMod (コンポーネント)のインスタンスを使用できるように初期設定します。
SFCError New( SFBEnvSmpConstRef env , AEECLSID id , SFBBaseSmpPtr pOut )
エクスポートするモジュール中のクラスに対し、作成要求を満足する新しい SFBModを作成します。
SFCError QueryInterface( AEECLSID clsid , VoidHandle handle ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFCError QueryInterface( AEECLSID clsid , SFBBaseSmpPtr handle ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFBBaseSmp QueryInterface( AEECLSID clsid ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
Void Self( AEECLSID clsidReq , SFBQuerySmpPtr clone , AEECLSID clsidImp ) (SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
SFBQuerySmp Self( AEECLSID clsidReq , AEECLSID clsidImp ) (SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
プロテクト関数
static
SFBBaseSmp
FactoryByCreate( AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを生成します。
static
SFBBaseSmp
FactoryByQuery( SFBQuerySmpConstRef query , AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを指定した SFBQuery インスタンスを使用して生成します。

SFBMod::CreateInstance
指定されたクラスのインスタンスをインスタンス化します。
[ public ]
SFCError CreateInstance(
    AEECLSID id                     // インスタンス化するクラスの AEECLSID
    SFBPrivSetSmpConstRef privSet   // コールの権限レベル。インスタンス化中のクラスが権限をチェックする場合に備えて提供されている
    SFBBaseSmpPtr result            // 要求されたクラスの新しいインスタンスを入れるためのポインタ
);

戻り値

AEE_SUCCESS クラスのインスタンスが作成された場合。そうでなければ、AEEError.hからの障害特定のエラー値。

参照

BREW API IMod_CreateInstance


SFBMod::Exit
SFBModインスタンス化を取り消します。
[ public ]
Void Exit(Void);

解説

この関数は、 SFBMod::Init()とまったく逆でなければなりません。これは、コンポーネントのコードイメージをアンロードする前に、コンポーネントに対して呼び出される最後のコールです。

参照

BREW API IMod_Exit | SFBMod::Init


SFBMod::Init
SFBMod (コンポーネント)のインスタンスを使用できるように初期設定します。
[ public ]
SFCError Init(Void);

戻り値

SFBMod が初期設定されると、AEE_SUCCESS。それ以外では、 AEEError( IEnv_CreateInstance()のコール側に戻される)。

解説

この関数は、インフラストラクチャが SFBMod::Init()中に、まずこの SFBModを参照でき、SFBMod::Init()へのコール「中」であっても、コンポーネント中のクラスのインスタンスに対する要求が成功するように、 SFBMod::New()から分離します。

参照

BREW API IMod_Init | SFBMod::Exit | SFBMod::New


SFBMod::New
エクスポートするモジュール中のクラスに対し、作成要求を満足する新しい SFBModを作成します。
[ public ]
SFCError New(
    SFBEnvSmpConstRef env   // モジュールに対する SFBEnv へのポインタ。
    AEECLSID id             // 新しい SFBMod オブジェクトに対する希望のインタフェースの AEEIID(初期には常にAEEIID_IMod)
    SFBBaseSmpPtr pOut      // SFBModの新しいインスタンスを入れるためのポインタ。
);

戻り値

AEE_SUCCESS クラスのインスタンスが作成された場合。そうでなければ、AEEError.hからの障害特定のエラー値。

解説

この関数の実装は厳格に最小限度であるべきです。つまり、 SFBModインスタンスに対してのみメモリを割り当て、 SFBEnvを保存して返します。 SFBMod のより複雑な実装は、実装が成功する確率を最大にするために、 SFBMod_Init()で実行される必要があります。

この関数が応答を返すまで、この SFBMod への参照はなく、この関数が返すまでの間、呼び出されたコンポーネント内のクラスのインスタンスへのリクエストは失敗します。

参照

BREW API IMod_New | SFBMod::Exit | SFBMod::Init