void TestLeftJoin::testLeftJoinIN() { Value lVal[2]; lVal[0].set(mLHSStr.c_str()); lVal[1].set(mLHSStr.c_str()); Value lLHSVal[1]; lLHSVal[0].setRange(lVal); SourceSpec lLHSCS[1]; lLHSCS[0].objectID = getDataEventID(2); lLHSCS[0].nParams = 1; lLHSCS[0].params = lLHSVal; char lStart[2]; lStart[0] = (char)0; lStart[1] = '\0'; char lEnd[2]; lEnd[0] = (char)255; lEnd[1] = '\0'; Value lVal2[2]; lVal2[0].set(lStart); lVal2[1].set(lEnd); Value lRHSVal[1]; lRHSVal[0].setRange(lVal2); SourceSpec lRHSCS[1]; lRHSCS[0].objectID = getDataEventID(3); lRHSCS[0].nParams = 1; lRHSCS[0].params = lRHSVal; IStmt * lQ = mSession->createStmt(); unsigned char lVar1 = lQ->addVariable(lLHSCS, 1); unsigned char lVar2 = lQ->addVariable(lRHSCS, 1); Value lV[2]; lV[1].setVarRef(lVar1,mRefPropID); lV[0].setVarRef(lVar2,mPINPropID); CmvautoPtr<IExprNode> lJoinET(mSession->expr(OP_EQ,2,lV)); lQ->join(lVar1, lVar2, lJoinET, QRY_LEFT_OUTER_JOIN); uint64_t lCount = 0; TVERIFYRC(lQ->count(lCount, 0, 0, ~0)); TVERIFY((int)lCount == mNumRHSPINs); lQ->destroy(); }
void TestACLsInfer::createMeta() { mCLSID = STORE_INVALID_CLASSID; { IStmt *lQ = mSession->createStmt(); unsigned char lVar = lQ->addVariable(); IExprNode *lET; { Value lV[2]; lV[0].setVarRef(0,mPropIDs[1]); lV[1].setParam(0); lET = mSession->expr(OP_IN, 2, lV); } TVERIFYRC(lQ->addCondition(lVar,lET)); lET->destroy(); char lB[124]; sprintf(lB, "TestACLsInfer.%s.Family.%d", mClassStr.c_str(), 0); TVERIFYRC(defineClass(mSession,lB, lQ, &mCLSID)); } mCLSID2 = STORE_INVALID_CLASSID; { IStmt *lQ = mSession->createStmt(); unsigned char lVar = lQ->addVariable(); IExprNode *lET; { Value lV[2]; lV[0].setVarRef(0,mPropIDs[2]); lV[1].setParam(0); lET = mSession->expr(OP_IN, 2, lV); } TVERIFYRC(lQ->addCondition(lVar,lET)); lET->destroy(); char lB[124]; sprintf(lB, "TestACLsInfer.%s.Family.%d", mClassStr.c_str(), 1); TVERIFYRC(defineClass(mSession,lB, lQ, &mCLSID2)); } }
void TestAbortQuery::createPINs(int pNumPINs) { mLogger.out() << " Creating " << pNumPINs << " PINs ..."; int i = 0; for(i = 0; i < pNumPINs; i++) { if(i % 100 == 0) mLogger.out() << "."; PID lPID; Value lV[20]; SETVALUE(lV[0], mPropIDs[0], i, OP_SET); Tstring lStr; MVTRand::getString(lStr, 100, 100, true, false); SETVALUE(lV[1], mPropIDs[1], lStr.c_str(), OP_SET); SETVALUE(lV[2], mPropIDs[2], lStr.c_str(), OP_SET); Tstring lWStr; MVTRand::getString(lWStr, 100, 100, true, false); SETVALUE(lV[3], mPropIDs[3], lWStr.c_str(), OP_SET); double lDouble = (double)MVTRand::getRange(10, 1000); SETVALUE(lV[4], mPropIDs[4], lDouble, OP_SET); SETVALUE(lV[5], mPropIDs[5], MVTRand::getBool(), OP_SET); lV[6].setNow(); SETVATTR(lV[6], mPropIDs[6], OP_SET); lV[7].setNow(); SETVATTR(lV[7], mPropIDs[7], OP_SET); IStream *lStream = new TestStringStream(MVTRand::getRange(10, 30) * 1024); SETVALUE(lV[8], mPropIDs[8], MVTApp::wrapClientStream(mSession, lStream), OP_SET); IStream *lStream1 = new TestStringStream(MVTRand::getRange(10, 30) * 1024); SETVALUE(lV[9], mPropIDs[9], MVTApp::wrapClientStream(mSession, lStream1), OP_SET); SETVALUE(lV[10], PROP_SPEC_CREATED, 1, OP_SET); SETVALUE(lV[11], PROP_SPEC_UPDATED, i, OP_SET); CREATEPIN(mSession, &lPID, lV, 12); } mLogger.out() << " DONE " << std::endl; }
HWND CDasherWindow::Create() { hAccelTable = LoadAccelerators(WinHelper::hInstApp, (LPCTSTR)IDC_DASHER); // Get window title from resource script Tstring WindowTitle; WinLocalisation::GetResourceString(IDS_APP_TITLE, &WindowTitle); string configFileName = "settings.xml"; if (!m_configName.empty()) configFileName = "settings." + WinUTF8::wstring_to_UTF8string(m_configName.c_str()) + ".xml"; static XmlErrorDisplay display; static CWinFileUtils fileUtils; auto settings = new Dasher::XmlSettingsStore(configFileName, &fileUtils, &display); settings->Load(); // Save the defaults if needed. settings->Save(); m_pAppSettings = new CAppSettings(0, 0, settings); // Takes ownership of the settings store. int iStyle(m_pAppSettings->GetLongParameter(APP_LP_STYLE)); HWND hWnd; if (iStyle == APP_STYLE_DIRECT) { hWnd = CWindowImpl<CDasherWindow >::Create(NULL, NULL, WindowTitle.c_str(), WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN, WS_EX_NOACTIVATE | WS_EX_APPWINDOW | WS_EX_TOPMOST); ::SetMenu(hWnd, NULL); } else { hWnd = CWindowImpl<CDasherWindow >::Create(NULL, NULL, WindowTitle.c_str(), WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN); ::SetMenu(hWnd, m_hMenu); } // Create Widgets m_pEdit = new CEdit(m_pAppSettings); m_pEdit->Create(hWnd, m_pAppSettings->GetBoolParameter(APP_BP_TIME_STAMP)); m_pEdit->SetFont(m_pAppSettings->GetStringParameter(APP_SP_EDIT_FONT), m_pAppSettings->GetLongParameter(APP_LP_EDIT_FONT_SIZE)); m_pDasher = new CDasher(hWnd, this, m_pEdit, settings, &fileUtils); // Create a CAppSettings m_pAppSettings->SetHwnd(hWnd); m_pAppSettings->SetDasher(m_pDasher); m_pToolbar = new CToolbar(hWnd, m_pAppSettings->GetBoolParameter(APP_BP_SHOW_TOOLBAR)); // FIXME - the edit box really shouldn't need access to the interface, // but at the moment it does, for training, blanking the display etc m_pEdit->SetInterface(m_pDasher); m_pSpeedAlphabetBar = new CStatusControl(m_pDasher->GetSettingsUser(), m_pAppSettings); m_pSpeedAlphabetBar->Create(hWnd); m_pSplitter = new CSplitter(this, 100); m_pSplitter->Create(hWnd); m_bFullyCreated = true; return hWnd; }
void TestLeftJoin::createData() { MVTRand::getString(mLHSStr, 10, 10, false, true); mNumRHSPINs = 0; mNumFamily2PINs = 0; int i = 0; std::vector<PID> lPINs; // Create PINs for Family2 for(i = 0; i < (int)sNumPINs/2; i++) { Value lV[5]; Tstring lRHSStr; SETVALUE(lV[0], mPropIDs[2], MVTRand::getRange(10, 100), OP_SET); SETVALUE(lV[1], mPropIDs[3], MVTRand::getBool(), OP_SET); Tstring lStr; MVTRand::getString(lStr, 10, 10, false, true); SETVALUE(lV[2], mPropIDs[4], lStr.c_str(), OP_SET); bool lJoinFamily = MVTRand::getRange(0, 100) > 50?true:false; if(lJoinFamily) { int lRand = MVTRand::getRange(0, 2); lRHSStr = sRHSStr[lRand]; SETVALUE(lV[3], mRHSPropID, lRHSStr.c_str(), OP_SET); } PID lPID = {STORE_INVALID_PID, STORE_OWNER}; CREATEPIN(mSession, &lPID, lV, lJoinFamily?4:3); IPIN *lPIN = mSession->getPIN(lPID); TVERIFY(lPIN != NULL); if(lPIN) { if(lJoinFamily) { mRHSPINs.insert(std::map<Tstring, PID>::value_type(lRHSStr, lPID)); mNumFamily2PINs++; } lPINs.push_back(lPID); lPIN->destroy(); mNumRHSPINs++; } } // Create PINs for Family1 for(i = 0; i < (int)sNumPINs/2; i++) { Value lV[5]; SETVALUE(lV[0], mLHSPropID, mLHSStr.c_str(), OP_SET); SETVALUE(lV[1], mPropIDs[2], MVTRand::getRange(10, 100), OP_SET); SETVALUE(lV[2], mPropIDs[3], MVTRand::getBool(), OP_SET); Tstring lStr; MVTRand::getString(lStr, 10, 10, false, true); SETVALUE(lV[3], mPropIDs[4], lStr.c_str(), OP_SET); SETVALUE(lV[4], mPropIDs[5], lPINs[i], OP_SET); // add VT_REFID property to pins created before PID lPID = {STORE_INVALID_PID, STORE_OWNER}; CREATEPIN(mSession, &lPID, lV, 5); IPIN *lPIN = mSession->getPIN(lPID); TVERIFY(lPIN != NULL); mLHSPINs.push_back(lPID); if(lPIN) lPIN->destroy(); } lPINs.clear(); }
int CFilenameGUI::QuerySaveFirst() { if(Dirty) { Tstring ResourceString; Tstring Title; WinLocalisation::GetResourceString(IDS_QUERY_SAVE_CHANGES, &ResourceString); WinLocalisation::GetResourceString(IDS_UNSAVED_CHANGES, &Title); return MessageBox(WindowWithTitlebar, ResourceString.c_str(), Title.c_str(), MB_YESNOCANCEL | MB_ICONWARNING | MB_DEFBUTTON1 | MB_APPLMODAL); } return IDNO; }
void testStmt(ISession * pSession, Tstring const & pStmt) { if (isKnownFailure(pStmt)) return; mLogger.out() << "tried: " << pStmt.c_str() << std::endl; CompilationError lCE; CmvautoPtr<IStmt> lStmt(pSession->createStmt(pStmt.c_str(), NULL, 0, &lCE)); mLogger.out() << "obtained: " << lCE.rc << " " << (lCE.msg ? lCE.msg : "") << std::endl << std::endl; #if TEST_EXECUTE_GOOD_STMT if (RC_OK == lCE.rc && lStmt.IsValid()) lStmt->execute(); #endif }
void CAppSettings::SaveSettingT(const std::string &Key, const Tstring &TValue) { Tstring TKey; UTF8string_to_wstring(Key, TKey); DWORD MemAllow = (TValue.size() + 1) * sizeof(TCHAR); //const unsigned char* StrInput = (const unsigned char*) Value.c_str(); //LONG ErrVal = RegSetValueEx(ProductKey, TKey.c_str(), 0, // REG_SZ, StrInput, MemAllow); LONG ErrVal = RegSetValueEx(ProductKey, TKey.c_str(), 0, REG_SZ, (CONST BYTE *) TValue.c_str(), MemAllow); }
void TestLeftJoin::testLeftJoinEQ() { Value lLHSValue[1]; lLHSValue[0].set(mLHSStr.c_str()); SourceSpec lLHSCS[1]; lLHSCS[0].objectID = getDataEventID(0); lLHSCS[0].nParams = 1; lLHSCS[0].params = lLHSValue; Value lRHSValue[1]; lRHSValue[0].set(sRHSStr[0]); SourceSpec lRHSCS[1]; lRHSCS[0].objectID = getDataEventID(1); lRHSCS[0].nParams = 1; lRHSCS[0].params = lRHSValue; IStmt * lQ = mSession->createStmt(); unsigned char lVar1 = lQ->addVariable(lLHSCS, 1); unsigned char lVar2 = lQ->addVariable(lRHSCS, 1); Value lV[2]; lV[1].setVarRef(lVar1,mRefPropID); lV[0].setVarRef(lVar2,mPINPropID); CmvautoPtr<IExprNode> lJoinET(mSession->expr(OP_EQ,2,lV)); lQ->join(lVar1, lVar2, lJoinET, QRY_LEFT_OUTER_JOIN); uint64_t lCount = 0; TVERIFYRC(lQ->count(lCount, 0, 0, ~0)); TVERIFY(lCount == (uint64_t)mLHSPINs.size()); lQ->destroy(); }
BOOL CDOMPlugin::PatchUserDefineAddr() { //DebugBreak(); //return TRUE; //Tstring strShellCode = Utility::IniAccess::GetPrivateKeyValString(strConfigPath, _T("CODE"), _T("stub")); LPVOID lpBaseAddress = VirtualAlloc(NULL, 1024, MEM_COMMIT, PAGE_EXECUTE_READWRITE); StubShell = (PSTUP_SHELL)lpBaseAddress;// StubShell->CallBackFun = (ULONG)&PacketCollect; DWORD dwCodeSize = Utility::StringLib::Tstring2Hex(strStub.c_str(), StubShell->ShellCode); StubShell->PatchAt = m_sPatchAt; for (int i = 0; i < dwCodeSize; i++) { if (StubShell->ShellCode[i] == 0xff) { if (StubShell->ShellCode[i + 1] == 0x15) { *(ULONG*)&StubShell->ShellCode[i + 2] = (ULONG)&StubShell->CallBackFun; } if (StubShell->ShellCode[i + 1] == 0x25) { *(ULONG*)&StubShell->ShellCode[i + 2] = (ULONG)&StubShell->PatchAt; } } } DetourTransactionBegin(); DetourUpdateThread(GetCurrentThread()); DetourAttach(&(PVOID&)StubShell->PatchAt, (PVOID)StubShell->ShellCode); DetourTransactionCommit(); return TRUE; }
void CColourBox::PopulateList() { HWND ListBox = GetDlgItem(m_hwnd, IDC_COLOURS); SendMessage(ListBox, LB_RESETCONTENT, 0, 0); m_pDasherInterface->GetPermittedValues(SP_COLOUR_ID, ColourList); // Add each string to list box and index each one bool SelectionSet = false; for(unsigned int i = 0; i < ColourList.size(); i++) { Tstring Item; WinUTF8::UTF8string_to_wstring(ColourList[i], Item); LRESULT Index = SendMessage(ListBox, LB_ADDSTRING, 0, (LPARAM) Item.c_str()); SendMessage(ListBox, LB_SETITEMDATA, Index, (LPARAM) i); if(ColourList[i] == m_CurrentColours) { SendMessage(ListBox, LB_SETCURSEL, Index, 0); SelectionSet = true; } } if(SelectionSet == false) { SendMessage(ListBox, LB_SETCURSEL, 0, 0); LRESULT CurrentIndex = SendMessage(ListBox, LB_GETITEMDATA, 0, 0); m_CurrentColours = ColourList[CurrentIndex]; } // Tell list box that we have set an item for it (so that delete and edit can be grayed if required) SendMessage(m_hwnd, WM_COMMAND, MAKEWPARAM(IDC_COLOURS, LBN_SELCHANGE), 0); }
DataEventID TestLeftJoin::getDataEventID(int pClassIndex) { char lB[64]; sprintf(lB, "TestLeftJoin.%s.Family%d", mClassStr.c_str(), pClassIndex); DataEventID lCLSID = STORE_INVALID_CLASSID; TVERIFYRC(mSession->getDataEventID(lB, lCLSID)); return lCLSID; }
HWND CEdit::Create(HWND hParent, bool bNewWithDate) { m_hWnd = CWindowImpl<CEdit>::Create(hParent, NULL, NULL, ES_NOHIDESEL | WS_CHILD | ES_MULTILINE | WS_VSCROLL | WS_VISIBLE, WS_EX_CLIENTEDGE); Tstring WindowTitle; WinLocalisation::GetResourceString(IDS_APP_TITLE, &WindowTitle); m_FilenameGUI = new CFilenameGUI(hParent, WindowTitle.c_str(), bNewWithDate); return m_hWnd; }
void TestUndelete::testFullScan() { Value lV[1]; lV[0].set(mQueryStr.c_str()); IStmt *lQ = getQuery(1, mPropIDs[2], lV); long const lStartTime = getTimeInMs(); test(lQ); long const lEndTime = getTimeInMs(); mLogger.out() << "Time taken for testFullScan() :: " << (lEndTime - lStartTime) << " ms" << std::endl; lQ->destroy(); }
bool CAppSettings::GetlpByte(const Tstring &Key, BYTE **Data) const { *Data = new BYTE[1]; unsigned long datasize = sizeof(BYTE[1]); DWORD Type; LONG ErrVal = RegQueryValueEx(ProductKey, Key.c_str(), 0, &Type, *Data, &datasize); while(ErrVal == ERROR_MORE_DATA) { delete[] * Data; *Data = new BYTE[datasize]; ErrVal = RegQueryValueEx(ProductKey, Key.c_str(), 0, &Type, *Data, &datasize); } // Perhaps I should spend lots of time working out why the registry doesn't work. // when this fails. Would probably just confuse users though. Users with a broken // registry can live with defaults :) if((ErrVal == ERROR_SUCCESS) && (*Data != 0)) return true; else return false; }
void CAppSettings::SaveSetting(const std::string &Key, long Value) { Tstring TKey; UTF8string_to_wstring(Key, TKey); // Evil casting. Registry stores DWORD's (unsigned longs) // I'm forcing in signed longs and if I force them out again in the same // way I should get a sensible result. DWORD *RegValue = (DWORD *) & Value; DWORD MemAllow = sizeof(DWORD); LONG ErrVal = RegSetValueEx(ProductKey, TKey.c_str(), 0, REG_DWORD, (const unsigned char *)RegValue, MemAllow); }
LRESULT CViewPage::WndProc(HWND Window, UINT message, WPARAM wParam, LPARAM lParam) { // most things we pass on to CPrefsPageBase, but we need to handle slider motion switch (message) { case WM_COMMAND: if(HIWORD(wParam)==BN_CLICKED || HIWORD(wParam)==LBN_SELCHANGE) { if(LOWORD(wParam) != 0 && m_hPropertySheet != 0 && m_hwnd != 0) { PropSheet_Changed(m_hPropertySheet, m_hwnd); // enables the 'Apply' button // Behaviour isn't *perfect* since it activates the Apply button even if you, say, // click 'new' alphabet then click Cancel when asked for a name. } } switch (LOWORD(wParam)) { case (IDC_COLOURS): if(HIWORD(wParam) == LBN_SELCHANGE) { HWND ListBox = GetDlgItem(m_hwnd, IDC_COLOURS); LRESULT CurrentItem = SendMessage(ListBox, LB_GETCURSEL, 0, 0); LRESULT CurrentIndex = SendMessage(ListBox, LB_GETITEMDATA, CurrentItem, 0); m_CurrentColours = ColourList[CurrentIndex]; } return TRUE; break; case IDC_DFONT_BUTTON: // TODO: Put this in a function { CHOOSEFONT Data; LOGFONT lf; HFONT Font = (HFONT) GetStockObject(DEFAULT_GUI_FONT); GetObject(Font, sizeof(LOGFONT), &lf); Tstring tstrFaceName; WinUTF8::UTF8string_to_wstring(m_pAppSettings->GetStringParameter(SP_DASHER_FONT), tstrFaceName); _tcscpy(lf.lfFaceName, tstrFaceName.c_str()); Data.Flags = CF_INITTOLOGFONTSTRUCT | CF_SCREENFONTS; Data.lStructSize = sizeof(CHOOSEFONT); // TODO: Give this an owner Data.hwndOwner = NULL; Data.lpLogFont = &lf; if(ChooseFont(&Data)) { string FontName; WinUTF8::wstring_to_UTF8string(lf.lfFaceName, FontName); m_pAppSettings->SetStringParameter(SP_DASHER_FONT, FontName); } } break; case IDC_COLOURSCHEME: EnableWindow(GetDlgItem(m_hwnd, IDC_COLOURS), SendMessage(GetDlgItem(m_hwnd, IDC_COLOURSCHEME), BM_GETCHECK, 0, 0) == BST_CHECKED); break; } } CPrefsPageBase::WndProc(Window, message, wParam, lParam); }
VOID CGPacket::Replace(Tstring& strKey, Tstring& strData) { DWORD dwStrKeyLen, dwStrDataLen, dwHexKeySize, dwHexDataSize; LPBYTE lpbKeyBuf, lpbDataBuf; dwStrKeyLen = strKey.length(); lpbKeyBuf = new BYTE[dwStrKeyLen]; memset(lpbKeyBuf, 0, dwStrKeyLen); dwHexKeySize = Utility::StringLib::Tstring2Hex(strKey.c_str(), lpbKeyBuf); dwStrDataLen = strKey.length(); lpbDataBuf = new BYTE[dwStrDataLen]; memset(lpbDataBuf, 0, dwStrDataLen); dwHexDataSize = Utility::StringLib::Tstring2Hex(strData.c_str(), lpbDataBuf); Replace(lpbKeyBuf, dwHexKeySize, lpbDataBuf, dwHexDataSize); delete[]lpbKeyBuf; delete[]lpbDataBuf; }
// Simplest sub-test (meaningless random arrangements of keywords and keynames). void TestMeanSql::testRandomStatement(ISession & pSession, size_t pMinWords, size_t pMaxWords) { size_t i; size_t const lNumWords = MVTRand::getRange(pMinWords, pMaxWords); Tstring lStmt; for (i = 0; i < lNumWords; i++) { lStmt += MVTRand::getRange(0, 100) > 95 ? "@50001" : randomWord(); lStmt += " "; } testStmt(&pSession, lStmt.c_str()); }
int TestPageInsertOverflow::execute() { bool lSuccess = true; if (MVTApp::startStore()) { ISession * session = MVTApp::startSession(); Value val[sNumProps];PID pid1;IPIN *pin1; MVTApp::mapURIs(session, "TestPageInsertOverflow.prop.", sNumProps, lPropIDs); TVERIFYRC(session->createPIN(NULL,0,&pin1,MODE_PERSISTENT)); pid1 = pin1->getPID(); if(pin1!=NULL) pin1->destroy(); for (int i=0; i < 10; i++) { IPIN *pin;Tstring str;int k=0;int x=0; for (k=0; k < 10; k++) { MVTApp::randomString(str,1,30); val[k].set(str.c_str());val[k].setPropID(lPropIDs[k]); } TVERIFYRC(session->createPIN(val,k-1,&pin,MODE_PERSISTENT|MODE_COPY_VALUES)); for (x =0; x < 10;x++,k++) { val[x].set(pid1);val[x].setPropID(lPropIDs[k]); val[x].op = OP_ADD;val[x].eid = STORE_FIRST_ELEMENT; } TVERIFYRC(pin->modify(val,x)); for (x =0; x < 40;x++,k++) { val[x].set("a");val[x].setPropID(lPropIDs[k]); } TVERIFYRC(pin->modify(val,x)); for (x =0; x < 10;x++,k++) { val[x].set(pid1);val[x].setPropID(lPropIDs[k]); val[x].op = OP_ADD;val[x].eid = STORE_FIRST_ELEMENT; } TVERIFYRC(pin->modify(val,x)); for (x =0; x < 10;x++,k++) { val[x].set(pid1);val[x].setPropID(lPropIDs[k]); } session->startTransaction(); TVERIFYRC(pin->modify(val,x)); if(pin!=NULL) pin->destroy(); session->rollback(); } session->terminate(); MVTApp::stopStore(); } else { TVERIFY(!"could not open store") ; } return lSuccess ? 0 : 1; }
unsigned long search(TSearchInfo pSearchInfo, unsigned long pExpResults, unsigned int *pFlags = NULL) { unsigned int lFlags = 0; TV_R(!pSearchInfo.empty(), mTest); uint64_t cntResults = 0 ; CmvautoPtr<IStmt> ftQ(mSession->createStmt()) ; unsigned char lVar = ftQ->addVariable() ; TSearchInfo::const_iterator lIter = pSearchInfo.begin(); int i = 0; for(; lIter != pSearchInfo.end(); lIter++, i++) { //string strFlags; //if ( pFlags[i] & QFT_FILTER_SW ) strFlags.append( "QFT_FILTER_SW "); //if ( pFlags[i] & MODE_ALL_WORDS ) strFlags.append( "MODE_ALL_WORDS "); PropertyID lPropID = lIter->first; Tstring lSearchKey = lIter->second; unsigned int flagsToAddConditionFT = 0; if (pFlags && pFlags[i]) { lFlags |= pFlags[i]; if (pFlags[i] & QFT_FILTER_SW) { flagsToAddConditionFT |= QFT_FILTER_SW; lFlags &= ~QFT_FILTER_SW ; } } TVRC_R( ftQ->addConditionFT( lVar, lSearchKey.c_str(), flagsToAddConditionFT, &lPropID, 1), mTest); } TVRC_R( ftQ->count( cntResults, NULL, 0, ~0, lFlags ), mTest ); ICursor* lC = NULL; ftQ->execute(&lC, NULL, 0, ~0, 0, lFlags); CmvautoPtr<ICursor> res(lC); PID lPID ; unsigned long cntCheck = 0 ; while( RC_OK == res->next(lPID) ) { if (mTest->isVerbose()) MVTApp::output(lPID, std::cout, mSession); cntCheck++ ; } TV_R(cntCheck == pExpResults, mTest) ; TV_R(cntCheck == cntResults, mTest) ; return (unsigned long)cntResults ; }
void CFilenameGUI::SetWindowTitle() { Tstring TitleText; TCHAR PrettyName[_MAX_FNAME]; if(GetFileTitle(FileAndPath.c_str(), PrettyName, _MAX_FNAME) == 0) TitleText = PrettyName; else WinLocalisation::GetResourceString(IDS_UNTITLED_FILE, &TitleText); if(Dirty) TitleText += TEXT("*"); TitleText += TEXT(" - "); TitleText += AppName; SendMessage(WindowWithTitlebar, WM_SETTEXT, 0, (LPARAM) TitleText.c_str()); }
BOOL CGPacket::Find(Tstring& strKey) { DWORD dwStrKeyLen, dwKeyBufSize; LPBYTE lpbKeyBuf; dwStrKeyLen = strKey.length(); lpbKeyBuf = new BYTE[dwStrKeyLen]; memset(lpbKeyBuf, 0, dwStrKeyLen); dwKeyBufSize = Utility::StringLib::Tstring2Hex(strKey.c_str(), lpbKeyBuf); BOOL bRet = Find(lpbKeyBuf, dwKeyBufSize); delete[]lpbKeyBuf; return bRet; }