@@ -237,10 +237,12 @@ #ifdef __cplusplus #include #include void pcscNaClInit(pp::Instance *instance, pp::Core *core); +bool pcscNaClHandleMessage(const pp::Var &message); + #endif #endif _EOF_ # Copy out JavaScript files for later use @@ -300,25 +302,30 @@ ## Create initialization procedure, since it lacks one cat << \_EOF_ > third_party/pcsc-lite/client-side/pcsc_nacl_init.cc #include #include +#include #include #include "pcsc_nacl_global.h" #include "dom_requests_manager.h" #include "pcsc_nacl.h" + +static DomRequestsManager *pcscNaClDRM = NULL; void pcscNaClInit(pp::Instance *instance, pp::Core *core) { DomRequestsManager::PpDelegateImpl *drmDelegateImpl; PcscNacl *pcsc_nacl; fprintf(stderr, "Called pcscNaClInit()\n"); drmDelegateImpl = new DomRequestsManager::PpDelegateImpl(instance, core); - pcsc_nacl = new PcscNacl(new DomRequestsManager("pcsc-nacl", drmDelegateImpl), "khpfeaanjngmcnplbdlpegiifgpfgdco", "CACKey"); + pcscNaClDRM = new DomRequestsManager("pcsc-nacl", drmDelegateImpl); + + pcsc_nacl = new PcscNacl(pcscNaClDRM, "khpfeaanjngmcnplbdlpegiifgpfgdco", "CACKey"); fprintf(stderr, "New PcscNacl object = %p\n", pcsc_nacl); if (!pcsc_nacl->Initialize()) { fprintf(stderr, "PcscNacl->Initialize() failed !"); @@ -332,10 +339,14 @@ fprintf(stderr, "Returning.\n"); return; } + +bool pcscNaClHandleMessage(const pp::Var &message) { + return(pcscNaClDRM->HandleMessage(message)); +} _EOF_ ## Make it make -C third_party/pcsc-lite/client-side || exit 1