void CCmdProcess::OnReptTask(unsigned int flow, Commpack *pPack) { unsigned int nCmd = pPack->GetCmd(); unsigned short nSeq = pPack->GetSeq(); Commpack pack; pack.SetCmd(nCmd); pack.SetSeq(nSeq); //1. get data from client unsigned uClientTS = 0; unsigned uSize = 0; if (!pPack->GetUInt(uClientTS) || !pPack->GetUInt(uSize)) { pack.AddUInt(1000); SendToClient(flow, &pack); return; } string sIP; if (!GetIPByFlow(sIP, flow)) { pack.AddUInt(1000); SendToClient(flow, &pack); Warn("[CCmdProcess::OnReptTask] GetIPByFlow error, return 1000."); return; } string sDay(""); unsigned uDayPoint = 0; GetDayMin(sDay, uDayPoint, uClientTS); vector<SReptTask> vecRT; for(size_t i = 0; i < uSize; i++) { SReptTask rt; if (!pPack->GetUInt(rt.uCountry) || !pPack->GetUInt(rt.uISP) || !pPack->GetUInt(rt.uProv) || !pPack->GetUInt(rt.uIPNum) || !pPack->GetUInt(rt.uDelay)) { pack.AddUInt(1000); SendToClient(flow, &pack); return; } rt.sDay = sDay; rt.uDayPoint = uDayPoint; rt.sIP = sIP; vecRT.push_back(rt); } //2. set data to db for(size_t j = 0; j < vecRT.size(); j++) { if (!m_pDBProcessor->InsUpdReptTask(vecRT[j])) { Err("[CCmdProcess::OnReptTask] InsUpdReptTask error!" " Err[%s]", m_pDBProcessor->GetErrMsg().c_str()); } } pack.AddUInt(0); SendToClient(flow, &pack); Info("[CCmdProcess::OnReptTask] ip:[%s], day[%s], point[%u], size[%u]", sIP.c_str(), sDay.c_str(), uDayPoint, vecRT.size()); }
TBool CTrialHandler::IsNowOkL(TBool& aFirstTime,TInt& aDaysLeft) { TBool ret(EFalse); aFirstTime = EFalse; RFs fsSession; User::LeaveIfError(fsSession.Connect()); TFindFile AufFolder2(fsSession); if(KErrNone == AufFolder2.FindByDir(KtxTrialHandFileFileName, KNullDesC)){ TFindFile AufFolder3(fsSession); if(KErrNone == AufFolder3.FindByDir(KtxTrialHandFileFileName2, KNullDesC)) { BaflUtils::DeleteFile(fsSession,AufFolder3.File()); } }else{ TFindFile AufFolder4(fsSession); if(KErrNone == AufFolder4.FindByDir(KtxTrialHandFileFileName2, KNullDesC)) { aFirstTime = ETrue; TParsePtrC parsse(AufFolder4.File()); TFileName hjelpper; hjelpper.Copy(parsse.Drive()); hjelpper.Append(KtxTrialHandFileFileName); BaflUtils::RenameFile(fsSession,AufFolder4.File(),hjelpper); } } TFindFile AufFolder5(fsSession); if(KErrNone == AufFolder5.FindByDir(KtxTrialHandFileFileName, KNullDesC)){ TTime homme; homme.HomeTime(); CDictionaryFileStore* MyDStore = CDictionaryFileStore::OpenLC(fsSession,AufFolder5.File(), TUid::Uid(0x102013AD)); TInt sYear(-1),sMonth(-1),sDay(-1),sHour(-1),sMinute(-1); TInt mYear(-1),mMonth(-1),mDay(-1),mHour(-1),mMinute(-1); TInt eYear(-1),eMonth(-1),eDay(-1),eHour(-1),eMinute(-1); TUid FileUid = {0x8867675}; if(MyDStore->IsPresentL(FileUid)) { FileUid.iUid = 0x1299; if(MyDStore->IsPresentL(FileUid)) { RDictionaryReadStream in; in.OpenLC(*MyDStore,FileUid); sYear = in.ReadInt32L(); CleanupStack::PopAndDestroy(1);// in } FileUid.iUid = 0x1669; if(MyDStore->IsPresentL(FileUid)) { RDictionaryReadStream in; in.OpenLC(*MyDStore,FileUid); sMonth = in.ReadInt32L(); CleanupStack::PopAndDestroy(1);// in } FileUid.iUid = 0x4469; if(MyDStore->IsPresentL(FileUid)) { RDictionaryReadStream in; in.OpenLC(*MyDStore,FileUid); sDay = in.ReadInt32L(); CleanupStack::PopAndDestroy(1);// in } FileUid.iUid = 0x4421; if(MyDStore->IsPresentL(FileUid)) { RDictionaryReadStream in; in.OpenLC(*MyDStore,FileUid); sHour = in.ReadInt32L(); CleanupStack::PopAndDestroy(1);// in } FileUid.iUid = 0x4422; if(MyDStore->IsPresentL(FileUid)) { RDictionaryReadStream in; in.OpenLC(*MyDStore,FileUid); sMinute = in.ReadInt32L(); CleanupStack::PopAndDestroy(1);// in } FileUid.iUid = 0x9999; if(MyDStore->IsPresentL(FileUid)) { RDictionaryReadStream in; in.OpenLC(*MyDStore,FileUid); mYear = in.ReadInt32L(); CleanupStack::PopAndDestroy(1);// in } FileUid.iUid = 0x1688; if(MyDStore->IsPresentL(FileUid)) { RDictionaryReadStream in; in.OpenLC(*MyDStore,FileUid); mMonth = in.ReadInt32L(); CleanupStack::PopAndDestroy(1);// in } FileUid.iUid = 0x4889; if(MyDStore->IsPresentL(FileUid)) { RDictionaryReadStream in; in.OpenLC(*MyDStore,FileUid); mDay = in.ReadInt32L(); CleanupStack::PopAndDestroy(1);// in } FileUid.iUid = 0x4821; if(MyDStore->IsPresentL(FileUid)) { RDictionaryReadStream in; in.OpenLC(*MyDStore,FileUid); mHour = in.ReadInt32L(); CleanupStack::PopAndDestroy(1);// in } FileUid.iUid = 0x4822; if(MyDStore->IsPresentL(FileUid)) { RDictionaryReadStream in; in.OpenLC(*MyDStore,FileUid); mMinute = in.ReadInt32L(); CleanupStack::PopAndDestroy(1);// in } FileUid.iUid = 0x6789; if(MyDStore->IsPresentL(FileUid)) { RDictionaryReadStream in; in.OpenLC(*MyDStore,FileUid); eYear = in.ReadInt32L(); CleanupStack::PopAndDestroy(1);// in } FileUid.iUid = 0x1111; if(MyDStore->IsPresentL(FileUid)) { RDictionaryReadStream in; in.OpenLC(*MyDStore,FileUid); eMonth = in.ReadInt32L(); CleanupStack::PopAndDestroy(1);// in } FileUid.iUid = 0x9786; if(MyDStore->IsPresentL(FileUid)) { RDictionaryReadStream in; in.OpenLC(*MyDStore,FileUid); eDay = in.ReadInt32L(); CleanupStack::PopAndDestroy(1);// in } FileUid.iUid = 0x9721; if(MyDStore->IsPresentL(FileUid)) { RDictionaryReadStream in; in.OpenLC(*MyDStore,FileUid); eHour = in.ReadInt32L(); CleanupStack::PopAndDestroy(1);// in } FileUid.iUid = 0x9722; if(MyDStore->IsPresentL(FileUid)) { RDictionaryReadStream in; in.OpenLC(*MyDStore,FileUid); eMinute = in.ReadInt32L(); CleanupStack::PopAndDestroy(1);// in } if(sYear == -1 && sMonth == -1 && sDay == -1 && mYear == -1 && mMonth == -1 && mDay == -1 && eYear == -1 && eMonth == -1 && eDay == -1){ FileUid.iUid = 0x1299; if(MyDStore->IsPresentL(FileUid)) { MyDStore->Remove(FileUid); MyDStore->CommitL(); } RDictionaryWriteStream out1; out1.AssignLC(*MyDStore,FileUid); out1.WriteInt32L(homme.DateTime().Year()); out1.CommitL(); CleanupStack::PopAndDestroy(1);// out1 FileUid.iUid = 0x1669; if(MyDStore->IsPresentL(FileUid)) { MyDStore->Remove(FileUid); MyDStore->CommitL(); } RDictionaryWriteStream out2; out2.AssignLC(*MyDStore,FileUid); out2.WriteInt32L((TInt)homme.DateTime().Month()); out2.CommitL(); CleanupStack::PopAndDestroy(1);// out2 FileUid.iUid = 0x4469; if(MyDStore->IsPresentL(FileUid)) { MyDStore->Remove(FileUid); MyDStore->CommitL(); } RDictionaryWriteStream out3; out3.AssignLC(*MyDStore,FileUid); out3.WriteInt32L(homme.DateTime().Day()); out3.CommitL(); CleanupStack::PopAndDestroy(1);// out3 FileUid.iUid = 0x4421; if(MyDStore->IsPresentL(FileUid)) { MyDStore->Remove(FileUid); MyDStore->CommitL(); } RDictionaryWriteStream out31; out31.AssignLC(*MyDStore,FileUid); out31.WriteInt32L(homme.DateTime().Hour()); out31.CommitL(); CleanupStack::PopAndDestroy(1);// out31 FileUid.iUid = 0x4422; if(MyDStore->IsPresentL(FileUid)) { MyDStore->Remove(FileUid); MyDStore->CommitL(); } RDictionaryWriteStream out32; out32.AssignLC(*MyDStore,FileUid); out32.WriteInt32L(homme.DateTime().Minute()); out32.CommitL(); CleanupStack::PopAndDestroy(1);// out32 FileUid.iUid = 0x6789; if(MyDStore->IsPresentL(FileUid)) { MyDStore->Remove(FileUid); MyDStore->CommitL(); } homme = homme + TTimeIntervalDays(4); RDictionaryWriteStream out4; out4.AssignLC(*MyDStore,FileUid); out4.WriteInt32L(homme.DateTime().Year()); out4.CommitL(); CleanupStack::PopAndDestroy(1);// out4 FileUid.iUid = 0x1111; if(MyDStore->IsPresentL(FileUid)) { MyDStore->Remove(FileUid); MyDStore->CommitL(); } RDictionaryWriteStream out5; out5.AssignLC(*MyDStore,FileUid); out5.WriteInt32L((TInt)homme.DateTime().Month()); out5.CommitL(); CleanupStack::PopAndDestroy(1);// out5 FileUid.iUid = 0x9786; if(MyDStore->IsPresentL(FileUid)) { MyDStore->Remove(FileUid); MyDStore->CommitL(); } RDictionaryWriteStream out6; out6.AssignLC(*MyDStore,FileUid); out6.WriteInt32L(homme.DateTime().Day()); out6.CommitL(); CleanupStack::PopAndDestroy(1);// out6 FileUid.iUid = 0x9721; if(MyDStore->IsPresentL(FileUid)) { MyDStore->Remove(FileUid); MyDStore->CommitL(); } RDictionaryWriteStream out61; out61.AssignLC(*MyDStore,FileUid); out61.WriteInt32L(homme.DateTime().Hour()); out61.CommitL(); CleanupStack::PopAndDestroy(1);// out61 FileUid.iUid = 0x9722; if(MyDStore->IsPresentL(FileUid)) { MyDStore->Remove(FileUid); MyDStore->CommitL(); } RDictionaryWriteStream out62; out62.AssignLC(*MyDStore,FileUid); out62.WriteInt32L(homme.DateTime().Minute()); out62.CommitL(); CleanupStack::PopAndDestroy(1);// out62 MyDStore->CommitL(); TTime nowwTimm; nowwTimm.HomeTime(); TTimeIntervalHours leftTimm; homme.HoursFrom(nowwTimm,leftTimm); aDaysLeft = leftTimm.Int(); ret = ETrue; }else{ TTime startTime(TDateTime(sYear,(TMonth)sMonth,sDay,sHour,sMinute,0,0)); TTime middleTime(TDateTime(mYear,(TMonth)mMonth,mDay,mHour,mMinute,0,0)); TTime edningTime(TDateTime(eYear,(TMonth)eMonth,eDay,eHour,eMinute,0,0)); TTimeIntervalMinutes sInterval(0); TTimeIntervalMinutes mInterval(0); TTimeIntervalMinutes eInterval(0); homme.MinutesFrom(startTime,sInterval); homme.MinutesFrom(middleTime,mInterval); edningTime.MinutesFrom(homme,eInterval); if(sInterval.Int() >= 0 && mInterval.Int() >= 0 && eInterval.Int() >= 0){ TTimeIntervalHours leftTimm; edningTime.HoursFrom(homme,leftTimm); aDaysLeft = leftTimm.Int(); ret = ETrue; } } }else{ /* RDictionaryWriteStream out3; out3.AssignLC(*MyDStore,FileUid); out3.WriteInt32L(12985674); out3.CommitL(); CleanupStack::PopAndDestroy(1);// out3 MyDStore->CommitL();*/ } CleanupStack::PopAndDestroy(1);// Store } fsSession.Close(); return ret; }