/** Opens the exported file and compares it with expected vCard file passed as argument. */ void CCntPBAPSupport::CompareFilesL(RReadStream& aCompareStream) { RFile exportedFile; TInt err = exportedFile.Open(iFsSession, KTempExportFile(), EFileRead); if (err != KErrNone) { ReportFileErrorL(err, KTempExportFile()); } CleanupClosePushL(exportedFile); RFileReadStream stream1(exportedFile); CleanupClosePushL(stream1); TBuf8<0x80> bufO,bufC; TInt line = 1; do { TRAP(err, stream1.ReadL(bufO, TChar(0xa))); if (err == KErrNone || err == KErrEof) { TRAP(err, aCompareStream.ReadL(bufC, TChar(0xa))); } if (err != KErrNone && err != KErrEof) { User::Leave(err); } test(CompareLines(bufO, bufC)); ++line; } while (err != KErrEof); CleanupStack::PopAndDestroy(2,&exportedFile); }
bool MatchLine(Membership* memb, ChannelSettings* rs, std::string message) { // If the message is larger than whatever size it's set to, // let's pretend it isn't. If the first 512 (def. setting) match, it's probably spam. if (message.size() > ms.MaxMessageSize) message.erase(ms.MaxMessageSize); MemberInfo* rp = MemberInfoExt.get(memb); if (!rp) { rp = new MemberInfo; MemberInfoExt.set(memb, rp); } unsigned int matches = 0; if (!rs->Backlog) matches = rp->Counter; RepeatItemList& items = rp->ItemList; const unsigned int trigger = (message.size() * rs->Diff / 100); const time_t now = ServerInstance->Time(); std::transform(message.begin(), message.end(), message.begin(), ::tolower); for (std::deque<RepeatItem>::iterator it = items.begin(); it != items.end(); ++it) { if (it->ts < now) { items.erase(it, items.end()); matches = 0; break; } if (CompareLines(message, it->line, trigger)) { if (++matches >= rs->Lines) { if (rs->Action != ChannelSettings::ACT_BLOCK) rp->Counter = 0; return true; } } else if ((ms.MaxBacklog == 0) || (rs->Backlog == 0)) { matches = 0; items.clear(); break; } } unsigned int max_items = (rs->Backlog ? rs->Backlog : 1); if (items.size() >= max_items) items.pop_back(); items.push_front(RepeatItem(now + rs->Seconds, message)); rp->Counter = matches; return false; }
void LineMap::accumulate_lines(ResultLines resLines) { if (resLines.allLines.size() < 2) return ; vResLine = CompareLines(resLines.allLines,Size(600,400)); for (int i = 0; i < 2; i++) line(smStack, Point(vResLine[i][0], vResLine[i][1]), Point(vResLine[i][2], vResLine[i][3]), Scalar(111), 3, 8); dNowSlope += atan(CompareableLine(vResLine[0]).getSlope() + CompareableLine(vResLine[1]).getSlope()) / 2 * 180.0 / CV_PI; vResLine.clear(); }
SVNListBase::SVNListBase ( SVNMainDirector* director, JXTextMenu* editMenu, const JString& cmd, const JBoolean refreshRepo, const JBoolean refreshStatus, const JBoolean reload, const JBoolean enableContextMenu, JXScrollbarSet* scrollbarSet, JXContainer* enclosure, const HSizingOption hSizing, const VSizingOption vSizing, const JCoordinate x, const JCoordinate y, const JCoordinate w, const JCoordinate h ) : JXStringList(scrollbarSet, enclosure, hSizing, vSizing, x, y, w, h), SVNTabBase(director), itsCmd(cmd), itsRefreshRepoFlag(refreshRepo), itsRefreshStatusFlag(refreshStatus), itsReloadOpenFilesFlag(reload), itsEditMenu(editMenu), itsEnableContextMenuFlag(enableContextMenu), itsContextMenu(NULL), itsProcess(NULL), itsMessageLink(NULL), itsErrorLink(NULL) { SetFont(JGetMonospaceFontName(), kJDefaultMonoFontSize); SetSelectionBehavior(kJTrue, kJTrue); itsLineList = new JPtrArray<JString>(JPtrArrayT::kDeleteAll); assert( itsLineList != NULL ); itsLineList->SetCompareObject(CompareLines(this)); SetStringList(itsLineList); itsErrorList = new JPtrArray<JString>(JPtrArrayT::kDeleteAll); assert( itsErrorList != NULL ); itsSavedSelection = new JPtrArray<JString>(JPtrArrayT::kDeleteAll); assert( itsSavedSelection != NULL ); itsSavedSelection->SetCompareFunction(JCompareStringsCaseSensitive); FitToEnclosure(); ListenTo(itsEditMenu); }
void CAgentTest::CompareFilesL(const TDesC& aOutputFile,const TDesC& aCompareFile) { RFs fsSession; User::LeaveIfError(fsSession.Connect()); RFile file1,file2; TInt err=file1.Open(fsSession, aOutputFile, EFileRead); if (err!=KErrNone) { User::Leave(err); } CleanupClosePushL(file1); err=file2.Open(fsSession, aCompareFile, EFileRead); if (err!=KErrNone) { User::Leave(err); } CleanupClosePushL(file2); RFileReadStream stream1(file1); RFileReadStream stream2(file2); CleanupClosePushL(stream1); CleanupClosePushL(stream2); TBuf8<0x80> bufO,bufC; TInt line=1; do { TRAP(err,stream1.ReadL(bufO,TChar(0xa))); if (err==KErrNone || err==KErrEof) { TRAP(err,stream2.ReadL(bufC,TChar(0xa))); } if (err!=KErrNone && err!=KErrEof) { User::Leave(err); } CompareLines(bufO, bufC); ++line; } while (err!=KErrEof); CleanupStack::PopAndDestroy(4,&file1); }