我正在註冊從JS的偵聽器到NPAPI插件。 爲了不多次註冊相同的偵聽器,我需要一種方法來比較傳遞的NPVariant對象與已經在列表中的對象。如何比較NPVariant對象?
這是怎麼了,我從JS註冊監聽器:
PluginObject.registerListener("event", listener);
,然後在插件的源:
for (l=head; l!=NULL; l=l->next) {
// somehow compare the listeners
// l->listener holds NPVariant object
if (l->listener-> ??? == new_lle->listener-> ???)
{
found = 1;
DBG("listener is a duplicate, not adding.");
NPN_MemFree(new_lle->listener);
free(new_lle);
break;
}
}