DllExport PF_Err EntryPointFunc ( PF_Cmd cmd, PF_InData *in_data, PF_OutData *out_data, PF_ParamDef *params[], PF_LayerDef *output ) { PF_Err err = PF_Err_NONE; switch (cmd) { case PF_Cmd_ABOUT: err = About(in_data,out_data,params,output); break; case PF_Cmd_GLOBAL_SETUP: err = GlobalSetup(in_data,out_data,params,output); break; case PF_Cmd_PARAMS_SETUP: err = ParamsSetup(in_data,out_data,params,output); break; case PF_Cmd_RENDER: err = Render(in_data,out_data,params,output); break; case PF_Cmd_DO_DIALOG: err = PopDialog(in_data,out_data,params,output); break; default: break; } return err; }
PGPError pgpRecipientDialogPlatform( PGPContextRef context, CPGPRecipientDialogOptions *options) { PGPError err; PRECGBL prg; UINT RetVal; PGPBoolean bPopDialog=TRUE; PGPBoolean haveDefaultARRs; prg=(PRECGBL)malloc(sizeof(RECGBL)); if(prg) { memset(prg,0x00,sizeof(RECGBL)); prg->context=context; prg->tlsContext=options->mTLSContext; prg->ksEntries=options->mServerList; prg->numKSEntries=options->mServerCount; prg->mWindowTitle=options->mWindowTitle; prg->mSearchBeforeDisplay=options->mSearchBeforeDisplay; prg->mDialogOptions=options->mDialogOptions; prg->mNumDefaultRecipients=options->mNumDefaultRecipients; prg->mDefaultRecipients=(struct PGPRecipientSpec *)options->mDefaultRecipients; prg->mDisplayMarginalValidity=options->mDisplayMarginalValidity; prg->mIgnoreMarginalValidity=options->mIgnoreMarginalValidity; prg->mGroupSet=options->mGroupSet; prg->mClientKeySet=options->mClientKeySet; prg->mRecipientKeysPtr=options->mRecipientKeysPtr; prg->mHwndParent=options->mHwndParent; prg->mNewKeys=options->mNewKeys; err = PGPBuildRecipientsList( options->mHwndParent, context, options->mClientKeySet, options->mGroupSet, options->mNumDefaultRecipients, options->mDefaultRecipients, options->mServerCount, options->mServerList, options->mTLSContext, options->mSearchBeforeDisplay, options->mEnforcement, EventHandler, prg, &(prg->mRecipients), &haveDefaultARRs ); RetVal= PopDialog(context,options,&(prg->mRecipients)); if(RetVal==ADDUSER_OK) { bPopDialog=FALSE; } if((bPopDialog)||(options->mAlwaysDisplay)|| (haveDefaultARRs && options->mAlwaysDisplayWithARRs)) { prg->AddUserRetVal=RetVal; InitRandomKeyHook(&hhookKeyboard,&hhookMouse); RetVal=newPGPRecipientDialog(prg); UninitRandomKeyHook(hhookKeyboard,hhookMouse); } else { RetVal=TRUE; } if(RetVal) { PGPGetRecipientKeys(&(prg->mRecipients), options->mRecipientKeysPtr, options->mNewKeys, options->mRecipientCount, options->mRecipientList); } PGPDisposeRecipientsList(&(prg->mRecipients)); free(prg); } if(RetVal) err=kPGPError_NoErr; else err=kPGPError_UserAbort; return( err ); }