diff options
author | Joseph Herlant <herlantj@gmail.com> | 2018-05-25 22:06:51 -0700 |
---|---|---|
committer | Joseph Herlant <aerostitch@users.noreply.github.com> | 2018-05-25 22:17:50 -0700 |
commit | 8a76acb966f7059caf9d72c853175bd923b1e9d7 (patch) | |
tree | 1735178f7a0718831b88d2c36ea18a9955de3224 /navit/browserplugin.c | |
parent | 032f15287b472f1a4b5349533f3e5b468684b281 (diff) | |
download | navit-8a76acb966f7059caf9d72c853175bd923b1e9d7.tar.gz |
cleanup:global:Use astyle to reformat everything
Diffstat (limited to 'navit/browserplugin.c')
-rw-r--r-- | navit/browserplugin.c | 693 |
1 files changed, 333 insertions, 360 deletions
diff --git a/navit/browserplugin.c b/navit/browserplugin.c index e5fbc5517..6016c4a1e 100644 --- a/navit/browserplugin.c +++ b/navit/browserplugin.c @@ -54,443 +54,418 @@ static NPNetscapeFuncs *sBrowserFuncs = NULL; extern struct NPClass navitclass,navitclass2; typedef struct InstanceData { - NPP npp; - NPWindow window; + NPP npp; + NPWindow window; } InstanceData; static void -fillPluginFunctionTable(NPPluginFuncs * pFuncs) -{ - pFuncs->version = 11; - pFuncs->size = sizeof(*pFuncs); - pFuncs->newp = NPP_New; - pFuncs->destroy = NPP_Destroy; - pFuncs->setwindow = NPP_SetWindow; - pFuncs->newstream = NPP_NewStream; - pFuncs->destroystream = NPP_DestroyStream; - pFuncs->asfile = NPP_StreamAsFile; - pFuncs->writeready = NPP_WriteReady; - pFuncs->write = NPP_Write; - pFuncs->print = NPP_Print; - pFuncs->event = NPP_HandleEvent; - pFuncs->urlnotify = NPP_URLNotify; - pFuncs->getvalue = NPP_GetValue; - pFuncs->setvalue = NPP_SetValue; +fillPluginFunctionTable(NPPluginFuncs * pFuncs) { + pFuncs->version = 11; + pFuncs->size = sizeof(*pFuncs); + pFuncs->newp = NPP_New; + pFuncs->destroy = NPP_Destroy; + pFuncs->setwindow = NPP_SetWindow; + pFuncs->newstream = NPP_NewStream; + pFuncs->destroystream = NPP_DestroyStream; + pFuncs->asfile = NPP_StreamAsFile; + pFuncs->writeready = NPP_WriteReady; + pFuncs->write = NPP_Write; + pFuncs->print = NPP_Print; + pFuncs->event = NPP_HandleEvent; + pFuncs->urlnotify = NPP_URLNotify; + pFuncs->getvalue = NPP_GetValue; + pFuncs->setvalue = NPP_SetValue; } NP_EXPORT(NPError) -NP_Initialize(NPNetscapeFuncs * bFuncs, NPPluginFuncs * pFuncs) -{ - NPError err = NPERR_NO_ERROR; - NPBool supportsXEmbed = false; - NPNToolkitType toolkit = 0; - - sBrowserFuncs = bFuncs; - - fillPluginFunctionTable(pFuncs); - err = - sBrowserFuncs->getvalue(NULL, NPNVSupportsXEmbedBool, - (void *) &supportsXEmbed); - if (err != NPERR_NO_ERROR || supportsXEmbed != true) - return NPERR_INCOMPATIBLE_VERSION_ERROR; - err = - sBrowserFuncs->getvalue(NULL, NPNVToolkit, (void *) &toolkit); - - if (err != NPERR_NO_ERROR || toolkit != NPNVGtk2) - return NPERR_INCOMPATIBLE_VERSION_ERROR; - - return NPERR_NO_ERROR; +NP_Initialize(NPNetscapeFuncs * bFuncs, NPPluginFuncs * pFuncs) { + NPError err = NPERR_NO_ERROR; + NPBool supportsXEmbed = false; + NPNToolkitType toolkit = 0; + + sBrowserFuncs = bFuncs; + + fillPluginFunctionTable(pFuncs); + err = + sBrowserFuncs->getvalue(NULL, NPNVSupportsXEmbedBool, + (void *) &supportsXEmbed); + if (err != NPERR_NO_ERROR || supportsXEmbed != true) + return NPERR_INCOMPATIBLE_VERSION_ERROR; + err = + sBrowserFuncs->getvalue(NULL, NPNVToolkit, (void *) &toolkit); + + if (err != NPERR_NO_ERROR || toolkit != NPNVGtk2) + return NPERR_INCOMPATIBLE_VERSION_ERROR; + + return NPERR_NO_ERROR; } NP_EXPORT(char *) -NP_GetPluginVersion() -{ - return PLUGIN_VERSION; +NP_GetPluginVersion() { + return PLUGIN_VERSION; } NP_EXPORT(char *) -NP_GetMIMEDescription() -{ - return "application/navit-plugin:nsc:Navit plugin"; +NP_GetMIMEDescription() { + return "application/navit-plugin:nsc:Navit plugin"; } NP_EXPORT(NPError) -NP_GetValue(void *future, NPPVariable aVariable, void *aValue) -{ - fprintf(stderr, "NP_GetValue %d\n", aVariable); - switch (aVariable) { - case NPPVpluginNameString: - *((char **) aValue) = PLUGIN_NAME; - break; - case NPPVpluginDescriptionString: - *((char **) aValue) = PLUGIN_DESCRIPTION; - break; - default: - return NPERR_INVALID_PARAM; - break; - } - return NPERR_NO_ERROR; +NP_GetValue(void *future, NPPVariable aVariable, void *aValue) { + fprintf(stderr, "NP_GetValue %d\n", aVariable); + switch (aVariable) { + case NPPVpluginNameString: + *((char **) aValue) = PLUGIN_NAME; + break; + case NPPVpluginDescriptionString: + *((char **) aValue) = PLUGIN_DESCRIPTION; + break; + default: + return NPERR_INVALID_PARAM; + break; + } + return NPERR_NO_ERROR; } NP_EXPORT(NPError) -NP_Shutdown() -{ - return NPERR_NO_ERROR; +NP_Shutdown() { + return NPERR_NO_ERROR; } NPError NPP_New(NPMIMEType pluginType, NPP instance, uint16_t mode, int16_t argc, - char *argn[], char *argv[], NPSavedData * saved) -{ - char *args[]={"/usr/bin/navit",NULL}; - // Make sure we can render this plugin - NPBool browserSupportsWindowless = false; - sBrowserFuncs->getvalue(instance, NPNVSupportsWindowless, - &browserSupportsWindowless); - if (!browserSupportsWindowless) { - printf("Windowless mode not supported by the browser\n"); - return NPERR_GENERIC_ERROR; - } + char *argn[], char *argv[], NPSavedData * saved) { + char *args[]= {"/usr/bin/navit",NULL}; + // Make sure we can render this plugin + NPBool browserSupportsWindowless = false; + sBrowserFuncs->getvalue(instance, NPNVSupportsWindowless, + &browserSupportsWindowless); + if (!browserSupportsWindowless) { + printf("Windowless mode not supported by the browser\n"); + return NPERR_GENERIC_ERROR; + } #if 0 - sBrowserFuncs->setvalue(instance, NPPVpluginWindowBool, - (void *) true); + sBrowserFuncs->setvalue(instance, NPPVpluginWindowBool, + (void *) true); #endif - // set up our our instance data - InstanceData *instanceData = - (InstanceData *) malloc(sizeof(InstanceData)); - if (!instanceData) - return NPERR_OUT_OF_MEMORY_ERROR; - memset(instanceData, 0, sizeof(InstanceData)); - instanceData->npp = instance; - instance->pdata = instanceData; - fprintf(stderr, "npp=%p\n", instance); - - main_real(1, args); - return NPERR_NO_ERROR; + // set up our our instance data + InstanceData *instanceData = + (InstanceData *) malloc(sizeof(InstanceData)); + if (!instanceData) + return NPERR_OUT_OF_MEMORY_ERROR; + memset(instanceData, 0, sizeof(InstanceData)); + instanceData->npp = instance; + instance->pdata = instanceData; + fprintf(stderr, "npp=%p\n", instance); + + main_real(1, args); + return NPERR_NO_ERROR; } NPError -NPP_Destroy(NPP instance, NPSavedData ** save) -{ - InstanceData *instanceData = (InstanceData *) (instance->pdata); - free(instanceData); - return NPERR_NO_ERROR; +NPP_Destroy(NPP instance, NPSavedData ** save) { + InstanceData *instanceData = (InstanceData *) (instance->pdata); + free(instanceData); + return NPERR_NO_ERROR; } NPError -NPP_SetWindow(NPP instance, NPWindow * window) -{ - struct attr navit,graphics,windowid; - InstanceData *instanceData = (InstanceData *) (instance->pdata); - if (window->window == instanceData->window.window) - return; - instanceData->window = *window; - fprintf(stderr, "Window 0x%x\n", window->window); - if (!config_get_attr(config, attr_navit, &navit, NULL)) { - fprintf(stderr,"No navit\n"); - return NPERR_GENERIC_ERROR; - } - if (!navit_get_attr(navit.u.navit, attr_graphics, &graphics, NULL)) { - fprintf(stderr,"No Graphics\n"); - return NPERR_GENERIC_ERROR; - } - windowid.type=attr_windowid; - windowid.u.num=window->window; - if (!graphics_set_attr(graphics.u.graphics, &windowid)) { - fprintf(stderr,"Failed to set window\n"); - return NPERR_GENERIC_ERROR; - } - - return NPERR_NO_ERROR; +NPP_SetWindow(NPP instance, NPWindow * window) { + struct attr navit,graphics,windowid; + InstanceData *instanceData = (InstanceData *) (instance->pdata); + if (window->window == instanceData->window.window) + return; + instanceData->window = *window; + fprintf(stderr, "Window 0x%x\n", window->window); + if (!config_get_attr(config, attr_navit, &navit, NULL)) { + fprintf(stderr,"No navit\n"); + return NPERR_GENERIC_ERROR; + } + if (!navit_get_attr(navit.u.navit, attr_graphics, &graphics, NULL)) { + fprintf(stderr,"No Graphics\n"); + return NPERR_GENERIC_ERROR; + } + windowid.type=attr_windowid; + windowid.u.num=window->window; + if (!graphics_set_attr(graphics.u.graphics, &windowid)) { + fprintf(stderr,"Failed to set window\n"); + return NPERR_GENERIC_ERROR; + } + + return NPERR_NO_ERROR; } NPError NPP_NewStream(NPP instance, NPMIMEType type, NPStream * stream, - NPBool seekable, uint16_t * stype) -{ - return NPERR_GENERIC_ERROR; + NPBool seekable, uint16_t * stype) { + return NPERR_GENERIC_ERROR; } NPError -NPP_DestroyStream(NPP instance, NPStream * stream, NPReason reason) -{ - return NPERR_GENERIC_ERROR; +NPP_DestroyStream(NPP instance, NPStream * stream, NPReason reason) { + return NPERR_GENERIC_ERROR; } int32_t -NPP_WriteReady(NPP instance, NPStream * stream) -{ - return 0; +NPP_WriteReady(NPP instance, NPStream * stream) { + return 0; } int32_t NPP_Write(NPP instance, NPStream * stream, int32_t offset, int32_t len, - void *buffer) -{ - return 0; + void *buffer) { + return 0; } void -NPP_StreamAsFile(NPP instance, NPStream * stream, const char *fname) -{ +NPP_StreamAsFile(NPP instance, NPStream * stream, const char *fname) { } void -NPP_Print(NPP instance, NPPrint * platformPrint) -{ +NPP_Print(NPP instance, NPPrint * platformPrint) { } int16_t -NPP_HandleEvent(NPP instance, void *event) -{ +NPP_HandleEvent(NPP instance, void *event) { - return 0; + return 0; #if 0 - InstanceData *instanceData = (InstanceData *) (instance->pdata); - XEvent *nativeEvent = (XEvent *) event; + InstanceData *instanceData = (InstanceData *) (instance->pdata); + XEvent *nativeEvent = (XEvent *) event; - if (nativeEvent->type != GraphicsExpose) - return 0; + if (nativeEvent->type != GraphicsExpose) + return 0; - XGraphicsExposeEvent *expose = &nativeEvent->xgraphicsexpose; - instanceData->window.window = (void *) (expose->drawable); + XGraphicsExposeEvent *expose = &nativeEvent->xgraphicsexpose; + instanceData->window.window = (void *) (expose->drawable); - GdkNativeWindow nativeWinId = (XID) (instanceData->window.window); - GdkDrawable *gdkWindow = - GDK_DRAWABLE(gdk_window_foreign_new(nativeWinId)); - drawWindow(instanceData, gdkWindow); - g_object_unref(gdkWindow); + GdkNativeWindow nativeWinId = (XID) (instanceData->window.window); + GdkDrawable *gdkWindow = + GDK_DRAWABLE(gdk_window_foreign_new(nativeWinId)); + drawWindow(instanceData, gdkWindow); + g_object_unref(gdkWindow); #endif - return 1; + return 1; } void NPP_URLNotify(NPP instance, const char *URL, NPReason reason, - void *notifyData) -{ + void *notifyData) { } struct NavitObject { - NPClass *class; - uint32_t referenceCount; - InstanceData *instanceData; - int is_attr; - struct attr attr; + NPClass *class; + uint32_t referenceCount; + InstanceData *instanceData; + int is_attr; + struct attr attr; }; void -printIdentifier(NPIdentifier name) -{ - NPUTF8 *str; - str = sBrowserFuncs->utf8fromidentifier(name); - fprintf(stderr, "%s\n", str); - sBrowserFuncs->memfree(str); +printIdentifier(NPIdentifier name) { + NPUTF8 *str; + str = sBrowserFuncs->utf8fromidentifier(name); + fprintf(stderr, "%s\n", str); + sBrowserFuncs->memfree(str); } NPObject * -allocate(NPP npp, NPClass * aClass) -{ - struct NavitObject *ret = calloc(sizeof(struct NavitObject), 1); - if (ret) { - ret->class = aClass; - ret->instanceData = npp->pdata; - fprintf(stderr, "instanceData for %p is %p\n", ret, - ret->instanceData); - } - return (NPObject *) ret; +allocate(NPP npp, NPClass * aClass) { + struct NavitObject *ret = calloc(sizeof(struct NavitObject), 1); + if (ret) { + ret->class = aClass; + ret->instanceData = npp->pdata; + fprintf(stderr, "instanceData for %p is %p\n", ret, + ret->instanceData); + } + return (NPObject *) ret; } void -invalidate(NPObject * npobj) -{ - fprintf(stderr, "invalidate\n"); +invalidate(NPObject * npobj) { + fprintf(stderr, "invalidate\n"); } bool -hasMethod(NPObject * npobj, NPIdentifier name) -{ - fprintf(stderr, "hasMethod\n"); - printIdentifier(name); - if (name == sBrowserFuncs->getstringidentifier("command")) - return true; - if (name == sBrowserFuncs->getstringidentifier("get_attr")) - return true; - if (name == sBrowserFuncs->getstringidentifier("toString")) - return true; - if (name == sBrowserFuncs->getstringidentifier("nativeMethod")) - return true; - if (name == - sBrowserFuncs->getstringidentifier("anotherNativeMethod")) - return true; - - return false; +hasMethod(NPObject * npobj, NPIdentifier name) { + fprintf(stderr, "hasMethod\n"); + printIdentifier(name); + if (name == sBrowserFuncs->getstringidentifier("command")) + return true; + if (name == sBrowserFuncs->getstringidentifier("get_attr")) + return true; + if (name == sBrowserFuncs->getstringidentifier("toString")) + return true; + if (name == sBrowserFuncs->getstringidentifier("nativeMethod")) + return true; + if (name == + sBrowserFuncs->getstringidentifier("anotherNativeMethod")) + return true; + + return false; } enum attr_type -variant_to_attr_type(const NPVariant *variant) -{ - if (NPVARIANT_IS_STRING(*variant)) - return attr_from_name(NPVARIANT_TO_STRING(*variant).utf8characters); - return attr_none; +variant_to_attr_type(const NPVariant *variant) { + if (NPVARIANT_IS_STRING(*variant)) + return attr_from_name(NPVARIANT_TO_STRING(*variant).utf8characters); + return attr_none; } bool invoke(NPObject * npobj, NPIdentifier name, const NPVariant * args, - uint32_t argCount, NPVariant * result) -{ - struct NavitObject *obj = (struct NavitObject *) npobj; - fprintf(stderr, "invoke\n"); - printIdentifier(name); - if (name == sBrowserFuncs->getstringidentifier("get_attr")) { - enum attr_type attr_type; - struct attr attr; - if (!argCount) - return false; - attr_type=variant_to_attr_type(&args[0]); - if (attr_type == attr_none) - return false; - if (config_get_attr(config, attr_type, &attr, NULL)) { - struct NavitObject *obj2 = (struct NavitObject *)sBrowserFuncs->createobject(obj->instanceData->npp, &navitclass); - obj2->is_attr=1; - obj2->attr=attr; - OBJECT_TO_NPVARIANT((NPObject *)obj2, *result); - return true; - } else { - VOID_TO_NPVARIANT(*result); - return true; - } - } - if (name == sBrowserFuncs->getstringidentifier("command")) { - enum attr_type attr_type; - struct attr attr; - NPObject *window; - NPError err; - NPVariant value; - if (!argCount || !NPVARIANT_IS_STRING(args[0])) - return false; - if (navit_get_attr(obj->attr.u.navit, attr_callback_list, &attr, NULL)) { - int valid=0; - callback_list_call_attr_4(attr.u.callback_list, attr_command, NPVARIANT_TO_STRING(args[0]), NULL, NULL, &valid); - } - err=sBrowserFuncs->getvalue(obj->instanceData->npp, NPNVWindowNPObject, (void *) &window); - fprintf(stderr,"error1:%d\n",err); - //OBJECT_TO_NPVARIANT(window, *result); - err=sBrowserFuncs->invoke(obj->instanceData->npp, window, sBrowserFuncs->getstringidentifier("Array"), window, 0, result); - fprintf(stderr,"error2:%d\n",err); - INT32_TO_NPVARIANT(23, value); - err=sBrowserFuncs->setproperty(obj->instanceData->npp, NPVARIANT_TO_OBJECT(*result), sBrowserFuncs->getintidentifier(0), &value); - INT32_TO_NPVARIANT(42, value); - err=sBrowserFuncs->setproperty(obj->instanceData->npp, NPVARIANT_TO_OBJECT(*result), sBrowserFuncs->getintidentifier(1), &value); - fprintf(stderr,"error3:%d\n",err); - - - //VOID_TO_NPVARIANT(*result); - return true; - } - if (name == sBrowserFuncs->getstringidentifier("toString")) { - char *s; - if (obj->is_attr) { - s="[NavitObject attribute]"; - STRINGZ_TO_NPVARIANT(strdup(s), *result); - return true; - } - s=g_strdup_printf("[NavitObject %s]",attr_to_name(obj->attr.type)); - STRINGZ_TO_NPVARIANT(strdup(s), *result); - g_free(s); - return true; - } - if (name == sBrowserFuncs->getstringidentifier("nativeMethod")) { - result->type = NPVariantType_Int32; - result->value.intValue = 23; - return true; - } - if (name == - sBrowserFuncs->getstringidentifier("anotherNativeMethod")) { - result->type = NPVariantType_Int32; - result->value.intValue = 42; - return true; - } - return false; + uint32_t argCount, NPVariant * result) { + struct NavitObject *obj = (struct NavitObject *) npobj; + fprintf(stderr, "invoke\n"); + printIdentifier(name); + if (name == sBrowserFuncs->getstringidentifier("get_attr")) { + enum attr_type attr_type; + struct attr attr; + if (!argCount) + return false; + attr_type=variant_to_attr_type(&args[0]); + if (attr_type == attr_none) + return false; + if (config_get_attr(config, attr_type, &attr, NULL)) { + struct NavitObject *obj2 = (struct NavitObject *)sBrowserFuncs->createobject(obj->instanceData->npp, &navitclass); + obj2->is_attr=1; + obj2->attr=attr; + OBJECT_TO_NPVARIANT((NPObject *)obj2, *result); + return true; + } else { + VOID_TO_NPVARIANT(*result); + return true; + } + } + if (name == sBrowserFuncs->getstringidentifier("command")) { + enum attr_type attr_type; + struct attr attr; + NPObject *window; + NPError err; + NPVariant value; + if (!argCount || !NPVARIANT_IS_STRING(args[0])) + return false; + if (navit_get_attr(obj->attr.u.navit, attr_callback_list, &attr, NULL)) { + int valid=0; + callback_list_call_attr_4(attr.u.callback_list, attr_command, NPVARIANT_TO_STRING(args[0]), NULL, NULL, &valid); + } + err=sBrowserFuncs->getvalue(obj->instanceData->npp, NPNVWindowNPObject, (void *) &window); + fprintf(stderr,"error1:%d\n",err); + //OBJECT_TO_NPVARIANT(window, *result); + err=sBrowserFuncs->invoke(obj->instanceData->npp, window, sBrowserFuncs->getstringidentifier("Array"), window, 0, + result); + fprintf(stderr,"error2:%d\n",err); + INT32_TO_NPVARIANT(23, value); + err=sBrowserFuncs->setproperty(obj->instanceData->npp, NPVARIANT_TO_OBJECT(*result), sBrowserFuncs->getintidentifier(0), + &value); + INT32_TO_NPVARIANT(42, value); + err=sBrowserFuncs->setproperty(obj->instanceData->npp, NPVARIANT_TO_OBJECT(*result), sBrowserFuncs->getintidentifier(1), + &value); + fprintf(stderr,"error3:%d\n",err); + + + //VOID_TO_NPVARIANT(*result); + return true; + } + if (name == sBrowserFuncs->getstringidentifier("toString")) { + char *s; + if (obj->is_attr) { + s="[NavitObject attribute]"; + STRINGZ_TO_NPVARIANT(strdup(s), *result); + return true; + } + s=g_strdup_printf("[NavitObject %s]",attr_to_name(obj->attr.type)); + STRINGZ_TO_NPVARIANT(strdup(s), *result); + g_free(s); + return true; + } + if (name == sBrowserFuncs->getstringidentifier("nativeMethod")) { + result->type = NPVariantType_Int32; + result->value.intValue = 23; + return true; + } + if (name == + sBrowserFuncs->getstringidentifier("anotherNativeMethod")) { + result->type = NPVariantType_Int32; + result->value.intValue = 42; + return true; + } + return false; } bool invokeDefault(NPObject * npobj, const NPVariant * args, uint32_t argCount, - NPVariant * result) -{ - fprintf(stderr, "invokeDefault\n"); - return false; + NPVariant * result) { + fprintf(stderr, "invokeDefault\n"); + return false; } bool -hasProperty(NPObject * npobj, NPIdentifier name) -{ - struct NavitObject *obj = (struct NavitObject *) npobj; - fprintf(stderr, "hasProperty\n"); - printIdentifier(name); - if (obj->is_attr && name == sBrowserFuncs->getstringidentifier("type")) - return true; - if (obj->is_attr && name == sBrowserFuncs->getstringidentifier("val")) - return true; - if (name == sBrowserFuncs->getstringidentifier("nativeProperty")) { - return true; - } - return false; +hasProperty(NPObject * npobj, NPIdentifier name) { + struct NavitObject *obj = (struct NavitObject *) npobj; + fprintf(stderr, "hasProperty\n"); + printIdentifier(name); + if (obj->is_attr && name == sBrowserFuncs->getstringidentifier("type")) + return true; + if (obj->is_attr && name == sBrowserFuncs->getstringidentifier("val")) + return true; + if (name == sBrowserFuncs->getstringidentifier("nativeProperty")) { + return true; + } + return false; } bool -getProperty(NPObject * npobj, NPIdentifier name, NPVariant * result) -{ - struct NavitObject *obj = (struct NavitObject *) npobj; - fprintf(stderr, "getProperty %p\n", obj); - fprintf(stderr, "instanceData %p\n", obj->instanceData); - if (obj->is_attr && name == sBrowserFuncs->getstringidentifier("type")) { - STRINGZ_TO_NPVARIANT(strdup(attr_to_name(obj->attr.type)), *result); - return true; - } - if (obj->is_attr && name == sBrowserFuncs->getstringidentifier("val")) { - struct NavitObject *obj2 = (struct NavitObject *)sBrowserFuncs->createobject(obj->instanceData->npp, &navitclass); - obj2->attr=obj->attr; - OBJECT_TO_NPVARIANT((NPObject *)obj2, *result); - return true; - } - if (name == sBrowserFuncs->getstringidentifier("nativeProperty")) { - result->type = NPVariantType_Object; - fprintf(stderr, "npp=%p\n", obj->instanceData->npp); - result->value.objectValue = sBrowserFuncs->createobject(obj->instanceData->npp, &navitclass2); - return true; - } - return false; +getProperty(NPObject * npobj, NPIdentifier name, NPVariant * result) { + struct NavitObject *obj = (struct NavitObject *) npobj; + fprintf(stderr, "getProperty %p\n", obj); + fprintf(stderr, "instanceData %p\n", obj->instanceData); + if (obj->is_attr && name == sBrowserFuncs->getstringidentifier("type")) { + STRINGZ_TO_NPVARIANT(strdup(attr_to_name(obj->attr.type)), *result); + return true; + } + if (obj->is_attr && name == sBrowserFuncs->getstringidentifier("val")) { + struct NavitObject *obj2 = (struct NavitObject *)sBrowserFuncs->createobject(obj->instanceData->npp, &navitclass); + obj2->attr=obj->attr; + OBJECT_TO_NPVARIANT((NPObject *)obj2, *result); + return true; + } + if (name == sBrowserFuncs->getstringidentifier("nativeProperty")) { + result->type = NPVariantType_Object; + fprintf(stderr, "npp=%p\n", obj->instanceData->npp); + result->value.objectValue = sBrowserFuncs->createobject(obj->instanceData->npp, &navitclass2); + return true; + } + return false; } bool -setProperty(NPObject * npobj, NPIdentifier name, const NPVariant * value) -{ - fprintf(stderr, "setProperty\n"); - return false; +setProperty(NPObject * npobj, NPIdentifier name, const NPVariant * value) { + fprintf(stderr, "setProperty\n"); + return false; } bool -removeProperty(NPObject * npobj, NPIdentifier name) -{ - fprintf(stderr, "removeProperty\n"); - return false; +removeProperty(NPObject * npobj, NPIdentifier name) { + fprintf(stderr, "removeProperty\n"); + return false; } @@ -498,55 +473,53 @@ removeProperty(NPObject * npobj, NPIdentifier name) struct NPClass navitclass = { - 1, - allocate, - NULL, /* deallocate */ - invalidate, - hasMethod, - invoke, - invokeDefault, - hasProperty, - getProperty, - setProperty, - removeProperty, + 1, + allocate, + NULL, /* deallocate */ + invalidate, + hasMethod, + invoke, + invokeDefault, + hasProperty, + getProperty, + setProperty, + removeProperty, }; struct NPClass navitclass2 = { - 1, - allocate, /* allocate */ - NULL, /* deallocate */ - invalidate, - hasMethod, - invoke, - invokeDefault, - hasProperty, - getProperty, - setProperty, - removeProperty, + 1, + allocate, /* allocate */ + NULL, /* deallocate */ + invalidate, + hasMethod, + invoke, + invokeDefault, + hasProperty, + getProperty, + setProperty, + removeProperty, }; NPError -NPP_GetValue(NPP instance, NPPVariable variable, void *value) -{ - fprintf(stderr, "NPP_GetValue %d %d\n", variable, - NPPVpluginScriptableNPObject); - if (variable == NPPVpluginNeedsXEmbed) { - *((NPBool *) value) = true; - fprintf(stderr, "Xembedd\n"); - return NPERR_NO_ERROR; - } - - if (variable == NPPVpluginScriptableNPObject) { - *(NPObject **) value = - sBrowserFuncs->createobject(instance, &navitclass); - return NPERR_NO_ERROR; - } - return NPERR_GENERIC_ERROR; +NPP_GetValue(NPP instance, NPPVariable variable, void *value) { + fprintf(stderr, "NPP_GetValue %d %d\n", variable, + NPPVpluginScriptableNPObject); + if (variable == NPPVpluginNeedsXEmbed) { + *((NPBool *) value) = true; + fprintf(stderr, "Xembedd\n"); + return NPERR_NO_ERROR; + } + + if (variable == NPPVpluginScriptableNPObject) { + *(NPObject **) value = + sBrowserFuncs->createobject(instance, &navitclass); + return NPERR_NO_ERROR; + } + return NPERR_GENERIC_ERROR; } NPError -NPP_SetValue(NPP instance, NPNVariable variable, void *value) -{ - return NPERR_GENERIC_ERROR; +NPP_SetValue(NPP instance, NPNVariable variable, void *value) { + return NPERR_GENERIC_ERROR; } |