ヘッダー ファイルはhttp://code.google.com/p/npapi-sdk/source/browse/?r=7#svn%2Fwikiから入手しました。
したがって、Initialize メソッドでは、すべてのブラウザー NPN メソッドへのポインターを次のように格納しました。
static NPNetscapeFuncs* browser;
NPError NP_Initialize(NPNetscapeFuncs* browserFuncs)
{
/* Save the browser function table. */
browser = browserFuncs;
return NPERR_NO_ERROR;
}
NPClass 構造体を作成するときに、既存のブラウザ関数を次のように割り当てる必要があります。
struct NPClass class;
class.hasMethod = browser-> hasmethod;
etc.
または、ブラウザー関数を使用して npruntimeheader に関数を実装し、その方法でクラスに割り当てる必要がありますか。例: class.hasMethod = NPN_HasMethod;
次に、以下の関数を実装します。
bool NPN_HasMethod(NPP npp, NPObject *npobj, NPIdentifier methodName)
{
return browser->hasmethod(npp, npobj, methodName);
}
または、ランタイム ヘッダーの NPN 関数は何らかの方法で既に実装されていますか?
私はこれを c で書く必要があり、firebreath を使用することはこの特定のプロジェクトにとって素晴らしいアイデアだとは思いません。よろしくお願いいたします。