153 |
assert (appletLoader_loadApplet != NULL); |
assert (appletLoader_loadApplet != NULL); |
154 |
|
|
155 |
// Load applet |
// Load applet |
156 |
// |
// |
157 |
|
DEBUG ("GCJPluginInstance::Initialize: AppletLoader.<init>\n"); |
158 |
jobject appletLoader = m_jniEnv->NewObject (appletLoader_cl, appletLoader_init); |
jobject appletLoader = m_jniEnv->NewObject (appletLoader_cl, appletLoader_init); |
159 |
assert (appletLoader != NULL); |
assert (appletLoader != NULL); |
160 |
|
CHECK_EXCEPTIONS; |
161 |
|
|
162 |
if (tmp_code != NULL) |
if (tmp_code != NULL) |
163 |
m_jniEnv->CallVoidMethod (appletLoader_cl, appletLoader_setCode, code); |
{ |
164 |
|
DEBUG ("GCJPluginInstance::Initialize: AppletLoader.setCode\n"); |
165 |
|
m_jniEnv->CallVoidMethod (appletLoader, appletLoader_setCode, code); |
166 |
|
CHECK_EXCEPTIONS; |
167 |
|
} |
168 |
|
|
169 |
if (tmp_codeBase != NULL) |
if (tmp_codeBase != NULL) |
170 |
m_jniEnv->CallVoidMethod (appletLoader_cl, appletLoader_setCodeBase, codeBase); |
{ |
171 |
|
DEBUG ("GCJPluginInstance::Initialize: AppletLoader.setCodeBase\n"); |
172 |
|
m_jniEnv->CallVoidMethod (appletLoader, appletLoader_setCodeBase, codeBase); |
173 |
|
CHECK_EXCEPTIONS; |
174 |
|
} |
175 |
|
|
176 |
if (tmp_documentBase != NULL) |
if (tmp_documentBase != NULL) |
177 |
m_jniEnv->CallVoidMethod (appletLoader_cl, appletLoader_setDocumentBase, documentBase); |
{ |
178 |
|
DEBUG ("GCJPluginInstance::Initialize: AppletLoader.setDocumentBase\n"); |
179 |
|
m_jniEnv->CallVoidMethod (appletLoader, appletLoader_setDocumentBase, documentBase); |
180 |
|
CHECK_EXCEPTIONS; |
181 |
|
} |
182 |
|
|
183 |
if (tmp_archive != NULL) |
if (tmp_archive != NULL) |
184 |
m_jniEnv->CallVoidMethod (appletLoader_cl, appletLoader_setArchive, archive); |
{ |
185 |
|
DEBUG ("GCJPluginInstance::Initialize: AppletLoader.setArchive\n"); |
186 |
|
m_jniEnv->CallVoidMethod (appletLoader, appletLoader_setArchive, archive); |
187 |
|
CHECK_EXCEPTIONS; |
188 |
|
} |
189 |
|
|
190 |
for (int count = 0; count < numParams; count++) |
for (int count = 0; count < numParams; count++) |
191 |
{ |
{ |
192 |
m_jniEnv->CallVoidMethod (appletLoader_cl, appletLoader_addParameter, |
DEBUG ("GCJPluginInstance::Initialize: AppletLoader.addParameter\n"); |
193 |
|
m_jniEnv->CallVoidMethod (appletLoader, appletLoader_addParameter, |
194 |
m_jniEnv->NewStringUTF (tmp_paramNames [count]), |
m_jniEnv->NewStringUTF (tmp_paramNames [count]), |
195 |
m_jniEnv->NewStringUTF (tmp_paramValues [count])); |
m_jniEnv->NewStringUTF (tmp_paramValues [count])); |
196 |
|
CHECK_EXCEPTIONS; |
197 |
} |
} |
198 |
|
|
199 |
jobject m_applet = m_jniEnv->CallObjectMethod (appletLoader_cl, appletLoader_loadApplet); |
DEBUG ("GCJPluginInstance::Initialize: AppletLoader.loadApplet\n"); |
200 |
assert (m_applet != NULL); |
m_applet = m_jniEnv->CallObjectMethod (appletLoader, appletLoader_loadApplet); |
201 |
|
CHECK_EXCEPTIONS; |
202 |
} |
} |
203 |
|
|
204 |
pluginTagInfo->Release(); |
pluginTagInfo->Release(); |
205 |
pluginTagInfo2->Release(); |
pluginTagInfo2->Release(); |
206 |
|
|
207 |
|
if (m_applet == NULL) |
208 |
|
{ |
209 |
|
DEBUG ("GCJPluginInstance::Initialize: Applet couldn't be loaded\n"); |
210 |
|
return NS_ERROR_FAILURE; |
211 |
|
} |
212 |
|
|
213 |
|
jclass applet_cl = m_jniEnv->GetObjectClass (m_applet); |
214 |
|
assert (applet_cl != NULL); |
215 |
|
|
216 |
|
jmethodID applet_init = m_jniEnv->GetMethodID (applet_cl, "init", "()V"); |
217 |
|
assert (applet_init); |
218 |
|
|
219 |
|
m_jniEnv->CallVoidMethod (m_applet, applet_init); |
220 |
|
CHECK_EXCEPTIONS; |
221 |
|
|
222 |
return NS_OK; |
return NS_OK; |
223 |
} |
} |
235 |
GCJPluginInstance::Start () |
GCJPluginInstance::Start () |
236 |
{ |
{ |
237 |
DEBUG ("GCJPluginInstance::Start\n"); |
DEBUG ("GCJPluginInstance::Start\n"); |
238 |
|
|
239 |
|
if (m_applet != NULL) |
240 |
|
{ |
241 |
|
jclass applet_cl = m_jniEnv->GetObjectClass (m_applet); |
242 |
|
assert (applet_cl != NULL); |
243 |
|
|
244 |
|
jmethodID applet_start = m_jniEnv->GetMethodID (applet_cl, "start", "()V"); |
245 |
|
assert (applet_start); |
246 |
|
|
247 |
|
m_jniEnv->CallVoidMethod (m_applet, applet_start); |
248 |
|
CHECK_EXCEPTIONS; |
249 |
|
} |
250 |
|
|
251 |
return NS_OK; |
return NS_OK; |
252 |
} |
} |
253 |
|
|
256 |
{ |
{ |
257 |
DEBUG ("GCJPluginInstance::Stop\n"); |
DEBUG ("GCJPluginInstance::Stop\n"); |
258 |
|
|
259 |
|
if (m_applet != NULL) |
260 |
|
{ |
261 |
|
jclass applet_cl = m_jniEnv->GetObjectClass (m_applet); |
262 |
|
assert (applet_cl != NULL); |
263 |
|
|
264 |
|
jmethodID applet_stop = m_jniEnv->GetMethodID (applet_cl, "stop", "()V"); |
265 |
|
assert (applet_stop); |
266 |
|
|
267 |
|
m_jniEnv->CallVoidMethod (m_applet, applet_stop); |
268 |
|
CHECK_EXCEPTIONS; |
269 |
|
} |
270 |
|
|
271 |
return NS_OK; |
return NS_OK; |
272 |
} |
} |
273 |
|
|
276 |
{ |
{ |
277 |
DEBUG ("GCJPluginInstance::Destroy\n"); |
DEBUG ("GCJPluginInstance::Destroy\n"); |
278 |
|
|
279 |
return NS_ERROR_NOT_IMPLEMENTED; |
if (m_applet != NULL) |
280 |
|
{ |
281 |
|
jclass applet_cl = m_jniEnv->GetObjectClass (m_applet); |
282 |
|
assert (applet_cl != NULL); |
283 |
|
|
284 |
|
jmethodID applet_destroy = m_jniEnv->GetMethodID (applet_cl, "destroy", "()V"); |
285 |
|
assert (applet_destroy); |
286 |
|
|
287 |
|
m_jniEnv->CallVoidMethod (m_applet, applet_destroy); |
288 |
|
CHECK_EXCEPTIONS; |
289 |
|
} |
290 |
|
|
291 |
|
return NS_OK; |
292 |
} |
} |
293 |
|
|
294 |
NS_IMETHODIMP |
NS_IMETHODIMP |
384 |
{ |
{ |
385 |
DEBUG ("GCJPluginInstance::GetText\n"); |
DEBUG ("GCJPluginInstance::GetText\n"); |
386 |
|
|
387 |
return NS_OK; |
return NS_ERROR_NOT_IMPLEMENTED; |
388 |
} |
} |