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:
edburns%acm.org
2007-12-22 01:40:58 +00:00
parent ae4cf458ac
commit 02816bb7c8
20 changed files with 226 additions and 78 deletions

View File

@@ -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;
}