aboutsummaryrefslogtreecommitdiffstats
path: root/plugin/icedteanp/IcedTeaScriptablePluginObject.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/icedteanp/IcedTeaScriptablePluginObject.h')
-rw-r--r--plugin/icedteanp/IcedTeaScriptablePluginObject.h116
1 files changed, 58 insertions, 58 deletions
diff --git a/plugin/icedteanp/IcedTeaScriptablePluginObject.h b/plugin/icedteanp/IcedTeaScriptablePluginObject.h
index 71fab4e..064b18b 100644
--- a/plugin/icedteanp/IcedTeaScriptablePluginObject.h
+++ b/plugin/icedteanp/IcedTeaScriptablePluginObject.h
@@ -142,64 +142,64 @@ class IcedTeaScriptableJavaPackageObject: public NPObject
class IcedTeaScriptableJavaObject: public NPObject
{
-
- private:
- NPP instance;
- bool isObjectArray;
- std::string* class_id;
- std::string* instance_id;
-
- public:
- IcedTeaScriptableJavaObject(NPP instance);
-
- ~IcedTeaScriptableJavaObject();
-
- void setClassIdentifier(std::string class_id);
-
- void setInstanceIdentifier(std::string instance_id);
-
- void setIsArray(bool isArray);
-
- std::string getClassID() { return *class_id; }
-
- std::string getInstanceID() { return *instance_id; }
-
- NPP getInstance() { return instance; }
-
- bool isArray() { return isObjectArray; }
-
- static void deAllocate(NPObject *npobj);
-
- static void invalidate(NPObject *npobj);
-
- static bool hasMethod(NPObject *npobj, NPIdentifier name);
-
- static bool invoke(NPObject *npobj, NPIdentifier name,
- const NPVariant *args, uint32_t argCount, NPVariant *result);
-
- static bool invokeDefault(NPObject *npobj, const NPVariant *args,
- uint32_t argCount, NPVariant *result);
-
- static bool hasProperty(NPObject *npobj, NPIdentifier name);
-
- static bool getProperty(NPObject *npobj, NPIdentifier name,
- NPVariant *result);
-
- static bool setProperty(NPObject *npobj, NPIdentifier name,
- const NPVariant *value);
-
- static bool removeProperty(NPObject *npobj, NPIdentifier name);
-
- static bool enumerate(NPObject *npobj, NPIdentifier **value,
- uint32_t *count);
-
- static bool construct(NPObject *npobj, const NPVariant *args,
- uint32_t argCount, NPVariant *result);
-
- static NPObject* get_scriptable_java_object(NPP instance,
- std::string class_id,
- std::string instance_id,
- bool isArray);
+private:
+ NPP instance;
+ bool is_object_array;
+ /* These may be empty if 'is_applet_instance' is true
+ * and the object has not yet been used */
+ std::string class_id, instance_id;
+public:
+ IcedTeaScriptableJavaObject(NPP instance) {
+ this->instance = instance;
+ is_object_array = false;
+ }
+ static void deAllocate(NPObject *npobj) {
+ delete (IcedTeaScriptableJavaObject*)npobj;
+ }
+ std::string getInstanceID() {
+ return instance_id;
+ }
+ std::string getClassID() {
+ return class_id;
+ }
+ std::string objectKey() {
+ return getClassID() + ":" + getInstanceID();
+ }
+ static void invalidate(NPObject *npobj) {
+ IcedTeaPluginUtilities::removeInstanceID(npobj);
+ IcedTeaScriptableJavaObject* scriptable_object = (IcedTeaScriptableJavaObject*) npobj;
+ IcedTeaPluginUtilities::removeObjectMapping(scriptable_object->objectKey());
+ }
+ static bool hasMethod(NPObject *npobj, NPIdentifier name);
+ static bool invoke(NPObject *npobj, NPIdentifier name,
+ const NPVariant *args, uint32_t argCount, NPVariant *result);
+ static bool invokeDefault(NPObject *npobj, const NPVariant *args,
+ uint32_t argCount, NPVariant *result) {
+ printf ("** Unimplemented: IcedTeaScriptableJavaObject::invokeDefault %p\n", npobj);
+ return false;
+ }
+ static bool hasProperty(NPObject *npobj, NPIdentifier name);
+ static bool getProperty(NPObject *npobj, NPIdentifier name,
+ NPVariant *result);
+ static bool setProperty(NPObject *npobj, NPIdentifier name,
+ const NPVariant *value);
+
+ static bool removeProperty(NPObject *npobj, NPIdentifier name) {
+ printf ("** Unimplemented: IcedTeaScriptableJavaObject::removeProperty %p\n", npobj);
+ return false;
+ }
+ static bool enumerate(NPObject *npobj, NPIdentifier **value,
+ uint32_t *count) {
+ printf ("** Unimplemented: IcedTeaScriptableJavaObject::enumerate %p\n", npobj);
+ return false;
+ }
+ static bool construct(NPObject *npobj, const NPVariant *args,
+ uint32_t argCount, NPVariant *result);
+ /* Creates and retains a scriptable java object (intended to be called asynch.) */
+ static NPObject* get_scriptable_java_object(NPP instance,
+ std::string class_id,
+ std::string instance_id,
+ bool isArray);
};
/* Creates and retains a scriptable java object (intended to be called asynch.) */