/*! 文字列を返す関数を処理する PPAから呼びだされる @date 2003.02.24 Moca CallHandleFunction対応 */ void __stdcall CPPA::stdStrFunc( const char* FuncName, const int Index, const char* Argument[], const int ArgSize, int* Err_CD, char** ResultValue) { NEVER_USED_PARAM(FuncName); VARIANT Ret; ::VariantInit(&Ret); *Err_CD = 0; if( false != CallHandleFunction(Index, Argument, ArgSize, &Ret) ){ if(VT_BSTR == Ret.vt){ int len; char* buf; Wrap(&Ret.bstrVal)->Get(&buf,&len); m_CurInstance->m_cMemRet.SetString(buf,len); // Mar. 9, 2003 genta delete[] buf; *ResultValue = m_CurInstance->m_cMemRet.GetStringPtr(); ::VariantClear(&Ret); return; } } ::VariantClear(&Ret); *Err_CD = Index + 1; *ResultValue = const_cast<char*>(""); return; }
/*! 整数値を返す関数を処理する PPAから呼びだされる @author Moca @date 2003.02.24 Moca */ void __stdcall CPPA::stdIntFunc( const char* FuncName, const int Index, const char* Argument[], const int ArgSize, int* Err_CD, int* ResultValue) { NEVER_USED_PARAM(FuncName); VARIANT Ret; ::VariantInit(&Ret); *ResultValue = 0; *Err_CD = 0; if( false != CallHandleFunction(Index, Argument, ArgSize, &Ret) ){ switch( Ret.vt ){ case VT_I4: *ResultValue = Ret.lVal; break; case VT_INT: *ResultValue = Ret.intVal; break; case VT_UINT: *ResultValue = Ret.uintVal; break; default: *Err_CD = -2; // 2003.06.01 Moca 値変更 } ::VariantClear(&Ret); return; } *Err_CD = Index + 1; // 2003.06.01 Moca ::VariantClear(&Ret); return; }
int DataProcessHelper::Initial(const string & Buffer) { map<string,string> mapped_v; char *ptr = (char *)Buffer.c_str(); cout << "I will handle buffer" << Buffer << endl; char *token = strtok(ptr,"&"); while(token != NULL) { char *p = token; string index; string value; while(*p != '=') { index = index + *p; p++; } p++; while(*p != '\0') { value = value + *p; p++; } if(index.compare("Fcreid") == 0 || index.compare("Fmobile") == 0 || index.compare("Fbankid") == 0 || index.compare("Fqqid") == 0) { index = "flag"; } else if(index.compare("Fsign") == 0) { index = "sign"; } cout << "index = " << index << endl; mapped_v.insert(pair<string,string>(index,value)); token = strtok(NULL,"&"); } /*call function,*/ CallHandleFunction(mapped_v); }