X-Git-Url: http://Server1/repobrowser/?p=xestiaab%2F.git;a=blobdiff_plain;f=source%2Factmgr%2FfrmActivityMgr.cpp;h=ec4700c6516a2cf7e37c6bca2d71f845c9129b51;hp=40ab583d8debcbc3d12f9fa5847961f35e4cd153;hb=2c8998278759b5bf6fc3bcf75afd289c214b6c84;hpb=d042c124580649327968a6950ef8e6f0ca2be399 diff --git a/source/actmgr/frmActivityMgr.cpp b/source/actmgr/frmActivityMgr.cpp index 40ab583..ec4700c 100644 --- a/source/actmgr/frmActivityMgr.cpp +++ b/source/actmgr/frmActivityMgr.cpp @@ -80,7 +80,7 @@ frmActivityMgrADT( parent ) ActListProcTimer.SetupPointers(&ActivityList, &ActivityListIndex, &ActivityListTaskDetail, &TasksActive, lstActivity, lblDetails, GauProgress, this, &AnimationTimer, - &ActProcessTimer, &ActivityListFinDate, &ActivityListConn); + &ActProcessTimer, &ActivityListFinDate, &ActivityListConnObject); AnimationTimer.SetBitmap(bmpActivity); AnimationTimer.SetSleepBitmap(&SleepBitmap); @@ -966,7 +966,6 @@ void frmActivityMgr::ProcessTasksThread() wxArrayString vCardUpdateRemote; wxArrayString vCardUpdateLog; std::map vCardETag; - ContactListData ServerContactList; std::map vCardDownloadData; @@ -1017,8 +1016,6 @@ void frmActivityMgr::ProcessTasksThread() COConnectResult ConnectResponse = ConnObjectIter->second->Connect(false); bool ExitLoop = FALSE; - - std::map *SCListData = NULL; while (ExitLoop == FALSE){ @@ -1395,6 +1392,11 @@ void frmActivityMgr::ProcessTasksThread() COServerResponse ServerEntityTag = ConnObjectIter->second->GetServerEntityTagValue(additer->first.ToStdString()); + if (ServerEntityTag.RequestResult != COREQUEST_OK){ + iter->second = 2; + break; + } + ServerETag = wxString::FromUTF8(ServerEntityTag.EntityTag.c_str()); // Add to the ETag Database. @@ -1423,6 +1425,11 @@ void frmActivityMgr::ProcessTasksThread() COServerResponse ServerEntityTag = ConnObjectIter->second->GetServerEntityTagValue(additer->first.ToStdString()); + if (ServerEntityTag.RequestResult != COREQUEST_OK){ + iter->second = 2; + break; + } + ServerETag = wxString::FromUTF8(ServerEntityTag.EntityTag.c_str()); // Add to the ETag Database. @@ -1431,6 +1438,12 @@ void frmActivityMgr::ProcessTasksThread() } } + + // Check if any errors occured before continuing. + + if (iter->second != 1){ + break; + } // Look for vCard files which aren't in the ETagDB. @@ -1489,6 +1502,13 @@ void frmActivityMgr::ProcessTasksThread() COServerResponse ServerEntityTag = ConnObjectIter->second->GetServerEntityTagValue(vCardAdd[vi].ToStdString()); + if (ServerEntityTag.RequestResult != COREQUEST_OK){ + iter->second = 2; + break; + } + + // TODO: Continue from here! + ETagServer = wxString::FromUTF8(ServerEntityTag.EntityTag.c_str()); if (ETagOriginal != ETagServer){ @@ -1510,6 +1530,11 @@ void frmActivityMgr::ProcessTasksThread() COServerResponse GetContactResponse = ConnObjectIter->second->GetContact(vCardAdd[vi].ToStdString(), &ServerContactDataString); + if (GetContactResponse.RequestResult != COREQUEST_OK){ + iter->second = 2; + break; + } + ServerContactData = wxString::FromUTF8(ServerContactDataString.c_str()); // Process v3 version into v4 version. @@ -1561,6 +1586,11 @@ void frmActivityMgr::ProcessTasksThread() COServerResponse EditContactResponse = ConnObjectIter->second->EditContact(vCardAdd[vi].ToStdString(), ClientData.WriteString().ToStdString()); + if (EditContactResponse.RequestResult != COREQUEST_OK){ + iter->second = 2; + break; + } + iter->second = 4; } else if (ConflictResult == 2){ @@ -1605,10 +1635,20 @@ void frmActivityMgr::ProcessTasksThread() COServerResponse AddContactResponse = ConnObjectIter->second->AddContact(vCardAdd[vi].ToStdString(), TaskData.ToStdString()); + if (AddContactResponse.RequestResult != COREQUEST_OK){ + iter->second = 2; + break; + } + // Get the Server ETag and put it in the ETag database. COServerResponse EntityTagResponse = ConnObjectIter->second->GetServerEntityTagValue(vCardAdd[vi].ToStdString()); + if (EntityTagResponse.RequestResult != COREQUEST_OK){ + iter->second = 2; + break; + } + ETagServer = wxString::FromUTF8(EntityTagResponse.EntityTag.c_str()); ETagDBPtr->AddETag(vCardAdd[vi], ETagServer, ETagServer); @@ -1636,6 +1676,11 @@ void frmActivityMgr::ProcessTasksThread() COServerResponse GetContactResponse = ConnObjectIter->second->GetContact(vCardAdd[vi].ToStdString(), &ServerContactDataString); + if (GetContactResponse.RequestResult != COREQUEST_OK){ + iter->second = 2; + break; + } + ServerContactData = wxString::FromUTF8(ServerContactDataString.c_str()); ClientData.LoadFile(FullFilename); @@ -1682,7 +1727,12 @@ void frmActivityMgr::ProcessTasksThread() // Decided to use client version. COServerResponse EditContactResponse = ConnObjectIter->second->EditContact(vCardAdd[vi].ToStdString(), ClientData.WriteString().ToStdString()); - + + if (EditContactResponse.RequestResult != COREQUEST_OK){ + iter->second = 2; + break; + } + iter->second = 4; } else if (ConflictResult == 2){ @@ -1726,11 +1776,21 @@ void frmActivityMgr::ProcessTasksThread() // Upload the data to the server. COServerResponse AddContactResponse = ConnObjectIter->second->AddContact(vCardAdd[vi].ToStdString(), TaskData.ToStdString()); - + + if (AddContactResponse.RequestResult != COREQUEST_OK){ + iter->second = 2; + break; + } + // Get the Server ETag and put it in the ETag database. COServerResponse EntityTagResponse = ConnObjectIter->second->GetServerEntityTagValue(vCardAdd[vi].ToStdString()); + if (EntityTagResponse.RequestResult != COREQUEST_OK){ + iter->second = 2; + break; + } + ETagDBPtr->AddETag(vCardAdd[vi], ETagServer, ETagServer); } @@ -1739,6 +1799,10 @@ void frmActivityMgr::ProcessTasksThread() } + if (iter->second != 1){ + break; + } + // Process the vCards to delete locally. for (int vi = 0; vi < vCardDelete.GetCount(); vi++){