- Timestamp:
- 07/09/07 21:40:14 (1 year ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
Mulberry/branches/v4.1d1/Sources_Common/Mail/Protocols/CAdbkProtocol.cp
r86 r96 447 447 return; 448 448 449 try450 {449 try 450 { 451 451 // Logoff if required 452 452 if (IsLoggedOn()) … … 463 463 // Clean any free connections in cache 464 464 CleanConnections(); 465 }466 catch (...)467 {468 CLOG_LOGCATCH(...);465 } 466 catch (...) 467 { 468 CLOG_LOGCATCH(...); 469 469 470 470 // Clean up and throw up … … 475 475 CleanConnections(); 476 476 477 CLOG_LOGRETHROW;478 throw;479 }480 }477 CLOG_LOGRETHROW; 478 throw; 479 } 480 } 481 481 482 482 // Logon to server … … 505 505 if (!auth->GetPswd().empty()) 506 506 SetCachedPswd(auth->GetUID(), auth->GetPswd()); 507 }507 } 508 508 509 509 // Make copy of current authenticator … … 703 703 { 704 704 DumpAddressBooks(); 705 }705 } 706 706 707 707 SyncSubList(adbk); … … 723 723 if (adbk->IsAdbk()) 724 724 { 725 // Get adbk URL726 cdstring adbk_url = adbk->GetURL();727 728 // Match in open at start list729 cdstrvect::const_iterator found = ::find(CPreferences::sPrefs->mAdbkOpenAtStartup.GetValue().begin(),730 CPreferences::sPrefs->mAdbkOpenAtStartup.GetValue().end(),731 adbk_url);732 733 if (found != CPreferences::sPrefs->mAdbkOpenAtStartup.GetValue().end())734 {735 adbk->SetFlags(CAddressBook::eOpenOnStart, true);736 737 // Open it if its not already open738 if (!adbk->IsOpen())739 CActionManager::OpenAddressBook(adbk, true);740 }741 742 // Match in nick name list743 found = ::find(CPreferences::sPrefs->mAdbkNickName.GetValue().begin(),744 CPreferences::sPrefs->mAdbkNickName.GetValue().end(), adbk_url);745 746 if (found != CPreferences::sPrefs->mAdbkNickName.GetValue().end())747 adbk->SetFlags(CAddressBook::eLookup, true);748 749 // Match in search list750 found = ::find(CPreferences::sPrefs->mAdbkSearch.GetValue().begin(),751 CPreferences::sPrefs->mAdbkSearch.GetValue().end(), adbk_url);752 753 if (found != CPreferences::sPrefs->mAdbkSearch.GetValue().end())754 adbk->SetFlags(CAddressBook::eSearch, true);755 756 // Match in auto sync list757 found = ::find(CPreferences::sPrefs->mAdbkAutoSync.GetValue().begin(),758 CPreferences::sPrefs->mAdbkAutoSync.GetValue().end(), adbk_url);759 760 if (found != CPreferences::sPrefs->mAdbkAutoSync.GetValue().end())761 adbk->SetFlags(CAddressBook::eAutoSync, true);762 763 // Force update of manager764 CAddressBookManager::sAddressBookManager->SyncAddressBook(adbk, true);725 // Get adbk URL 726 cdstring adbk_url = adbk->GetURL(); 727 728 // Match in open at start list 729 cdstrvect::const_iterator found = ::find(CPreferences::sPrefs->mAdbkOpenAtStartup.GetValue().begin(), 730 CPreferences::sPrefs->mAdbkOpenAtStartup.GetValue().end(), 731 adbk_url); 732 733 if (found != CPreferences::sPrefs->mAdbkOpenAtStartup.GetValue().end()) 734 { 735 adbk->SetFlags(CAddressBook::eOpenOnStart, true); 736 737 // Open it if its not already open 738 if (!adbk->IsOpen()) 739 CActionManager::OpenAddressBook(adbk, true); 740 } 741 742 // Match in nick name list 743 found = ::find(CPreferences::sPrefs->mAdbkNickName.GetValue().begin(), 744 CPreferences::sPrefs->mAdbkNickName.GetValue().end(), adbk_url); 745 746 if (found != CPreferences::sPrefs->mAdbkNickName.GetValue().end()) 747 adbk->SetFlags(CAddressBook::eLookup, true); 748 749 // Match in search list 750 found = ::find(CPreferences::sPrefs->mAdbkSearch.GetValue().begin(), 751 CPreferences::sPrefs->mAdbkSearch.GetValue().end(), adbk_url); 752 753 if (found != CPreferences::sPrefs->mAdbkSearch.GetValue().end()) 754 adbk->SetFlags(CAddressBook::eSearch, true); 755 756 // Match in auto sync list 757 found = ::find(CPreferences::sPrefs->mAdbkAutoSync.GetValue().begin(), 758 CPreferences::sPrefs->mAdbkAutoSync.GetValue().end(), adbk_url); 759 760 if (found != CPreferences::sPrefs->mAdbkAutoSync.GetValue().end()) 761 adbk->SetFlags(CAddressBook::eAutoSync, true); 762 763 // Force update of manager 764 CAddressBookManager::sAddressBookManager->SyncAddressBook(adbk, true); 765 765 } 766 766 … … 795 795 { 796 796 DumpAddressBooks(); 797 }798 }797 } 798 } 799 799 800 800 CAddressBook* CAdbkProtocol::GetNode(const cdstring& adbk, bool parent) const … … 820 820 821 821 return names.empty() ? const_cast<CAddressBook*>(&mStoreRoot) : mStoreRoot.FindNode(names); 822 }822 } 823 823 824 824 CAddressBook* CAdbkProtocol::GetParentNode(const cdstring& adbk) const … … 844 844 // Don't do on server if cache is primary 845 845 if (!mCacheIsPrimary) 846 mClient->_CreateAdbk(adbk);846 mClient->_CreateAdbk(adbk); 847 847 848 848 // Always keep disconnected cache in sync with server … … 863 863 // Don't do on server if cache is primary 864 864 if (!mCacheIsPrimary) 865 mClient->_TouchAdbk(adbk);865 mClient->_TouchAdbk(adbk); 866 866 867 867 // Always keep disconnected cache in sync with server … … 890 890 // Don't do on server if cache is primary 891 891 if (!mCacheIsPrimary) 892 mClient->_DeleteAdbk(adbk);892 mClient->_DeleteAdbk(adbk); 893 893 894 894 // Always keep disconnected cache in sync with server … … 915 915 // Don't do on server if cache is primary 916 916 if (!mCacheIsPrimary) 917 mClient->_RenameAdbk(adbk, adbk_new);917 mClient->_RenameAdbk(adbk, adbk_new); 918 918 919 919 // Always keep disconnected cache in sync with server … … 1135 1135 adbk->GetVCardAdbk()->ClearRecording(); 1136 1136 adbk->GetVCardAdbk()->SetDirty(false); 1137 }1138 1137 } 1138 1139 1139 // Always keep disconnected cache in sync with server 1140 1140 if (adbk->IsOpen() && (mCacheClient != NULL)) … … 1159 1159 adbk->GetVCardAdbk()->ClearRecording(); 1160 1160 adbk->GetVCardAdbk()->SetDirty(false); 1161 }1162 1161 } 1162 1163 1163 // Always keep disconnected cache in sync with server 1164 1164 if (adbk->IsOpen() && (mCacheClient != NULL)) … … 1391 1391 // Write to stream 1392 1392 doc->Generate(fout); 1393 }1393 } 1394 1394 1395 1395 void CAdbkProtocol::ReadAddressBooks() … … 1407 1407 xmllib::XMLNode* root = parser.Document()->GetRoot(); 1408 1408 if (!root->CompareFullName(cXMLElement_adbklist)) 1409 return;1410 1409 return; 1410 1411 1411 // Now have store root read in all children 1412 1412 mStoreRoot.ReadXML(root, true); … … 1427 1427 void CAdbkProtocol::SynchroniseRemote(CAddressBook* adbk, bool fast) 1428 1428 { 1429 }1429 } 1430 1430 1431 1431 void CAdbkProtocol::SyncRemote(CAddressBook* remote, CAddressBook* local, bool fast) 1432 1432 { 1433 }1433 } 1434 1434 1435 1435 void CAdbkProtocol::ClearDisconnect(CAddressBook* adbk)