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

継承図

SFBSingleton クラスの継承図

バージョン

BREW 2.0 BREW 2.1 BREW 3.1 BREW 4.0
× × ×

参照

BREW API ISingleton

メンバ

パブリック関数
SFCError CreateInstance( AEECLSID clsid , SFBBaseSmpPtr result , SingletonCIFunc * pfn , VoidPtr data )
一枚札のクラスの実際の CreateInstance (または新しい関数) をラップします。 SFBSingleton がすでにクラスを作成した場合は、addref されて返されます。それ以外の場合は、 pfnCI がコールされてクラスを作成します。
SFCError Refer( AEECLSID clsid , UInt32Ptr refs , SInt32 inc )
この関数はスレッド安全で、クラスごとの refcount 修飾関数です。 指定された Class ID の refcount がゼロになると、SFBSingleton はインスタンスのトラッキングを停止します。
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 インスタンスを使用して生成します。

SFBSingleton::CreateInstance
一枚札のクラスの実際の CreateInstance (または新しい関数) をラップします。 SFBSingleton がすでにクラスを作成した場合は、addref されて返されます。それ以外の場合は、 pfnCI がコールされてクラスを作成します。
[ public ]
SFCError CreateInstance(
    AEECLSID clsid          // 要求されたインタフェースの 32 ビットの Class ID
    SFBBaseSmpPtr result    // インスタンスへの参照を読み込むポインタ
    SingletonCIFunc * pfn   // インスタンスがまだ作成されていない場合に、インスタンスを作成するためにコールする場所
    VoidPtr data            // pfn へ渡されるユーザーデータを指すポインタ
);

戻り値

AEE_SUCCESS: 見つかった、または作成したクラスインスタンス。失敗時には、pfn によりその他の AEEError。

参照

BREW API ISingleton_CreateInstance


SFBSingleton::Refer
この関数はスレッド安全で、クラスごとの refcount 修飾関数です。 指定された Class ID の refcount がゼロになると、SFBSingleton はインスタンスのトラッキングを停止します。
[ public ]
SFCError Refer(
    AEECLSID clsid   // 変更する ref の 32 ビット ClassID。Ref() が 0 を返す場合にトラッキングの停止に使用する
    UInt32Ptr refs   // 一枚札の refcount を指すポインタで、 nInc によって調整される
    SInt32 inc       // refs に追加する値。"AddRef" には 1 を、 "Release" には -1 をそれぞれ使用する
);

戻り値

refs の結果値。

参照

BREW API ISingleton_Ref