15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* ***** BEGIN LICENSE BLOCK ***** 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Version: MPL 1.1/GPL 2.0/LGPL 2.1 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * The contents of this file are subject to the Mozilla Public License Version 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 1.1 (the "License"); you may not use this file except in compliance with 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * the License. You may obtain a copy of the License at 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.mozilla.org/MPL/ 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Software distributed under the License is distributed on an "AS IS" basis, 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * for the specific language governing rights and limitations under the 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * License. 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * The Original Code is mozilla.org code. 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * The Initial Developer of the Original Code is 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Netscape Communications Corporation. 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Portions created by the Initial Developer are Copyright (C) 1998 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * the Initial Developer. All Rights Reserved. 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Contributor(s): 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Alternatively, the contents of this file may be used under the terms of 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * either the GNU General Public License Version 2 or later (the "GPL"), or 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * in which case the provisions of the GPL or the LGPL are applicable instead 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * of those above. If you wish to allow use of your version of this file only 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * under the terms of either the GPL or the LGPL, and not to allow others to 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * use your version of this file under the terms of the MPL, indicate your 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * decision by deleting the provisions above and replace them with the notice 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * and other provisions required by the GPL or the LGPL. If you do not delete 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * the provisions above, a recipient may use your version of this file under 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * the terms of any one of the MPL, the GPL or the LGPL. 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * ***** END LICENSE BLOCK ***** */ 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "xp.h" 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "npapi.h" 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "npupp.h" 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "logger.h" 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern Logger * logger; 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern NPNetscapeFuncs NPNFuncs; 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NPN_Version(int* plugin_major, int* plugin_minor, int* netscape_major, int* netscape_minor) 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_version, (DWORD)plugin_major, (DWORD)plugin_minor, (DWORD)netscape_major, (DWORD)netscape_minor); 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *plugin_major = NP_VERSION_MAJOR; 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *plugin_minor = NP_VERSION_MINOR; 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *netscape_major = HIBYTE(NPNFuncs.version); 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *netscape_minor = LOBYTE(NPNFuncs.version); 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_version); 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NPN_GetURLNotify(NPP instance, const char *url, const char *target, void* notifyData) 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int navMinorVers = NPNFuncs.version & 0xFF; 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPError rv = NPERR_NO_ERROR; 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_get_url_notify, (DWORD)instance, (DWORD)url, (DWORD)target, (DWORD)notifyData); 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if( navMinorVers >= NPVERS_HAS_NOTIFICATION ) 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rv = NPNFuncs.geturlnotify(instance, url, target, notifyData); 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) else 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rv = NPERR_INCOMPATIBLE_VERSION_ERROR; 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_get_url_notify, rv); 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NPN_GetURL(NPP instance, const char *url, const char *target) 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_get_url, (DWORD)instance, (DWORD)url, (DWORD)target); 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPError rv = NPNFuncs.geturl(instance, url, target); 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_get_url, rv); 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NPN_PostURLNotify(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file, void* notifyData) 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int navMinorVers = NPNFuncs.version & 0xFF; 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPError rv = NPERR_NO_ERROR; 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_post_url_notify, (DWORD)instance, (DWORD)url, (DWORD)window, (DWORD)len, (DWORD)buf, (DWORD)file, (DWORD)notifyData); 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if( navMinorVers >= NPVERS_HAS_NOTIFICATION ) 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rv = NPNFuncs.posturlnotify(instance, url, window, len, buf, file, notifyData); 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) else 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rv = NPERR_INCOMPATIBLE_VERSION_ERROR; 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_post_url_notify, rv); 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NPN_PostURL(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file) 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_post_url, (DWORD)instance, (DWORD)url, (DWORD)window, (DWORD)len, (DWORD)buf, (DWORD)file); 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPError rv = NPNFuncs.posturl(instance, url, window, len, buf, file); 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_post_url, rv); 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NPN_RequestRead(NPStream* stream, NPByteRange* rangeList) 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_request_read, (DWORD)stream, (DWORD)rangeList); 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPError rv = NPNFuncs.requestread(stream, rangeList); 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_request_read, rv); 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NPN_NewStream(NPP instance, NPMIMEType type, const char* target, NPStream** stream) 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int navMinorVersion = NPNFuncs.version & 0xFF; 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPError rv = NPERR_NO_ERROR; 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_new_stream, (DWORD)instance, (DWORD)type, (DWORD)target, (DWORD)stream); 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT ) 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rv = NPNFuncs.newstream(instance, type, target, stream); 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) else 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rv = NPERR_INCOMPATIBLE_VERSION_ERROR; 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_new_stream, rv); 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int32 NPN_Write(NPP instance, NPStream *stream, int32 len, void *buffer) 1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int navMinorVersion = NPNFuncs.version & 0xFF; 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int32 rv = 0; 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_write, (DWORD)instance, (DWORD)stream, (DWORD)len, (DWORD)buffer); 1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT ) 1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rv = NPNFuncs.write(instance, stream, len, buffer); 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) else 1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rv = -1; 1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_write, rv); 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NPN_DestroyStream(NPP instance, NPStream* stream, NPError reason) 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int navMinorVersion = NPNFuncs.version & 0xFF; 1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPError rv = NPERR_NO_ERROR; 1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_destroy_stream, (DWORD)instance, (DWORD)stream, (DWORD)reason); 1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT ) 1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rv = NPNFuncs.destroystream(instance, stream, reason); 1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) else 1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rv = NPERR_INCOMPATIBLE_VERSION_ERROR; 1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_destroy_stream, rv); 1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NPN_Status(NPP instance, const char *message) 2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_status, (DWORD)instance, (DWORD)message); 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNFuncs.status(instance, message); 2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char* NPN_UserAgent(NPP instance) 2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) static const char * rv = NULL; 2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_user_agent, (DWORD)instance); 2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rv = NPNFuncs.uagent(instance); 2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_user_agent); 2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void* NPN_MemAlloc(uint32 size) 2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void * rv = NULL; 2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_mem_alloc, (DWORD)size); 2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rv = NPNFuncs.memalloc(size); 2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_mem_alloc); 2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NPN_MemFree(void* ptr) 2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_mem_free, (DWORD)ptr); 2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNFuncs.memfree(ptr); 2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)uint32 NPN_MemFlush(uint32 size) 2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_mem_flush, (DWORD)size); 2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint32 rv = NPNFuncs.memflush(size); 2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_mem_flush, rv); 2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NPN_ReloadPlugins(NPBool reloadPages) 2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_reload_plugins, (DWORD)reloadPages); 2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNFuncs.reloadplugins(reloadPages); 2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef OJI 2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)JRIEnv* NPN_GetJavaEnv(void) 2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) JRIEnv * rv = NULL; 2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_get_java_env); 2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rv = NPNFuncs.getJavaEnv(); 2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_get_java_env); 2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)jref NPN_GetJavaPeer(NPP instance) 2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) jref rv; 2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_get_java_peer, (DWORD)instance); 2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rv = NPNFuncs.getJavaPeer(instance); 2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_get_java_peer); 2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void* NPN_GetJavaEnv(void) 3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 3015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) JRIEnv * rv = NULL; 3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_get_java_env); 3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rv = NULL; 3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_get_java_env); 3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void* NPN_GetJavaPeer(NPP instance) 3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) jref rv; 3175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 3195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_get_java_peer, (DWORD)instance); 3205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rv = NULL; 3225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_get_java_peer); 3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NPN_GetValue(NPP instance, NPNVariable variable, void *value) 3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPError rv = NPERR_NO_ERROR; 3335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rv = NPNFuncs.getvalue(instance, variable, value); 3355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 3375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_get_value, (DWORD)instance, (DWORD)variable, (DWORD)value); 3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_get_value, rv); 3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPError NPN_SetValue(NPP instance, NPPVariable variable, void *value) 3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPError rv = NPERR_NO_ERROR; 3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 3505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_set_value, (DWORD)instance, (DWORD)variable, (DWORD)value); 3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rv = NPNFuncs.setvalue(instance, variable, value); 3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_set_value, rv); 3565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 3595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NPN_InvalidateRect(NPP instance, NPRect *invalidRect) 3615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 3625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 3635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_invalidate_rect, (DWORD)instance, (DWORD)invalidRect); 3645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNFuncs.invalidaterect(instance, invalidRect); 3665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 3675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NPN_InvalidateRegion(NPP instance, NPRegion invalidRegion) 3695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 3705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 3715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_invalidate_region, (DWORD)instance, (DWORD)invalidRegion); 3725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNFuncs.invalidateregion(instance, invalidRegion); 3745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 3755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NPN_ForceRedraw(NPP instance) 3775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 3785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 3795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_force_redraw, (DWORD)instance); 3805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNFuncs.forceredraw(instance); 3825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 3835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPIdentifier NPN_GetStringIdentifier(const NPUTF8 *name) 3855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 3865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 3875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_get_string_identifier, (DWORD)name); 3885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPIdentifier rv = NPNFuncs.getstringidentifier(name); 3905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 3925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_get_string_identifier, (DWORD)(rv)); 3935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 3955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 3965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool NPN_Enumerate(NPP id, NPObject* obj, NPIdentifier** identifier, uint32_t*val) 3985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 3995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 4005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_enumerate); 4015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool rv = NPNFuncs.enumerate(id, obj, identifier, val); 4035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 4055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_enumerate, rv); 4065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 4085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 4095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool NPN_PopPopupsEnabledState(NPP id) 4115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 4125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 4135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_pop_popups_enabled_state, (DWORD)id); 4145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool rv = NPNFuncs.poppopupsenabledstate(id); 4165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 4185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_pop_popups_enabled_state, rv); 4195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 4215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 4225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool NPN_PushPopupsEnabledState(NPP id, NPBool enabled) 4245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 4255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 4265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_push_popups_enabled_state, (DWORD)id); 4275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool rv = NPNFuncs.pushpopupsenabledstate(id, enabled); 4295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 4315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_push_popups_enabled_state, rv); 4325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 4345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 4355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NPN_SetException(NPObject*obj, const NPUTF8*message) 4375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 4385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 4395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_set_exception, (DWORD)message); 4405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNFuncs.setexception(obj,message); 4425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 4435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NPN_ReleaseVariantValue(NPVariant*variant) 4455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 4465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 4475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_release_variant_value, (DWORD)variant); 4485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNFuncs.releasevariantvalue(variant); 4505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 4515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool NPN_HasMethod(NPP id, NPObject* object, NPIdentifier identifier) 4535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 4545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 4555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_has_method, (DWORD)identifier); 4565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool rv = NPNFuncs.hasmethod(id, object, identifier); 4585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 4605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_has_method, rv); 4615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 4635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 4645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool NPN_HasProperty(NPP id, NPObject* object, NPIdentifier identifier) 4665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 4675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 4685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_has_property, (DWORD)identifier); 4695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool rv = NPNFuncs.hasmethod(id, object, identifier); 4715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 4735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_has_property, rv); 4745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 4765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 4775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool NPN_RemoveProperty(NPP id, NPObject* object, NPIdentifier identifier) 4795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 4805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 4815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_remove_property, (DWORD)identifier); 4825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool rv = NPNFuncs.hasmethod(id, object, identifier); 4845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 4865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 4875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool NPN_SetProperty(NPP id, NPObject* obj, NPIdentifier identifier, const NPVariant *variant) 4895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 4905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 4915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_set_property, (DWORD)identifier); 4925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool rv = NPNFuncs.setproperty(id, obj, identifier, variant); 4945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 4965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 4975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool NPN_GetProperty(NPP id, NPObject* obj, NPIdentifier identifier, NPVariant *variant) 4995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 5005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 5015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_get_property, (DWORD)identifier); 5025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool rv = NPNFuncs.getproperty(id, obj, identifier, variant); 5045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 5065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 5075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool NPN_Evaluate(NPP id, NPObject* obj, NPString* str, NPVariant* variant) 5095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 5105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 5115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_evaluate, (DWORD)str); 5125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool rv = NPNFuncs.evaluate(id, obj, str, variant); 5145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 5165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_evaluate, rv); 5175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 5195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 5205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool NPN_InvokeDefault(NPP id, NPObject* obj, const NPVariant* args, uint32_t count, NPVariant*result) 5225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 5235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 5245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_invoke_default, (DWORD)obj); 5255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool rv = NPNFuncs.invokeDefault(id, obj, args, count, result); 5275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 5295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_invoke_default, rv); 5305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 5325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 5335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool NPN_Invoke(NPP id, NPObject* obj, NPIdentifier identifier, const NPVariant *args, uint32_t count, NPVariant*result) 5355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 5365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 5375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_invoke, (DWORD)obj); 5385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool rv = NPNFuncs.invoke(id, obj, identifier, args, count, result); 5405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 5425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_invoke, rv); 5435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 5455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 5465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NPN_ReleaseObject(NPObject *obj) 5485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 5495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 5505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_release_object, (DWORD)obj); 5515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNFuncs.releaseobject(obj); 5535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 5545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPObject *NPN_RetainObject(NPObject* obj) 5565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 5575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 5585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_retain_object, (DWORD)obj); 5595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPObject *rv = NPNFuncs.retainobject(obj); 5615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 5635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 5645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPObject* NPN_CreateObject(NPP id, NPClass *cl) 5665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 5675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 5685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_create_object, (DWORD)cl); 5695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPObject *rv = NPNFuncs.createobject(id, cl); 5715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 5735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_create_object, (DWORD)rv); 5745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 5765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 5775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int32_t NPN_IntFromIdentifier(NPIdentifier identifier) 5795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 5805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 5815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_int_from_identifier, (DWORD)identifier); 5825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int32_t rv = NPNFuncs.intfromidentifier(identifier); 5845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 5865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_int_from_identifier, rv); 5875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 5895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 5905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPUTF8 *NPN_UTF8FromIdentifier(NPIdentifier identifier) 5925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 5935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 5945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_utf8_from_identifier, (DWORD)identifier); 5955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPUTF8 *rv = NPNFuncs.utf8fromidentifier(identifier); 5975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 5995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_utf8_from_identifier, 1234567890); 6005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 6025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 6035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool NPN_IdentifierIsString(NPIdentifier identifier) 6055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 6065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 6075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_identifier_is_string, (DWORD)identifier); 6085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool rv = NPNFuncs.identifierisstring(identifier); 6105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 6125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_identifier_is_string, rv); 6135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 6155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 6165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)NPIdentifier NPN_GetIntIdentifier(int32_t value) 6185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 6195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 6205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_get_int_identifer, (DWORD)value); 6215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPIdentifier rv = NPNFuncs.getintidentifier(value); 6235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 6255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logReturn(action_npn_get_int_identifer, (DWORD)rv); 6265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return rv; 6285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 6295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void NPN_GetStringIdentifiers(const NPUTF8 **names, int32_t count, NPIdentifier *identifiers) 6315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 6325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if(logger) 6335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) logger->logCall(action_npn_get_string_identifiers); 6345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NPNFuncs.getstringidentifiers(names, count, identifiers); 6365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}