クラスのメンバーがいます:
class MyNativeXPCOMObject ... {
...
private:
nsCOMPtr<nsISomeInterface> someInterface_;
...
};
私はこれを行う方法があります:
NS_IMETHODIMP MyNativeXPCOMObject::GetSomeObject(nsISomeInterface** aSomeInterface) {
NS_IF_ADDREF(someInterface_);
*aSomeInterface = someInterface_;
return NS_OK;
}
AddRef()
しかし、Gecko 9は、あなたが電話をかけたり、電話をかけたりRelease()
することを許可されていないことを強制しますnsCOMPtr<>
。だから今私はこれをやっています:
NS_IMETHODIMP MyNativeXPCOMObject::GetSomeObject(nsISomeInterface** aSomeInterface) {
NS_IF_ADDREF(someInterface_.get()); // <--- Added .get()!
*aSomeInterface = someInterface_;
return NS_OK;
}
しかし、生のポインタに直接アクセスすると、私は汚く感じます。AddRef()
ゲッターでパラメーターを出力するための適切な方法は何ですか?
ドキュメントは役に立ちませんでした。