diff options
| author | Tobias Markmann <tm@ayena.de> | 2016-11-23 07:09:39 (GMT) | 
|---|---|---|
| committer | Tobias Markmann <tm@ayena.de> | 2016-11-23 11:30:02 (GMT) | 
| commit | e405ff3561be3d3c0bd79d7d5173923a8828cf02 (patch) | |
| tree | 9118ef838ebfaec1df90ec24761944b5d833774c /Swift/Controllers | |
| parent | 8a71b91be885652f37c5aab5e1ecf25af4599fbc (diff) | |
| download | swift-e405ff3561be3d3c0bd79d7d5173923a8828cf02.zip swift-e405ff3561be3d3c0bd79d7d5173923a8828cf02.tar.bz2 | |
Migrate remaining Swiften/Base/foreach.h use to range-based for loop
Test-Information:
Build on macOS 10.12.1 and all tests pass.
Change-Id: Iedaa3fa7e7672c77909fd0568bf30e9393cb87e0
Diffstat (limited to 'Swift/Controllers')
31 files changed, 106 insertions, 134 deletions
| diff --git a/Swift/Controllers/AdHocManager.cpp b/Swift/Controllers/AdHocManager.cpp index 81f80e2..717f083 100644 --- a/Swift/Controllers/AdHocManager.cpp +++ b/Swift/Controllers/AdHocManager.cpp @@ -11,7 +11,6 @@  #include <boost/bind.hpp>  #include <Swiften/AdHoc/OutgoingAdHocCommandSession.h> -#include <Swiften/Base/foreach.h>  #include <Swiften/Queries/IQRouter.h>  #include <Swift/Controllers/UIEvents/RequestAdHocUIEvent.h> @@ -58,7 +57,7 @@ void AdHocManager::setServerDiscoInfo(std::shared_ptr<DiscoInfo> info) {  }  void AdHocManager::setOnline(bool online) { -    foreach (std::shared_ptr<AdHocController> controller, controllers_) { +    for (auto&& controller : controllers_) {          controller->setOnline(online);      }  } @@ -66,7 +65,7 @@ void AdHocManager::setOnline(bool online) {  void AdHocManager::handleServerDiscoItemsResponse(std::shared_ptr<DiscoItems> items, ErrorPayload::ref error) {      std::vector<DiscoItems::Item> commands;      if (!error) { -        foreach (DiscoItems::Item item, items->getItems()) { +        for (const auto& item : items->getItems()) {              if (item.getNode() != "http://isode.com/xmpp/commands#test") {                  commands.push_back(item);              } diff --git a/Swift/Controllers/AdHocManager.h b/Swift/Controllers/AdHocManager.h index 20e5db7..0786370 100644 --- a/Swift/Controllers/AdHocManager.h +++ b/Swift/Controllers/AdHocManager.h @@ -10,7 +10,6 @@  #include <boost/signals2.hpp> -#include <Swiften/Client/Client.h>  #include <Swiften/Disco/GetDiscoItemsRequest.h>  #include <Swiften/Elements/DiscoInfo.h>  #include <Swiften/Elements/DiscoItems.h> @@ -25,6 +24,7 @@ class IQRouter;  class MainWindow;  class UIEventStream;  class AdHocCommandWindowFactory; +  class AdHocManager {  public:      AdHocManager(const JID& jid, AdHocCommandWindowFactory* factory, IQRouter* iqRouter, UIEventStream* uiEventStream, MainWindow* mainWindow); @@ -32,10 +32,13 @@ public:      void removeController(std::shared_ptr<AdHocController> contoller);      void setServerDiscoInfo(std::shared_ptr<DiscoInfo> info);      void setOnline(bool online); +  private:      void handleServerDiscoItemsResponse(std::shared_ptr<DiscoItems>, ErrorPayload::ref error);      void handleUIEvent(std::shared_ptr<UIEvent> event);      boost::signals2::signal<void (const AdHocController&)> onControllerComplete; + +private:      JID jid_;      IQRouter* iqRouter_;      UIEventStream* uiEventStream_; diff --git a/Swift/Controllers/BlockListController.cpp b/Swift/Controllers/BlockListController.cpp index 560a3f3..37c536b 100644 --- a/Swift/Controllers/BlockListController.cpp +++ b/Swift/Controllers/BlockListController.cpp @@ -14,7 +14,6 @@  #include <boost/bind.hpp> -#include <Swiften/Base/foreach.h>  #include <Swiften/Base/format.h>  #include <Swiften/Client/ClientBlockListManager.h> @@ -40,13 +39,13 @@ BlockListController::~BlockListController() {  }  void BlockListController::blockListDifferences(const std::vector<JID> &newBlockList, std::vector<JID> &jidsToUnblock, std::vector<JID> &jidsToBlock) const { -    foreach (const JID& jid, blockListBeforeEdit) { +    for (const auto& jid : blockListBeforeEdit) {          if (std::find(newBlockList.begin(), newBlockList.end(), jid) == newBlockList.end()) {              jidsToUnblock.push_back(jid);          }      } -    foreach (const JID& jid, newBlockList) { +    for (const auto& jid : newBlockList) {          if (std::find(blockListBeforeEdit.begin(), blockListBeforeEdit.end(), jid) == blockListBeforeEdit.end()) {              jidsToBlock.push_back(jid);          } @@ -169,13 +168,13 @@ void BlockListController::handleBlockListChanged() {          blockListDifferences(blockListEditorWidget_->getCurrentBlockList(), jidsToUnblock, jidsToBlock);          blockListBeforeEdit = blockListManager_->getBlockList()->getItems(); -        foreach (const JID& jid, jidsToBlock) { +        for (const auto& jid : jidsToBlock) {              if (std::find(blockListBeforeEdit.begin(), blockListBeforeEdit.end(), jid) == blockListBeforeEdit.end()) {                  blockListBeforeEdit.push_back(jid);              }          } -        foreach (const JID& jid, jidsToUnblock) { +        for (const auto& jid : jidsToUnblock) {              blockListBeforeEdit.erase(std::remove(blockListBeforeEdit.begin(), blockListBeforeEdit.end(), jid), blockListBeforeEdit.end());          } diff --git a/Swift/Controllers/Chat/MUCController.cpp b/Swift/Controllers/Chat/MUCController.cpp index 9ae3845..349bf8a 100644 --- a/Swift/Controllers/Chat/MUCController.cpp +++ b/Swift/Controllers/Chat/MUCController.cpp @@ -11,10 +11,10 @@  #include <boost/bind.hpp>  #include <boost/regex.hpp>  #include <boost/algorithm/string.hpp> +#include <boost/range/adaptor/reversed.hpp>  #include <Swiften/Avatars/AvatarManager.h>  #include <Swiften/Base/Log.h> -#include <Swiften/Base/foreach.h>  #include <Swiften/Base/format.h>  #include <Swiften/Base/Tristate.h>  #include <Swiften/Client/BlockList.h> @@ -238,7 +238,7 @@ void MUCController::handleActionRequestedOnOccupant(ChatWindow::OccupantAction a  void MUCController::handleBareJIDCapsChanged(const JID& /*jid*/) {      Tristate support = Yes;      bool any = false; -    foreach (const std::string& nick, currentOccupants_) { +    for (const auto& nick : currentOccupants_) {          DiscoInfo::ref disco = entityCapsProvider_->getCaps(toJID_.toBare().toString() + "/" + nick);          if (disco && disco->hasFeature(DiscoInfo::MessageCorrectionFeature)) {              any = true; @@ -295,9 +295,8 @@ bool MUCController::isImpromptu() const {  std::map<std::string, JID> MUCController::getParticipantJIDs() const {      std::map<std::string, JID> participants; -    typedef std::pair<std::string, MUCOccupant> MUCOccupantPair;      std::map<std::string, MUCOccupant> occupants = muc_->getOccupants(); -    foreach(const MUCOccupantPair& occupant, occupants) { +    for (const auto& occupant : occupants) {          if (occupant.first != nick_) {              participants[occupant.first] = occupant.second.getRealJID().is_initialized() ? occupant.second.getRealJID().get().toBare() : JID();          } @@ -306,7 +305,7 @@ std::map<std::string, JID> MUCController::getParticipantJIDs() const {  }  void MUCController::sendInvites(const std::vector<JID>& jids, const std::string& reason) const { -    foreach (const JID& jid, jids) { +    for (const auto& jid : jids) {          muc_->invitePerson(jid, reason, isImpromptu_);      }  } @@ -859,7 +858,7 @@ std::string MUCController::concatenateListOfNames(const std::vector<NickJoinPart  std::string MUCController::generateJoinPartString(const std::vector<NickJoinPart>& joinParts, bool isImpromptu) {      std::vector<NickJoinPart> sorted[4];      std::string eventStrings[4]; -    foreach (NickJoinPart event, joinParts) { +    for (const auto& event : joinParts) {          sorted[event.type].push_back(event);      }      std::string result; @@ -937,7 +936,7 @@ void MUCController::handleBookmarkRequest() {      // Check for existing bookmark for this room and, if it exists, use it instead.      std::vector<MUCBookmark> bookmarks = mucBookmarkManager_->getBookmarks(); -    foreach (const MUCBookmark& bookmark, bookmarks) { +    for (const auto& bookmark : bookmarks) {          if (bookmark.getRoom() == jid.toBare()) {              roomBookmark = bookmark;              break; @@ -1001,7 +1000,7 @@ void MUCController::handleInvitePersonToThisMUCRequest(const std::vector<JID>& j  void MUCController::handleUIEvent(std::shared_ptr<UIEvent> event) {      std::shared_ptr<InviteToMUCUIEvent> inviteEvent = std::dynamic_pointer_cast<InviteToMUCUIEvent>(event);      if (inviteEvent && inviteEvent->getRoom() == muc_->getJID()) { -        foreach (const JID& jid, inviteEvent->getInvites()) { +        for (const auto& jid : inviteEvent->getInvites()) {              muc_->invitePerson(jid, inviteEvent->getReason(), isImpromptu_);          }      } @@ -1014,16 +1013,14 @@ void MUCController::handleGetAffiliationsRequest() {      muc_->requestAffiliationList(MUCOccupant::Outcast);  } -typedef std::pair<MUCOccupant::Affiliation, JID> AffiliationChangePair; -  void MUCController::handleChangeAffiliationsRequest(const std::vector<std::pair<MUCOccupant::Affiliation, JID> >& changes) {      std::set<JID> addedJIDs; -    foreach (const AffiliationChangePair& change, changes) { +    for (const auto& change : changes) {          if (change.first != MUCOccupant::NoAffiliation) {              addedJIDs.insert(change.second);          }      } -    foreach (const AffiliationChangePair& change, changes) { +    for (const auto& change : changes) {          if (change.first != MUCOccupant::NoAffiliation || addedJIDs.find(change.second) == addedJIDs.end()) {              muc_->changeAffiliation(change.second, change.first);          } @@ -1070,7 +1067,7 @@ void MUCController::addRecentLogs() {      joinContext_ = historyController_->getMUCContext(selfJID_, toJID_, lastActivity_); -    foreach (const HistoryMessage& message, joinContext_) { +    for (const auto& message : joinContext_) {          bool senderIsSelf = nick_ == message.getFromJID().getResource();          // the chatWindow uses utc timestamps @@ -1083,7 +1080,7 @@ void MUCController::checkDuplicates(std::shared_ptr<Message> newMessage) {      JID jid = newMessage->getFrom();      boost::optional<boost::posix_time::ptime> time = newMessage->getTimestamp(); -    reverse_foreach (const HistoryMessage& message, joinContext_) { +    for (const auto& message : boost::adaptors::reverse(joinContext_)) {          boost::posix_time::ptime messageTime = message.getTime() - boost::posix_time::hours(message.getOffset());          if (time && time < messageTime) {              break; @@ -1112,7 +1109,7 @@ Form::ref MUCController::buildImpromptuRoomConfiguration(Form::ref roomConfigura      Form::ref result = std::make_shared<Form>(Form::SubmitType);      std::string impromptuConfigs[] = { "muc#roomconfig_enablelogging", "muc#roomconfig_persistentroom", "muc#roomconfig_publicroom", "muc#roomconfig_whois"};      std::set<std::string> impromptuConfigsMissing(impromptuConfigs, impromptuConfigs + 4); -    foreach (std::shared_ptr<FormField> field, roomConfigurationForm->getFields()) { +    for (const auto& field : roomConfigurationForm->getFields()) {          std::shared_ptr<FormField> resultField;          if (field->getName() == "muc#roomconfig_enablelogging") {              resultField = std::make_shared<FormField>(FormField::BooleanType, "0"); @@ -1138,7 +1135,7 @@ Form::ref MUCController::buildImpromptuRoomConfiguration(Form::ref roomConfigura          }      } -    foreach (const std::string& config, impromptuConfigsMissing) { +    for (const auto& config : impromptuConfigsMissing) {          if (config == "muc#roomconfig_publicroom") {              chatWindow_->addSystemMessage(chatMessageParser_->parseMessageBody(QT_TRANSLATE_NOOP("", "This server doesn't support hiding your chat from other users.")), ChatWindow::DefaultDirection);          } else if (config == "muc#roomconfig_whois") { @@ -1151,12 +1148,11 @@ Form::ref MUCController::buildImpromptuRoomConfiguration(Form::ref roomConfigura  void MUCController::setImpromptuWindowTitle() {      std::string title; -    typedef std::pair<std::string, MUCOccupant> StringMUCOccupantPair;      std::map<std::string, MUCOccupant> occupants = muc_->getOccupants();      if (occupants.size() <= 1) {          title = QT_TRANSLATE_NOOP("", "Empty Chat");      } else { -        foreach (StringMUCOccupantPair pair, occupants) { +        for (const auto& pair : occupants) {              if (pair.first != nick_) {                  title += (title.empty() ? "" : ", ") + pair.first;              } diff --git a/Swift/Controllers/Chat/UnitTest/ChatsManagerTest.cpp b/Swift/Controllers/Chat/UnitTest/ChatsManagerTest.cpp index 31c9be9..a5e68cf 100644 --- a/Swift/Controllers/Chat/UnitTest/ChatsManagerTest.cpp +++ b/Swift/Controllers/Chat/UnitTest/ChatsManagerTest.cpp @@ -89,7 +89,7 @@ class ChatsManagerTest : public CppUnit::TestFixture {      CPPUNIT_TEST(testChatControllerHighlightingNotificationTesting);      CPPUNIT_TEST(testChatControllerHighlightingNotificationDeduplicateSounds);      CPPUNIT_TEST(testChatControllerMeMessageHandling); -	CPPUNIT_TEST(testRestartingMUCComponentCrash); +    CPPUNIT_TEST(testRestartingMUCComponentCrash);      CPPUNIT_TEST(testChatControllerMeMessageHandlingInMUC);      // Carbons tests @@ -455,7 +455,7 @@ public:          uiEventStream_->send(std::make_shared<RequestChatUIEvent>(sender)); -        foreach(const JID& senderJID, senderResource) { +        for (const auto& senderJID : senderResource) {              // The sender supports delivery receipts.              DiscoInfo::ref disco = std::make_shared<DiscoInfo>();              disco->addFeature(DiscoInfo::MessageDeliveryReceiptsFeature); @@ -478,7 +478,7 @@ public:          CPPUNIT_ASSERT(stanzaChannel_->getStanzaAtIndex<Message>(1)->getPayload<DeliveryReceiptRequest>());          // Two resources respond with message receipts. -        foreach(const JID& senderJID, senderResource) { +        for (const auto& senderJID : senderResource) {              Message::ref receiptReply = std::make_shared<Message>();              receiptReply->setFrom(senderJID);              receiptReply->setTo(ownJID); @@ -497,7 +497,7 @@ public:          CPPUNIT_ASSERT(stanzaChannel_->getStanzaAtIndex<Message>(1)->getPayload<DeliveryReceiptRequest>());          // Two resources respond with message receipts. -        foreach(const JID& senderJID, senderResource) { +        for (const auto& senderJID : senderResource) {              Message::ref receiptReply = std::make_shared<Message>();              receiptReply->setFrom(senderJID);              receiptReply->setTo(ownJID); @@ -570,7 +570,7 @@ public:          uiEventStream_->send(std::make_shared<RequestChatUIEvent>(sender)); -        foreach(const JID& senderJID, senderResource) { +        for (const auto& senderJID : senderResource) {              // The sender supports delivery receipts.              DiscoInfo::ref disco = std::make_shared<DiscoInfo>();              disco->addFeature(DiscoInfo::MessageDeliveryReceiptsFeature); @@ -593,7 +593,7 @@ public:          CPPUNIT_ASSERT(stanzaChannel_->getStanzaAtIndex<Message>(1)->getPayload<DeliveryReceiptRequest>());          // Two resources respond with message receipts. -        foreach(const JID& senderJID, senderResource) { +        for (const auto& senderJID : senderResource) {              Message::ref reply = std::make_shared<Message>();              reply->setFrom(senderJID);              reply->setTo(ownJID); @@ -612,7 +612,7 @@ public:          CPPUNIT_ASSERT(stanzaChannel_->getStanzaAtIndex<Message>(1)->getPayload<DeliveryReceiptRequest>());          // Two resources respond with message receipts. -        foreach(const JID& senderJID, senderResource) { +        for (const auto& senderJID : senderResource) {              Message::ref receiptReply = std::make_shared<Message>();              receiptReply->setFrom(senderJID);              receiptReply->setTo(ownJID); diff --git a/Swift/Controllers/Chat/UnitTest/MUCControllerTest.cpp b/Swift/Controllers/Chat/UnitTest/MUCControllerTest.cpp index 1142c98..32639f6 100644 --- a/Swift/Controllers/Chat/UnitTest/MUCControllerTest.cpp +++ b/Swift/Controllers/Chat/UnitTest/MUCControllerTest.cpp @@ -11,7 +11,6 @@  #include <hippomocks.h>  #include <Swiften/Avatars/NullAvatarManager.h> -#include <Swiften/Base/foreach.h>  #include <Swiften/Client/ClientBlockListManager.h>  #include <Swiften/Client/DummyStanzaChannel.h>  #include <Swiften/Client/NickResolver.h> @@ -371,8 +370,7 @@ public:          occupants.insert(occupant_map::value_type("Ernie", MUCOccupant("Ernie", MUCOccupant::Participant, MUCOccupant::Owner)));          /* populate the MUC with fake users */ -        typedef const std::pair<std::string,MUCOccupant> occupantIterator; -        foreach(occupantIterator &occupant, occupants) { +        for (auto&& occupant : occupants) {              muc_->insertOccupant(occupant.second);          } @@ -387,7 +385,7 @@ public:          alterations.push_back(MUCOccupant("Remko", MUCOccupant::NoRole, MUCOccupant::NoAffiliation));          alterations.push_back(MUCOccupant("Ernie", MUCOccupant::Visitor, MUCOccupant::Outcast)); -        foreach(const MUCOccupant& alteration, alterations) { +        for (const auto& alteration : alterations) {              /* perform an alteration to a user's role and affiliation */              occupant_map::iterator occupant = occupants.find(alteration.getNick());              CPPUNIT_ASSERT(occupant != occupants.end()); @@ -506,10 +504,10 @@ public:      void testRoleAffiliationStatesVerify(const std::map<std::string, MUCOccupant> &occupants) {          /* verify that the roster is in sync */          GroupRosterItem* group = window_->getRosterModel()->getRoot(); -        foreach(RosterItem* rosterItem, group->getChildren()) { +        for (auto rosterItem : group->getChildren()) {              GroupRosterItem* child = dynamic_cast<GroupRosterItem*>(rosterItem);              CPPUNIT_ASSERT(child); -            foreach(RosterItem* childItem, child->getChildren()) { +            for (auto childItem : child->getChildren()) {                  ContactRosterItem* item = dynamic_cast<ContactRosterItem*>(childItem);                  CPPUNIT_ASSERT(item);                  std::map<std::string, MUCOccupant>::const_iterator occupant = occupants.find(item->getJID().getResource()); diff --git a/Swift/Controllers/Chat/UserSearchController.cpp b/Swift/Controllers/Chat/UserSearchController.cpp index 305049f..91e0dea 100644 --- a/Swift/Controllers/Chat/UserSearchController.cpp +++ b/Swift/Controllers/Chat/UserSearchController.cpp @@ -12,7 +12,6 @@  #include <Swiften/Avatars/AvatarManager.h>  #include <Swiften/Base/String.h> -#include <Swiften/Base/foreach.h>  #include <Swiften/Disco/DiscoServiceWalker.h>  #include <Swiften/Disco/GetDiscoInfoRequest.h>  #include <Swiften/Disco/GetDiscoItemsRequest.h> @@ -143,7 +142,8 @@ void UserSearchController::endDiscoWalker() {  void UserSearchController::handleDiscoServiceFound(const JID& jid, std::shared_ptr<DiscoInfo> info) {      //bool isUserDirectory = false;      bool supports55 = false; -    foreach (DiscoInfo::Identity identity, info->getIdentities()) { +    // TODO: Cleanup code +    for (const auto& identity : info->getIdentities()) {          if ((identity.getCategory() == "directory"              && identity.getType() == "user")) {              //isUserDirectory = true; @@ -186,7 +186,7 @@ void UserSearchController::handleSearchResponse(std::shared_ptr<SearchPayload> r      if (resultsPayload->getForm()) {          window_->setResultsForm(resultsPayload->getForm());      } else { -        foreach (SearchPayload::Item item, resultsPayload->getItems()) { +        for (auto&& item : resultsPayload->getItems()) {              JID jid(item.jid);              std::map<std::string, std::string> fields;              fields["first"] = item.first; @@ -232,7 +232,7 @@ void UserSearchController::handleContactSuggestionsRequested(std::string text) {      std::vector<Contact::ref>::iterator i = suggestions.begin();      while (i != suggestions.end()) {          bool found = false; -        foreach (const JID& jid, existingJIDs) { +        for (const auto& jid : existingJIDs) {              if ((*i)->jid == jid) {                  found = true;                  break; @@ -274,7 +274,7 @@ void UserSearchController::handlePresenceChanged(Presence::ref presence) {  void UserSearchController::handleJIDUpdateRequested(const std::vector<JID>& jids) {      if (window_) {          std::vector<Contact::ref> updates; -        foreach(const JID& jid, jids) { +        for (const auto& jid : jids) {              updates.push_back(convertJIDtoContact(jid));          }          window_->updateContacts(updates); @@ -283,7 +283,7 @@ void UserSearchController::handleJIDUpdateRequested(const std::vector<JID>& jids  void UserSearchController::handleJIDAddRequested(const std::vector<JID>& jids) {      std::vector<Contact::ref> contacts; -    foreach(const JID& jid, jids) { +    for (const auto& jid : jids) {          contacts.push_back(convertJIDtoContact(jid));      }      window_->addContacts(contacts); @@ -358,7 +358,7 @@ void UserSearchController::initializeUserWindow() {  void UserSearchController::loadSavedDirectories() {      savedDirectories_.clear(); -    foreach (std::string stringItem, String::split(settings_->getStringSetting(SEARCHED_DIRECTORIES), '\n')) { +    for (auto&& stringItem : String::split(settings_->getStringSetting(SEARCHED_DIRECTORIES), '\n')) {          if(!stringItem.empty()) {              savedDirectories_.push_back(JID(stringItem));          } @@ -375,7 +375,7 @@ void UserSearchController::addToSavedDirectories(const JID& jid) {      std::string collapsed;      int i = 0; -    foreach (JID jidItem, savedDirectories_) { +    for (const auto& jidItem : savedDirectories_) {          if (i >= 15) {              break;          } diff --git a/Swift/Controllers/ChatMessageSummarizer.cpp b/Swift/Controllers/ChatMessageSummarizer.cpp index 6b630e7..ac3d896 100644 --- a/Swift/Controllers/ChatMessageSummarizer.cpp +++ b/Swift/Controllers/ChatMessageSummarizer.cpp @@ -6,7 +6,6 @@  #include <Swift/Controllers/ChatMessageSummarizer.h> -#include <Swiften/Base/foreach.h>  #include <Swiften/Base/format.h>  #include <Swift/Controllers/Intl.h> @@ -18,7 +17,7 @@ string ChatMessageSummarizer::getSummary(const string& current, const vector<Unr      vector<UnreadPair> others;      int currentUnread = 0;      int otherCount = 0; -    foreach (UnreadPair unread, unreads) { +    for (const auto& unread : unreads) {          if (unread.first == current) {              currentUnread += unread.second;          } else { diff --git a/Swift/Controllers/ContactSuggester.cpp b/Swift/Controllers/ContactSuggester.cpp index 8a3a6fa..eb27ed4 100644 --- a/Swift/Controllers/ContactSuggester.cpp +++ b/Swift/Controllers/ContactSuggester.cpp @@ -23,7 +23,6 @@  #include <boost/lambda/lambda.hpp>  #include <Swiften/Base/Algorithm.h> -#include <Swiften/Base/foreach.h>  #include <Swiften/JID/JID.h>  #include <Swift/Controllers/ContactProvider.h> @@ -55,7 +54,7 @@ bool ContactSuggester::matchContact(const std::string& search, const Contact::re  std::vector<Contact::ref> ContactSuggester::getSuggestions(const std::string& search, bool withMUCNicks) const {      std::vector<Contact::ref> results; -    foreach(ContactProvider* provider, contactProviders_) { +    for (auto provider : contactProviders_) {          append(results, provider->getContacts(withMUCNicks));      } diff --git a/Swift/Controllers/ContactsFromXMPPRoster.cpp b/Swift/Controllers/ContactsFromXMPPRoster.cpp index e3c5d97..1d1ccd4 100644 --- a/Swift/Controllers/ContactsFromXMPPRoster.cpp +++ b/Swift/Controllers/ContactsFromXMPPRoster.cpp @@ -13,7 +13,6 @@  #include <Swift/Controllers/ContactsFromXMPPRoster.h>  #include <Swiften/Avatars/AvatarManager.h> -#include <Swiften/Base/foreach.h>  #include <Swiften/Presence/PresenceOracle.h>  #include <Swiften/Roster/XMPPRoster.h>  #include <Swiften/Roster/XMPPRosterItem.h> @@ -29,7 +28,7 @@ ContactsFromXMPPRoster::~ContactsFromXMPPRoster() {  std::vector<Contact::ref> ContactsFromXMPPRoster::getContacts(bool /*withMUCNicks*/) {      std::vector<Contact::ref> results;      std::vector<XMPPRosterItem> rosterItems = roster_->getItems(); -    foreach(const XMPPRosterItem& rosterItem, rosterItems) { +    for (const auto& rosterItem : rosterItems) {          Contact::ref contact = std::make_shared<Contact>(rosterItem.getName().empty() ? rosterItem.getJID().toString() : rosterItem.getName(), rosterItem.getJID(), StatusShow::None,"");          contact->statusType = presenceOracle_->getAccountPresence(contact->jid) ? presenceOracle_->getAccountPresence(contact->jid)->getShow() : StatusShow::None;          contact->avatarPath = avatarManager_->getAvatarPath(contact->jid); diff --git a/Swift/Controllers/FileTransfer/FileTransferOverview.cpp b/Swift/Controllers/FileTransfer/FileTransferOverview.cpp index af2831c..fcc35e4 100644 --- a/Swift/Controllers/FileTransfer/FileTransferOverview.cpp +++ b/Swift/Controllers/FileTransfer/FileTransferOverview.cpp @@ -17,7 +17,6 @@  #include <boost/signals2.hpp>  #include <Swiften/Base/Log.h> -#include <Swiften/Base/foreach.h>  #include <Swiften/FileTransfer/FileTransferManager.h>  namespace Swift { @@ -30,7 +29,7 @@ FileTransferOverview::FileTransferOverview(FileTransferManager* ftm) : fileTrans  FileTransferOverview::~FileTransferOverview() {      onNewFileTransferController.disconnect(boost::bind(&FileTransferOverview::handleNewFileTransferController, this, _1));      fileTransferManager->onIncomingFileTransfer.disconnect(boost::bind(&FileTransferOverview::handleIncomingFileTransfer, this, _1)); -    foreach(FileTransferController* controller, fileTransfers) { +    for (auto controller : fileTransfers) {          controller->onStateChanged.disconnect(boost::bind(&FileTransferOverview::handleFileTransferStateChanged, this));      }  } @@ -78,7 +77,7 @@ void FileTransferOverview::clearFinished() {  bool FileTransferOverview::isClearable() const {      bool isClearable = false; -    foreach (FileTransferController* controller, fileTransfers) { +    for (auto controller : fileTransfers) {          if(controller->getState().type == FileTransfer::State::Finished              || controller->getState().type == FileTransfer::State::Failed              || controller->getState().type == FileTransfer::State::Canceled) { diff --git a/Swift/Controllers/HighlightManager.cpp b/Swift/Controllers/HighlightManager.cpp index 2afaf49..9176301 100644 --- a/Swift/Controllers/HighlightManager.cpp +++ b/Swift/Controllers/HighlightManager.cpp @@ -23,8 +23,6 @@  #include <boost/regex.hpp>  #include <boost/serialization/vector.hpp> -#include <Swiften/Base/foreach.h> -  #include <Swift/Controllers/Highlighter.h>  #include <Swift/Controllers/SettingConstants.h>  #include <Swift/Controllers/Settings/SettingsProvider.h> diff --git a/Swift/Controllers/HighlightRule.cpp b/Swift/Controllers/HighlightRule.cpp index 86ac5f7..a8cb7e4 100644 --- a/Swift/Controllers/HighlightRule.cpp +++ b/Swift/Controllers/HighlightRule.cpp @@ -5,7 +5,7 @@   */  /* - * Copyright (c) 2014-2015 Isode Limited. + * Copyright (c) 2014-2016 Isode Limited.   * All rights reserved.   * See the COPYING file for more information.   */ @@ -18,7 +18,6 @@  #include <boost/lambda/lambda.hpp>  #include <Swiften/Base/Regex.h> -#include <Swiften/Base/foreach.h>  namespace Swift { @@ -45,11 +44,11 @@ boost::regex HighlightRule::regexFromString(const std::string & s) const  void HighlightRule::updateRegex() const  {      keywordRegex_.clear(); -    foreach (const std::string & k, keywords_) { +    for (const auto& k : keywords_) {          keywordRegex_.push_back(regexFromString(k));      }      senderRegex_.clear(); -    foreach (const std::string & s, senders_) { +    for (const auto& s : senders_) {          senderRegex_.push_back(regexFromString(s));      }  } @@ -79,7 +78,7 @@ bool HighlightRule::isMatch(const std::string& body, const std::string& sender,              // check if a keyword matches              if (!matchesKeyword && !keywords_.empty()) { -                foreach (const boost::regex &keyword, keywordRegex_) { +                for (const auto& keyword : keywordRegex_) {                      if (boost::regex_search(body, keyword)) {                          matchesKeyword = true;                          break; @@ -88,7 +87,7 @@ bool HighlightRule::isMatch(const std::string& body, const std::string& sender,              }          } -        foreach (const boost::regex & rx, senderRegex_) { +        for (const auto& rx : senderRegex_) {              if (boost::regex_search(sender, rx)) {                  matchesSender = true;                  break; diff --git a/Swift/Controllers/Highlighter.cpp b/Swift/Controllers/Highlighter.cpp index 3499217..cea077e 100644 --- a/Swift/Controllers/Highlighter.cpp +++ b/Swift/Controllers/Highlighter.cpp @@ -12,8 +12,6 @@  #include <Swift/Controllers/Highlighter.h> -#include <Swiften/Base/foreach.h> -  #include <Swift/Controllers/HighlightManager.h>  namespace Swift { diff --git a/Swift/Controllers/HistoryViewController.cpp b/Swift/Controllers/HistoryViewController.cpp index d66b2b2..669b002 100644 --- a/Swift/Controllers/HistoryViewController.cpp +++ b/Swift/Controllers/HistoryViewController.cpp @@ -12,9 +12,10 @@  #include <Swift/Controllers/HistoryViewController.h> +#include <boost/range/adaptor/reversed.hpp> +  #include <Swiften/Avatars/AvatarManager.h>  #include <Swiften/Base/Path.h> -#include <Swiften/Base/foreach.h>  #include <Swiften/Client/NickResolver.h>  #include <Swiften/History/HistoryMessage.h> @@ -124,7 +125,7 @@ void HistoryViewController::handleSelectedContactChanged(RosterItem* newContact)      historyWindow_->setDate(currentResultDate_); -    foreach (const HistoryMessage& message, messages) { +    for (const auto& message : messages) {          addNewMessage(message, false);      }  } @@ -203,7 +204,7 @@ void HistoryViewController::handleScrollReachedTop(const boost::gregorian::date&      std::vector<HistoryMessage> messages = historyController_->getMessagesFromPreviousDate(selfJID_, selectedItem_->getJID(), selectedItemType_, date); -    foreach (const HistoryMessage& message, messages) { +    for (const auto& message : messages) {          addNewMessage(message, true);      }      historyWindow_->resetConversationViewTopInsertPoint(); @@ -216,7 +217,7 @@ void HistoryViewController::handleScrollReachedBottom(const boost::gregorian::da      std::vector<HistoryMessage> messages = historyController_->getMessagesFromNextDate(selfJID_, selectedItem_->getJID(), selectedItemType_, date); -    foreach (const HistoryMessage& message, messages) { +    for (const auto& message : messages) {          addNewMessage(message, false);      }  } @@ -237,7 +238,7 @@ void HistoryViewController::handleNextButtonClicked() {      std::vector<HistoryMessage> messages = historyController_->getMessagesFromDate(selfJID_, selectedItem_->getJID(), selectedItemType_, currentResultDate_);      historyWindow_->setDate(currentResultDate_); -    foreach (const HistoryMessage& message, messages) { +    for (const auto& message : messages) {          addNewMessage(message, false);      }  } @@ -258,7 +259,7 @@ void HistoryViewController::handlePreviousButtonClicked() {      std::vector<HistoryMessage> messages = historyController_->getMessagesFromDate(selfJID_, selectedItem_->getJID(), selectedItemType_, currentResultDate_);      historyWindow_->setDate(currentResultDate_); -    foreach (const HistoryMessage& message, messages) { +    for (const auto& message : messages) {          addNewMessage(message, false);      }  } @@ -280,7 +281,7 @@ void HistoryViewController::handleCalendarClicked(const boost::gregorian::date&          newDate = date;      }      else if (date < currentResultDate_) { -        foreach(const boost::gregorian::date& current, contacts_[selectedItemType_][selectedItem_->getJID()]) { +        for (const auto& current : contacts_[selectedItemType_][selectedItem_->getJID()]) {              if (current > date) {                  newDate = current;                  break; @@ -288,7 +289,7 @@ void HistoryViewController::handleCalendarClicked(const boost::gregorian::date&          }      }      else { -        reverse_foreach(const boost::gregorian::date& current, contacts_[selectedItemType_][selectedItem_->getJID()]) { +        for (const auto& current : boost::adaptors::reverse(contacts_[selectedItemType_][selectedItem_->getJID()])) {              if (current < date) {                  newDate = current;                  break; @@ -306,7 +307,7 @@ void HistoryViewController::handleCalendarClicked(const boost::gregorian::date&      std::vector<HistoryMessage> messages = historyController_->getMessagesFromDate(selfJID_, selectedItem_->getJID(), selectedItemType_, currentResultDate_);      historyWindow_->setDate(currentResultDate_); -    foreach (const HistoryMessage& message, messages) { +    for (const auto& message : messages) {          addNewMessage(message, false);      }  } @@ -347,7 +348,7 @@ Presence::ref HistoryViewController::getPresence(const JID& jid, bool isMUC) {          return presence;      } -    foreach (Presence::ref presence, mucPresence) { +    for (auto&& presence : mucPresence) {          if (presence.get() && presence->getFrom() == jid) {              return presence;          } diff --git a/Swift/Controllers/PreviousStatusStore.cpp b/Swift/Controllers/PreviousStatusStore.cpp index 4806f9c..0b2d437 100644 --- a/Swift/Controllers/PreviousStatusStore.cpp +++ b/Swift/Controllers/PreviousStatusStore.cpp @@ -6,8 +6,6 @@  #include <Swift/Controllers/PreviousStatusStore.h> -#include <Swiften/Base/foreach.h> -  namespace Swift {  PreviousStatusStore::PreviousStatusStore() { @@ -31,7 +29,7 @@ std::vector<TypeStringPair> PreviousStatusStore::exactMatchSuggestions(StatusSho  std::vector<TypeStringPair> PreviousStatusStore::getSuggestions(const std::string& message) {      std::vector<TypeStringPair> suggestions; -    foreach (TypeStringPair status, store_) { +    for (auto&& status : store_) {          if (status.second == message) {              suggestions.clear();              suggestions.push_back(status); diff --git a/Swift/Controllers/PreviousStatusStore.h b/Swift/Controllers/PreviousStatusStore.h index eb1fb59..b106445 100644 --- a/Swift/Controllers/PreviousStatusStore.h +++ b/Swift/Controllers/PreviousStatusStore.h @@ -14,6 +14,7 @@  namespace Swift {      typedef std::pair<StatusShow::Type, std::string> TypeStringPair; +      class PreviousStatusStore {          public:              PreviousStatusStore(); diff --git a/Swift/Controllers/ProfileSettingsProvider.cpp b/Swift/Controllers/ProfileSettingsProvider.cpp index bb186fc..b979555 100644 --- a/Swift/Controllers/ProfileSettingsProvider.cpp +++ b/Swift/Controllers/ProfileSettingsProvider.cpp @@ -6,13 +6,15 @@  #include <Swift/Controllers/ProfileSettingsProvider.h> +#include <Swift/Controllers/Settings/SettingsProvider.h> +  namespace Swift {  ProfileSettingsProvider::ProfileSettingsProvider(const std::string& profile, SettingsProvider* provider) :      profile_(profile) {      provider_ = provider;      bool found = false; -    foreach (std::string existingProfile, provider->getAvailableProfiles()) { +    for (const auto& existingProfile : provider->getAvailableProfiles()) {          if (existingProfile == profile) {              found = true;          } diff --git a/Swift/Controllers/ProfileSettingsProvider.h b/Swift/Controllers/ProfileSettingsProvider.h index f3c3156..e309c11 100644 --- a/Swift/Controllers/ProfileSettingsProvider.h +++ b/Swift/Controllers/ProfileSettingsProvider.h @@ -1,17 +1,17 @@  /* - * Copyright (c) 2010-2015 Isode Limited. + * Copyright (c) 2010-2016 Isode Limited.   * All rights reserved.   * See the COPYING file for more information.   */  #pragma once -#include <Swiften/Base/foreach.h> - -#include <Swift/Controllers/Settings/SettingsProvider.h> +#include <string>  namespace Swift { +class SettingsProvider; +  class ProfileSettingsProvider {      public:          ProfileSettingsProvider(const std::string& profile, SettingsProvider* provider); @@ -25,6 +25,8 @@ class ProfileSettingsProvider {      private:          std::string profileSettingPath(const std::string &settingPath); + +    private:          SettingsProvider* provider_;          std::string profile_;  }; diff --git a/Swift/Controllers/Roster/ContactRosterItem.cpp b/Swift/Controllers/Roster/ContactRosterItem.cpp index 71c5f8e..8fdf183 100644 --- a/Swift/Controllers/Roster/ContactRosterItem.cpp +++ b/Swift/Controllers/Roster/ContactRosterItem.cpp @@ -9,7 +9,6 @@  #include <boost/date_time/posix_time/posix_time.hpp>  #include <Swiften/Base/DateTime.h> -#include <Swiften/Base/foreach.h>  #include <Swiften/Elements/Idle.h>  #include <Swiften/Elements/Presence.h> diff --git a/Swift/Controllers/Roster/RosterGroupExpandinessPersister.cpp b/Swift/Controllers/Roster/RosterGroupExpandinessPersister.cpp index af89b54..0f07c0b 100644 --- a/Swift/Controllers/Roster/RosterGroupExpandinessPersister.cpp +++ b/Swift/Controllers/Roster/RosterGroupExpandinessPersister.cpp @@ -11,7 +11,6 @@  #include <boost/bind.hpp>  #include <Swiften/Base/String.h> -#include <Swiften/Base/foreach.h>  #include <Swift/Controllers/Roster/GroupRosterItem.h>  #include <Swift/Controllers/SettingConstants.h> @@ -45,7 +44,7 @@ void RosterGroupExpandinessPersister::handleExpandedChanged(GroupRosterItem* gro  void RosterGroupExpandinessPersister::save() {      std::string setting; -    foreach (const std::string& group, collapsed_) { +    for (const auto& group : collapsed_) {          if (!setting.empty()) {              setting += "\n";          } diff --git a/Swift/Controllers/Roster/TableRoster.cpp b/Swift/Controllers/Roster/TableRoster.cpp index f164a4d..713f390 100644 --- a/Swift/Controllers/Roster/TableRoster.cpp +++ b/Swift/Controllers/Roster/TableRoster.cpp @@ -12,7 +12,6 @@  #include <boost/cast.hpp>  #include <boost/numeric/conversion/cast.hpp> -#include <Swiften/Base/foreach.h>  #include <Swiften/Network/Timer.h>  #include <Swiften/Network/TimerFactory.h> @@ -104,11 +103,11 @@ void TableRoster::handleUpdateTimerTick() {      // Get a model for the new roster      std::vector<Section> newSections;      if (model) { -        foreach(RosterItem* item, model->getRoot()->getDisplayedChildren()) { +        for (auto item : model->getRoot()->getDisplayedChildren()) {              if (GroupRosterItem* groupItem = boost::polymorphic_downcast<GroupRosterItem*>(item)) {                  //std::cerr << "* " << groupItem->getDisplayName() << std::endl;                  Section section(groupItem->getDisplayName()); -                foreach(RosterItem* groupChildItem, groupItem->getDisplayedChildren()) { +                for (auto groupChildItem : groupItem->getDisplayedChildren()) {                      if (ContactRosterItem* contact = boost::polymorphic_downcast<ContactRosterItem*>(groupChildItem)) {                          //std::cerr << "  - " << contact->getDisplayJID() << std::endl;                          section.items.push_back(Item(contact->getDisplayName(), contact->getStatusText(), contact->getDisplayJID(), contact->getStatusShow(), contact->getAvatarPath())); diff --git a/Swift/Controllers/Settings/SettingsProviderHierachy.cpp b/Swift/Controllers/Settings/SettingsProviderHierachy.cpp index 5156d14..a05fabc 100644 --- a/Swift/Controllers/Settings/SettingsProviderHierachy.cpp +++ b/Swift/Controllers/Settings/SettingsProviderHierachy.cpp @@ -1,20 +1,20 @@  /* - * Copyright (c) 2012 Isode Limited. + * Copyright (c) 2012-2016 Isode Limited.   * All rights reserved.   * See the COPYING file for more information.   */  #include <Swift/Controllers/Settings/SettingsProviderHierachy.h> -#include <Swiften/Base/foreach.h>  #include <Swiften/Base/Log.h> +  namespace Swift {  SettingsProviderHierachy::~SettingsProviderHierachy() {  }  bool SettingsProviderHierachy::hasSetting(const std::string& key) { -    foreach (SettingsProvider* provider, providers_) { +    for (auto provider : providers_) {          if (provider->hasSetting(key)) {              return true;          } @@ -24,7 +24,7 @@ bool SettingsProviderHierachy::hasSetting(const std::string& key) {  std::string SettingsProviderHierachy::getSetting(const Setting<std::string>& setting) {      std::string value = setting.getDefaultValue(); -    foreach (SettingsProvider* provider, providers_) { +    for (auto provider : providers_) {          std::string providerSetting = provider->getSetting(setting);          if (provider->hasSetting(setting.getKey())) {              value = providerSetting; @@ -44,7 +44,7 @@ void SettingsProviderHierachy::storeSetting(const Setting<std::string>& setting,  bool SettingsProviderHierachy::getSetting(const Setting<bool>& setting) {      bool value = setting.getDefaultValue(); -    foreach (SettingsProvider* provider, providers_) { +    for (auto provider : providers_) {          bool providerSetting = provider->getSetting(setting);          if (provider->hasSetting(setting.getKey())) {              value = providerSetting; @@ -64,7 +64,7 @@ void SettingsProviderHierachy::storeSetting(const Setting<bool>& setting, const  int SettingsProviderHierachy::getSetting(const Setting<int>& setting) {      int value = setting.getDefaultValue(); -    foreach (SettingsProvider* provider, providers_) { +    for (auto provider : providers_) {          int providerSetting = provider->getSetting(setting);          if (provider->hasSetting(setting.getKey())) {              value = providerSetting; @@ -97,7 +97,7 @@ void SettingsProviderHierachy::removeProfile(const std::string& profile) {  bool SettingsProviderHierachy::getIsSettingFinal(const std::string& settingPath) {      bool isFinal = false; -    foreach (SettingsProvider* provider, providers_) { +    for (auto provider : providers_) {          isFinal |= provider->getIsSettingFinal(settingPath);      }      return isFinal; diff --git a/Swift/Controllers/ShowProfileController.cpp b/Swift/Controllers/ShowProfileController.cpp index add6e73..b379141 100644 --- a/Swift/Controllers/ShowProfileController.cpp +++ b/Swift/Controllers/ShowProfileController.cpp @@ -15,7 +15,6 @@  #include <boost/bind.hpp>  #include <boost/date_time/posix_time/posix_time.hpp> -#include <Swiften/Base/foreach.h>  #include <Swiften/VCards/VCardManager.h>  #include <Swift/Controllers/UIEvents/ShowProfileForRosterItemUIEvent.h> @@ -30,8 +29,7 @@ ShowProfileController::ShowProfileController(VCardManager* vcardManager, Profile  }  ShowProfileController::~ShowProfileController() { -    typedef std::pair<JID, ProfileWindow*> JIDProfileWindowPair; -    foreach(const JIDProfileWindowPair& jidWndPair, openedProfileWindows) { +    for (const auto& jidWndPair : openedProfileWindows) {          jidWndPair.second->onWindowAboutToBeClosed.disconnect(boost::bind(&ShowProfileController::handleProfileWindowAboutToBeClosed, this, _1));          delete jidWndPair.second;      } diff --git a/Swift/Controllers/Storages/AvatarFileStorage.cpp b/Swift/Controllers/Storages/AvatarFileStorage.cpp index cded945..a103920 100644 --- a/Swift/Controllers/Storages/AvatarFileStorage.cpp +++ b/Swift/Controllers/Storages/AvatarFileStorage.cpp @@ -12,7 +12,6 @@  #include <boost/filesystem/fstream.hpp>  #include <Swiften/Base/String.h> -#include <Swiften/Base/foreach.h>  #include <Swiften/Crypto/CryptoProvider.h>  #include <Swiften/StringCodecs/Hexify.h> diff --git a/Swift/Controllers/Storages/CertificateMemoryStorage.cpp b/Swift/Controllers/Storages/CertificateMemoryStorage.cpp index 08c6ee7..545ca65 100644 --- a/Swift/Controllers/Storages/CertificateMemoryStorage.cpp +++ b/Swift/Controllers/Storages/CertificateMemoryStorage.cpp @@ -1,20 +1,18 @@  /* - * Copyright (c) 2011 Isode Limited. + * Copyright (c) 2011-2016 Isode Limited.   * All rights reserved.   * See the COPYING file for more information.   */  #include <Swift/Controllers/Storages/CertificateMemoryStorage.h> -#include <Swiften/Base/foreach.h> -  using namespace Swift;  CertificateMemoryStorage::CertificateMemoryStorage() {  }  bool CertificateMemoryStorage::hasCertificate(Certificate::ref certificate) const { -    foreach(Certificate::ref storedCert, certificates) { +    for (auto&& storedCert : certificates) {          if (storedCert->toDER() == certificate->toDER()) {              return true;          } diff --git a/Swift/Controllers/Storages/VCardFileStorage.cpp b/Swift/Controllers/Storages/VCardFileStorage.cpp index dbb6799..2fdadf6 100644 --- a/Swift/Controllers/Storages/VCardFileStorage.cpp +++ b/Swift/Controllers/Storages/VCardFileStorage.cpp @@ -13,7 +13,6 @@  #include <Swiften/Base/Path.h>  #include <Swiften/Base/String.h> -#include <Swiften/Base/foreach.h>  #include <Swiften/Crypto/CryptoProvider.h>  #include <Swiften/Elements/VCard.h>  #include <Swiften/Entity/GenericPayloadPersister.h> diff --git a/Swift/Controllers/UIInterfaces/ChatListWindow.h b/Swift/Controllers/UIInterfaces/ChatListWindow.h index c84d130..dde596e 100644 --- a/Swift/Controllers/UIInterfaces/ChatListWindow.h +++ b/Swift/Controllers/UIInterfaces/ChatListWindow.h @@ -14,7 +14,6 @@  #include <boost/filesystem/path.hpp>  #include <boost/signals2.hpp> -#include <Swiften/Base/foreach.h>  #include <Swiften/Elements/StatusShow.h>  #include <Swiften/MUC/MUCBookmark.h> @@ -31,11 +30,11 @@ namespace Swift {                          if (impromptuJIDs.empty()) {                              return jid.toBare() == other.jid.toBare()                                      && isMUC == other.isMUC; -                        } else { /* compare the chat occupant lists */ -                            typedef std::map<std::string, JID> JIDMap; -                            foreach (const JIDMap::value_type& jid, impromptuJIDs) { +                        } +                        else { /* compare the chat occupant lists */ +                            for (const auto& jid : impromptuJIDs) {                                  bool found = false; -                                foreach (const JIDMap::value_type& otherJID, other.impromptuJIDs) { +                                for (const auto& otherJID : other.impromptuJIDs) {                                      if (jid.second.toBare() == otherJID.second.toBare()) {                                          found = true;                                          break; @@ -58,9 +57,8 @@ namespace Swift {                          avatarPath = path;                      }                      std::string getImpromptuTitle() const { -                        typedef std::pair<std::string, JID> StringJIDPair;                          std::string title; -                        foreach(StringJIDPair pair, impromptuJIDs) { +                        for (auto& pair : impromptuJIDs) {                              if (title.empty()) {                                  title += pair.first;                              } else { diff --git a/Swift/Controllers/UnitTest/ContactSuggesterTest.cpp b/Swift/Controllers/UnitTest/ContactSuggesterTest.cpp index 217a2f0..6ac51b2 100644 --- a/Swift/Controllers/UnitTest/ContactSuggesterTest.cpp +++ b/Swift/Controllers/UnitTest/ContactSuggesterTest.cpp @@ -12,8 +12,6 @@  #include <cppunit/extensions/HelperMacros.h>  #include <cppunit/extensions/TestFactoryRegistry.h> -#include <Swiften/Base/foreach.h> -  #include <Swift/Controllers/ContactSuggester.h>  using namespace Swift; @@ -55,9 +53,9 @@ public:          std::vector<Contact::ref> contacts;          std::vector<std::string> words = wordList();          std::vector<StatusShow::Type> statuses = statusList(); -        foreach (const std::string& name, words) { -            foreach (const std::string& jid, words) { -                foreach (const StatusShow::Type& status, statuses) { +        for (const auto& name : words) { +            for (const auto& jid : words) { +                for (const auto& status : statuses) {                      contacts.push_back(std::make_shared<Contact>(name, jid, status, ""));                  }              } @@ -68,7 +66,7 @@ public:      /* a = a */      bool isReflexive(const boost::function<bool (const Contact::ref&, const Contact::ref&)>& comparitor) {          std::vector<Contact::ref> contacts = contactList(); -        foreach (const Contact::ref& a, contacts) { +        for (const auto& a : contacts) {              if (!comparitor(a, a)) {                  return false;              } @@ -79,8 +77,8 @@ public:      /* a = b -> b = a */      bool isSymmetric(const boost::function<bool (const Contact::ref&, const Contact::ref&)>& comparitor) {          std::vector<Contact::ref> contacts = contactList(); -        foreach (const Contact::ref& a, contacts) { -            foreach (const Contact::ref& b, contacts) { +        for (const auto& a : contacts) { +            for (const auto& b : contacts) {                  if (comparitor(a, b)) {                      if (!comparitor(b, a)) {                          return false; @@ -94,9 +92,9 @@ public:      /* a = b && b = c -> a = c */      bool isTransitive(const boost::function<bool (const Contact::ref&, const Contact::ref&)>& comparitor) {          std::vector<Contact::ref> contacts = contactList(); -        foreach (const Contact::ref& a, contacts) { -            foreach (const Contact::ref& b, contacts) { -                foreach (const Contact::ref& c, contacts) { +        for (const auto& a : contacts) { +            for (const auto& b : contacts) { +                for (const auto& c : contacts) {                      if (comparitor(a, b) && comparitor(b, c)) {                          if (!comparitor(a, c)) {                              return false; @@ -120,7 +118,7 @@ public:      void sortTest() {          std::vector<std::string> words = wordList(); -        foreach (const std::string& word, words) { +        for (const auto& word : words) {              CPPUNIT_ASSERT(isTransitive(boost::bind(Contact::sortPredicate, _1, _2, word)));          }      } diff --git a/Swift/Controllers/WhiteboardManager.cpp b/Swift/Controllers/WhiteboardManager.cpp index fab5380..37fe8e3 100644 --- a/Swift/Controllers/WhiteboardManager.cpp +++ b/Swift/Controllers/WhiteboardManager.cpp @@ -14,7 +14,6 @@  #include <boost/bind.hpp> -#include <Swiften/Base/foreach.h>  #include <Swiften/Client/NickResolver.h>  #include <Swiften/Client/StanzaChannel.h>  #include <Swiften/Whiteboard/WhiteboardSessionManager.h> @@ -25,8 +24,6 @@  #include <Swift/Controllers/UIEvents/ShowWhiteboardUIEvent.h>  namespace Swift { -    typedef std::pair<JID, WhiteboardWindow*> JIDWhiteboardWindowPair; -      WhiteboardManager::WhiteboardManager(WhiteboardWindowFactory* whiteboardWindowFactory, UIEventStream* uiEventStream, NickResolver* nickResolver, WhiteboardSessionManager* whiteboardSessionManager) : whiteboardWindowFactory_(whiteboardWindowFactory), uiEventStream_(uiEventStream), nickResolver_(nickResolver), whiteboardSessionManager_(whiteboardSessionManager) {  #ifdef SWIFT_EXPERIMENTAL_WB @@ -36,7 +33,7 @@ namespace Swift {      }      WhiteboardManager::~WhiteboardManager() { -        foreach (JIDWhiteboardWindowPair whiteboardWindowPair, whiteboardWindows_) { +        for (auto&& whiteboardWindowPair : whiteboardWindows_) {              delete whiteboardWindowPair.second;          }      } diff --git a/Swift/Controllers/XMPPEvents/EventController.cpp b/Swift/Controllers/XMPPEvents/EventController.cpp index f0debb9..f8fb192 100644 --- a/Swift/Controllers/XMPPEvents/EventController.cpp +++ b/Swift/Controllers/XMPPEvents/EventController.cpp @@ -11,8 +11,6 @@  #include <boost/bind.hpp>  #include <boost/numeric/conversion/cast.hpp> -#include <Swiften/Base/foreach.h> -  #include <Swift/Controllers/XMPPEvents/ErrorEvent.h>  #include <Swift/Controllers/XMPPEvents/IncomingFileTransferEvent.h>  #include <Swift/Controllers/XMPPEvents/MUCInviteEvent.h> @@ -25,7 +23,7 @@ EventController::EventController() {  }  EventController::~EventController() { -    foreach(std::shared_ptr<StanzaEvent> event, events_) { +    for (auto&& event : events_) {          event->onConclusion.disconnect(boost::bind(&EventController::handleEventConcluded, this, event));      }  } @@ -40,7 +38,7 @@ void EventController::handleIncomingEvent(std::shared_ptr<StanzaEvent> sourceEve      /* If it's a duplicate subscription request, remove the previous request first */      if (subscriptionEvent) {          EventList existingEvents(events_); -        foreach(std::shared_ptr<StanzaEvent> existingEvent, existingEvents) { +        for (auto&& existingEvent : existingEvents) {              std::shared_ptr<SubscriptionRequestEvent> existingSubscriptionEvent = std::dynamic_pointer_cast<SubscriptionRequestEvent>(existingEvent);              if (existingSubscriptionEvent) {                  if (existingSubscriptionEvent->getJID() == subscriptionEvent->getJID()) { | 
 Swift
 Swift