A src/nsIPluglet.idl
M classes/org/mozilla/pluglet/Registry.java M dist/build.xml M examples/simple/src/main/java/simple/SimplePluglet.java M examples/simple/src/main/web/index.html M mozilla/Makefile.in M mozilla/nppluglet.cpp M mozilla/nppluglet.h M mozilla/nsScriptablePeer.cpp M netbeans/nbproject/build-impl.xml M netbeans/nbproject/genfiles.properties M netbeans/nbproject/project.properties M netbeans/nbproject/project.xml M src/Makefile.in M src/Pluglet.cpp M src/Pluglet.h M src/PlugletEngine.cpp M src/PlugletFactory.cpp M src/Registry.cpp M src/Registry.h R mozilla/nsIPluglet.idl - At this point, I can call from JavaScript and locate an arbitratily named method on the Pluglet instance that conforms to the signature of returning String, and taking 0 or more Strings as arguments. git-svn-id: svn://10.0.0.236/trunk@242001 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -40,7 +40,10 @@ jmethodID Pluglet::printMID = NULL;
|
||||
|
||||
static NS_DEFINE_IID(kIPluginInstanceIID, NS_IPLUGININSTANCE_IID);
|
||||
|
||||
NS_IMPL_ISUPPORTS1(Pluglet,nsIPluginInstance);
|
||||
NS_IMPL_ISUPPORTS2(Pluglet,
|
||||
nsIPluginInstance,
|
||||
nsIPluglet)
|
||||
|
||||
|
||||
Pluglet::Pluglet(jobject object) : peer(nsnull) {
|
||||
nsresult rv;
|
||||
@@ -299,6 +302,34 @@ NS_METHOD Pluglet::Print(nsPluginPrint* platformPrint) {
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP Pluglet::CallPlugletMethod(const char *methodName, PRUint32 *inArgc,
|
||||
char ***inArgv)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
|
||||
if (NULL != methodName && 0 < strlen(methodName) && NULL != inArgc && NULL != inArgv) {
|
||||
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
|
||||
("Pluglet::CallPlugletMethod: methodName: %s\n", methodName));
|
||||
|
||||
jmethodID plugletMethodMID = Registry::GetMethodIDForPlugletMethod(jthis, methodName,
|
||||
(jint) *inArgc);
|
||||
if (NULL != plugletMethodMID) {
|
||||
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
|
||||
("Pluglet::CallPlugletMethod: found match for methodName: %s\n", methodName));
|
||||
}
|
||||
else {
|
||||
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
|
||||
("Pluglet::CallPlugletMethod: no match for methodName: %s\n", methodName));
|
||||
}
|
||||
}
|
||||
else {
|
||||
PR_LOG(PlugletLog::log, PR_LOG_DEBUG,
|
||||
("Pluglet::CallPlugletMethod: invalid arguments\n"));
|
||||
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user