diff options
author | Tobias Markmann <tm@ayena.de> | 2016-03-31 14:57:35 (GMT) |
---|---|---|
committer | Tobias Markmann <tm@ayena.de> | 2016-03-31 14:57:35 (GMT) |
commit | cfbdb43d2cadd40aa87338d41548e4bf89e146e6 (patch) | |
tree | 18d94153a302445196fc0c18586abf44a1ce4a38 /Swiften/VCards | |
parent | 1d545a4a7fb877f021508094b88c1f17b30d8b4e (diff) | |
download | swift-cfbdb43d2cadd40aa87338d41548e4bf89e146e6.zip swift-cfbdb43d2cadd40aa87338d41548e4bf89e146e6.tar.bz2 |
Convert tabs to 4 spaces for all source files
Removed trailing spaces and whitespace on empty lines
in the process.
Changed CheckTabs.py tool to disallow hard tabs in source
files.
Test-Information:
Manually checked 30 random files that the conversion worked
as expected.
Change-Id: I874f99d617bd3d2bb55f02d58f22f58f9b094480
Diffstat (limited to 'Swiften/VCards')
-rw-r--r-- | Swiften/VCards/GetVCardRequest.h | 20 | ||||
-rw-r--r-- | Swiften/VCards/SetVCardRequest.h | 20 | ||||
-rw-r--r-- | Swiften/VCards/UnitTest/VCardManagerTest.cpp | 366 | ||||
-rw-r--r-- | Swiften/VCards/VCardManager.cpp | 80 | ||||
-rw-r--r-- | Swiften/VCards/VCardManager.h | 76 | ||||
-rw-r--r-- | Swiften/VCards/VCardMemoryStorage.h | 68 | ||||
-rw-r--r-- | Swiften/VCards/VCardStorage.cpp | 14 | ||||
-rw-r--r-- | Swiften/VCards/VCardStorage.h | 26 |
8 files changed, 335 insertions, 335 deletions
diff --git a/Swiften/VCards/GetVCardRequest.h b/Swiften/VCards/GetVCardRequest.h index f30fd05..5d6fc17 100644 --- a/Swiften/VCards/GetVCardRequest.h +++ b/Swiften/VCards/GetVCardRequest.h @@ -11,16 +11,16 @@ #include <Swiften/Queries/GenericRequest.h> namespace Swift { - class SWIFTEN_API GetVCardRequest : public GenericRequest<VCard> { - public: - typedef boost::shared_ptr<GetVCardRequest> ref; + class SWIFTEN_API GetVCardRequest : public GenericRequest<VCard> { + public: + typedef boost::shared_ptr<GetVCardRequest> ref; - static ref create(const JID& jid, IQRouter* router) { - return ref(new GetVCardRequest(jid, router)); - } + static ref create(const JID& jid, IQRouter* router) { + return ref(new GetVCardRequest(jid, router)); + } - private: - GetVCardRequest(const JID& jid, IQRouter* router) : GenericRequest<VCard>(IQ::Get, jid, boost::shared_ptr<Payload>(new VCard()), router) { - } - }; + private: + GetVCardRequest(const JID& jid, IQRouter* router) : GenericRequest<VCard>(IQ::Get, jid, boost::shared_ptr<Payload>(new VCard()), router) { + } + }; } diff --git a/Swiften/VCards/SetVCardRequest.h b/Swiften/VCards/SetVCardRequest.h index 781e7b9..b9621ab 100644 --- a/Swiften/VCards/SetVCardRequest.h +++ b/Swiften/VCards/SetVCardRequest.h @@ -11,16 +11,16 @@ #include <Swiften/Queries/GenericRequest.h> namespace Swift { - class SWIFTEN_API SetVCardRequest : public GenericRequest<VCard> { - public: - typedef boost::shared_ptr<SetVCardRequest> ref; + class SWIFTEN_API SetVCardRequest : public GenericRequest<VCard> { + public: + typedef boost::shared_ptr<SetVCardRequest> ref; - static ref create(VCard::ref vcard, IQRouter* router) { - return ref(new SetVCardRequest(vcard, router)); - } + static ref create(VCard::ref vcard, IQRouter* router) { + return ref(new SetVCardRequest(vcard, router)); + } - private: - SetVCardRequest(VCard::ref vcard, IQRouter* router) : GenericRequest<VCard>(IQ::Set, JID(), vcard, router) { - } - }; + private: + SetVCardRequest(VCard::ref vcard, IQRouter* router) : GenericRequest<VCard>(IQ::Set, JID(), vcard, router) { + } + }; } diff --git a/Swiften/VCards/UnitTest/VCardManagerTest.cpp b/Swiften/VCards/UnitTest/VCardManagerTest.cpp index 278449b..3784c6c 100644 --- a/Swiften/VCards/UnitTest/VCardManagerTest.cpp +++ b/Swiften/VCards/UnitTest/VCardManagerTest.cpp @@ -23,189 +23,189 @@ using namespace Swift; class VCardManagerTest : public CppUnit::TestFixture { - CPPUNIT_TEST_SUITE(VCardManagerTest); - CPPUNIT_TEST(testGet_NewVCardRequestsVCard); - CPPUNIT_TEST(testGet_ExistingVCard); - CPPUNIT_TEST(testRequest_RequestsVCard); - CPPUNIT_TEST(testRequest_ReceiveEmitsNotification); - CPPUNIT_TEST(testRequest_Error); - CPPUNIT_TEST(testRequest_VCardAlreadyRequested); - CPPUNIT_TEST(testRequest_AfterPreviousRequest); - CPPUNIT_TEST(testRequestOwnVCard); - CPPUNIT_TEST(testCreateSetVCardRequest); - CPPUNIT_TEST(testCreateSetVCardRequest_Error); - CPPUNIT_TEST_SUITE_END(); - - public: - void setUp() { - changes.clear(); - ownChanges.clear(); - ownJID = JID("baz@fum.com/dum"); - crypto = boost::shared_ptr<CryptoProvider>(PlatformCryptoProvider::create()); - stanzaChannel = new DummyStanzaChannel(); - iqRouter = new IQRouter(stanzaChannel); - vcardStorage = new VCardMemoryStorage(crypto.get()); - } - - void tearDown() { - delete vcardStorage; - delete iqRouter; - delete stanzaChannel; - } - - void testGet_NewVCardRequestsVCard() { - boost::shared_ptr<VCardManager> testling = createManager(); - VCard::ref result = testling->getVCardAndRequestWhenNeeded(JID("foo@bar.com/baz")); - - CPPUNIT_ASSERT(!result); - CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(stanzaChannel->sentStanzas.size())); - CPPUNIT_ASSERT(stanzaChannel->isRequestAtIndex<VCard>(0, JID("foo@bar.com/baz"), IQ::Get)); - } - - void testGet_ExistingVCard() { - boost::shared_ptr<VCardManager> testling = createManager(); - VCard::ref vcard(new VCard()); - vcard->setFullName("Foo Bar"); - vcardStorage->setVCard(JID("foo@bar.com/baz"), vcard); - - VCard::ref result = testling->getVCardAndRequestWhenNeeded(JID("foo@bar.com/baz")); - - CPPUNIT_ASSERT_EQUAL(std::string("Foo Bar"), result->getFullName()); - CPPUNIT_ASSERT_EQUAL(0, static_cast<int>(stanzaChannel->sentStanzas.size())); - } - - void testRequest_RequestsVCard() { - boost::shared_ptr<VCardManager> testling = createManager(); - testling->requestVCard(JID("foo@bar.com/baz")); - - CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(stanzaChannel->sentStanzas.size())); - CPPUNIT_ASSERT(stanzaChannel->isRequestAtIndex<VCard>(0, JID("foo@bar.com/baz"), IQ::Get)); - } - - void testRequest_ReceiveEmitsNotification() { - boost::shared_ptr<VCardManager> testling = createManager(); - testling->requestVCard(JID("foo@bar.com/baz")); - stanzaChannel->onIQReceived(createVCardResult()); - - CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(changes.size())); - CPPUNIT_ASSERT_EQUAL(JID("foo@bar.com/baz"), changes[0].first); - CPPUNIT_ASSERT_EQUAL(std::string("Foo Bar"), changes[0].second->getFullName()); - CPPUNIT_ASSERT_EQUAL(std::string("Foo Bar"), vcardStorage->getVCard(JID("foo@bar.com/baz"))->getFullName()); - - CPPUNIT_ASSERT_EQUAL(0, static_cast<int>(ownChanges.size())); - } - - void testRequest_Error() { - boost::shared_ptr<VCardManager> testling = createManager(); - testling->requestVCard(JID("foo@bar.com/baz")); - stanzaChannel->onIQReceived(IQ::createError(JID("baz@fum.com/foo"), stanzaChannel->sentStanzas[0]->getTo(), stanzaChannel->sentStanzas[0]->getID())); - - // On error, cached vCards should not be changed. - CPPUNIT_ASSERT_EQUAL(0, static_cast<int>(changes.size())); - } - - void testRequest_VCardAlreadyRequested() { - boost::shared_ptr<VCardManager> testling = createManager(); - testling->requestVCard(JID("foo@bar.com/baz")); - VCard::ref result = testling->getVCardAndRequestWhenNeeded(JID("foo@bar.com/baz")); - - CPPUNIT_ASSERT(!result); - CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(stanzaChannel->sentStanzas.size())); - } - - void testRequest_AfterPreviousRequest() { - boost::shared_ptr<VCardManager> testling = createManager(); - testling->requestVCard(JID("foo@bar.com/baz")); - stanzaChannel->onIQReceived(createVCardResult()); - testling->requestVCard(JID("foo@bar.com/baz")); - - CPPUNIT_ASSERT_EQUAL(2, static_cast<int>(stanzaChannel->sentStanzas.size())); - CPPUNIT_ASSERT(stanzaChannel->isRequestAtIndex<VCard>(1, JID("foo@bar.com/baz"), IQ::Get)); - } - - void testRequestOwnVCard() { - boost::shared_ptr<VCardManager> testling = createManager(); - testling->requestVCard(ownJID); - stanzaChannel->onIQReceived(createOwnVCardResult()); - - CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(stanzaChannel->sentStanzas.size())); - CPPUNIT_ASSERT(stanzaChannel->isRequestAtIndex<VCard>(0, JID(), IQ::Get)); - CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(changes.size())); - CPPUNIT_ASSERT_EQUAL(ownJID.toBare(), changes[0].first); - CPPUNIT_ASSERT_EQUAL(std::string("Myself"), changes[0].second->getFullName()); - CPPUNIT_ASSERT_EQUAL(std::string("Myself"), vcardStorage->getVCard(ownJID.toBare())->getFullName()); - - CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(ownChanges.size())); - CPPUNIT_ASSERT_EQUAL(std::string("Myself"), ownChanges[0]->getFullName()); - } - - void testCreateSetVCardRequest() { - boost::shared_ptr<VCardManager> testling = createManager(); - VCard::ref vcard = boost::make_shared<VCard>(); - vcard->setFullName("New Name"); - SetVCardRequest::ref request = testling->createSetVCardRequest(vcard); - request->send(); - - stanzaChannel->onIQReceived(createSetVCardResult()); - - CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(changes.size())); - CPPUNIT_ASSERT_EQUAL(ownJID.toBare(), changes[0].first); - CPPUNIT_ASSERT_EQUAL(std::string("New Name"), changes[0].second->getFullName()); - } - - void testCreateSetVCardRequest_Error() { - boost::shared_ptr<VCardManager> testling = createManager(); - VCard::ref vcard = boost::make_shared<VCard>(); - vcard->setFullName("New Name"); - SetVCardRequest::ref request = testling->createSetVCardRequest(vcard); - request->send(); - - stanzaChannel->onIQReceived(IQ::createError(JID("baz@fum.com/foo"), stanzaChannel->sentStanzas[0]->getID())); - - CPPUNIT_ASSERT_EQUAL(0, static_cast<int>(changes.size())); - } - - private: - boost::shared_ptr<VCardManager> createManager() { - boost::shared_ptr<VCardManager> manager(new VCardManager(ownJID, iqRouter, vcardStorage)); - manager->onVCardChanged.connect(boost::bind(&VCardManagerTest::handleVCardChanged, this, _1, _2)); - manager->onOwnVCardChanged.connect(boost::bind(&VCardManagerTest::handleOwnVCardChanged, this, _1)); - return manager; - } - - void handleVCardChanged(const JID& jid, VCard::ref vcard) { - changes.push_back(std::pair<JID, VCard::ref>(jid, vcard)); - } - - void handleOwnVCardChanged(VCard::ref vcard) { - ownChanges.push_back(vcard); - } - - IQ::ref createVCardResult() { - VCard::ref vcard(new VCard()); - vcard->setFullName("Foo Bar"); - return IQ::createResult(JID("baz@fum.com/dum"), stanzaChannel->sentStanzas[0]->getTo(), stanzaChannel->sentStanzas[0]->getID(), vcard); - } - - IQ::ref createOwnVCardResult() { - VCard::ref vcard(new VCard()); - vcard->setFullName("Myself"); - return IQ::createResult(JID(), stanzaChannel->sentStanzas[0]->getTo(), stanzaChannel->sentStanzas[0]->getID(), vcard); - } - - IQ::ref createSetVCardResult() { - return IQ::createResult(JID("baz@fum.com/dum"), stanzaChannel->sentStanzas[0]->getTo(), stanzaChannel->sentStanzas[0]->getID(), VCard::ref()); - } - - - private: - JID ownJID; - DummyStanzaChannel* stanzaChannel; - IQRouter* iqRouter; - VCardMemoryStorage* vcardStorage; - std::vector< std::pair<JID, VCard::ref> > changes; - std::vector<VCard::ref> ownChanges; - boost::shared_ptr<CryptoProvider> crypto; + CPPUNIT_TEST_SUITE(VCardManagerTest); + CPPUNIT_TEST(testGet_NewVCardRequestsVCard); + CPPUNIT_TEST(testGet_ExistingVCard); + CPPUNIT_TEST(testRequest_RequestsVCard); + CPPUNIT_TEST(testRequest_ReceiveEmitsNotification); + CPPUNIT_TEST(testRequest_Error); + CPPUNIT_TEST(testRequest_VCardAlreadyRequested); + CPPUNIT_TEST(testRequest_AfterPreviousRequest); + CPPUNIT_TEST(testRequestOwnVCard); + CPPUNIT_TEST(testCreateSetVCardRequest); + CPPUNIT_TEST(testCreateSetVCardRequest_Error); + CPPUNIT_TEST_SUITE_END(); + + public: + void setUp() { + changes.clear(); + ownChanges.clear(); + ownJID = JID("baz@fum.com/dum"); + crypto = boost::shared_ptr<CryptoProvider>(PlatformCryptoProvider::create()); + stanzaChannel = new DummyStanzaChannel(); + iqRouter = new IQRouter(stanzaChannel); + vcardStorage = new VCardMemoryStorage(crypto.get()); + } + + void tearDown() { + delete vcardStorage; + delete iqRouter; + delete stanzaChannel; + } + + void testGet_NewVCardRequestsVCard() { + boost::shared_ptr<VCardManager> testling = createManager(); + VCard::ref result = testling->getVCardAndRequestWhenNeeded(JID("foo@bar.com/baz")); + + CPPUNIT_ASSERT(!result); + CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(stanzaChannel->sentStanzas.size())); + CPPUNIT_ASSERT(stanzaChannel->isRequestAtIndex<VCard>(0, JID("foo@bar.com/baz"), IQ::Get)); + } + + void testGet_ExistingVCard() { + boost::shared_ptr<VCardManager> testling = createManager(); + VCard::ref vcard(new VCard()); + vcard->setFullName("Foo Bar"); + vcardStorage->setVCard(JID("foo@bar.com/baz"), vcard); + + VCard::ref result = testling->getVCardAndRequestWhenNeeded(JID("foo@bar.com/baz")); + + CPPUNIT_ASSERT_EQUAL(std::string("Foo Bar"), result->getFullName()); + CPPUNIT_ASSERT_EQUAL(0, static_cast<int>(stanzaChannel->sentStanzas.size())); + } + + void testRequest_RequestsVCard() { + boost::shared_ptr<VCardManager> testling = createManager(); + testling->requestVCard(JID("foo@bar.com/baz")); + + CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(stanzaChannel->sentStanzas.size())); + CPPUNIT_ASSERT(stanzaChannel->isRequestAtIndex<VCard>(0, JID("foo@bar.com/baz"), IQ::Get)); + } + + void testRequest_ReceiveEmitsNotification() { + boost::shared_ptr<VCardManager> testling = createManager(); + testling->requestVCard(JID("foo@bar.com/baz")); + stanzaChannel->onIQReceived(createVCardResult()); + + CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(changes.size())); + CPPUNIT_ASSERT_EQUAL(JID("foo@bar.com/baz"), changes[0].first); + CPPUNIT_ASSERT_EQUAL(std::string("Foo Bar"), changes[0].second->getFullName()); + CPPUNIT_ASSERT_EQUAL(std::string("Foo Bar"), vcardStorage->getVCard(JID("foo@bar.com/baz"))->getFullName()); + + CPPUNIT_ASSERT_EQUAL(0, static_cast<int>(ownChanges.size())); + } + + void testRequest_Error() { + boost::shared_ptr<VCardManager> testling = createManager(); + testling->requestVCard(JID("foo@bar.com/baz")); + stanzaChannel->onIQReceived(IQ::createError(JID("baz@fum.com/foo"), stanzaChannel->sentStanzas[0]->getTo(), stanzaChannel->sentStanzas[0]->getID())); + + // On error, cached vCards should not be changed. + CPPUNIT_ASSERT_EQUAL(0, static_cast<int>(changes.size())); + } + + void testRequest_VCardAlreadyRequested() { + boost::shared_ptr<VCardManager> testling = createManager(); + testling->requestVCard(JID("foo@bar.com/baz")); + VCard::ref result = testling->getVCardAndRequestWhenNeeded(JID("foo@bar.com/baz")); + + CPPUNIT_ASSERT(!result); + CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(stanzaChannel->sentStanzas.size())); + } + + void testRequest_AfterPreviousRequest() { + boost::shared_ptr<VCardManager> testling = createManager(); + testling->requestVCard(JID("foo@bar.com/baz")); + stanzaChannel->onIQReceived(createVCardResult()); + testling->requestVCard(JID("foo@bar.com/baz")); + + CPPUNIT_ASSERT_EQUAL(2, static_cast<int>(stanzaChannel->sentStanzas.size())); + CPPUNIT_ASSERT(stanzaChannel->isRequestAtIndex<VCard>(1, JID("foo@bar.com/baz"), IQ::Get)); + } + + void testRequestOwnVCard() { + boost::shared_ptr<VCardManager> testling = createManager(); + testling->requestVCard(ownJID); + stanzaChannel->onIQReceived(createOwnVCardResult()); + + CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(stanzaChannel->sentStanzas.size())); + CPPUNIT_ASSERT(stanzaChannel->isRequestAtIndex<VCard>(0, JID(), IQ::Get)); + CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(changes.size())); + CPPUNIT_ASSERT_EQUAL(ownJID.toBare(), changes[0].first); + CPPUNIT_ASSERT_EQUAL(std::string("Myself"), changes[0].second->getFullName()); + CPPUNIT_ASSERT_EQUAL(std::string("Myself"), vcardStorage->getVCard(ownJID.toBare())->getFullName()); + + CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(ownChanges.size())); + CPPUNIT_ASSERT_EQUAL(std::string("Myself"), ownChanges[0]->getFullName()); + } + + void testCreateSetVCardRequest() { + boost::shared_ptr<VCardManager> testling = createManager(); + VCard::ref vcard = boost::make_shared<VCard>(); + vcard->setFullName("New Name"); + SetVCardRequest::ref request = testling->createSetVCardRequest(vcard); + request->send(); + + stanzaChannel->onIQReceived(createSetVCardResult()); + + CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(changes.size())); + CPPUNIT_ASSERT_EQUAL(ownJID.toBare(), changes[0].first); + CPPUNIT_ASSERT_EQUAL(std::string("New Name"), changes[0].second->getFullName()); + } + + void testCreateSetVCardRequest_Error() { + boost::shared_ptr<VCardManager> testling = createManager(); + VCard::ref vcard = boost::make_shared<VCard>(); + vcard->setFullName("New Name"); + SetVCardRequest::ref request = testling->createSetVCardRequest(vcard); + request->send(); + + stanzaChannel->onIQReceived(IQ::createError(JID("baz@fum.com/foo"), stanzaChannel->sentStanzas[0]->getID())); + + CPPUNIT_ASSERT_EQUAL(0, static_cast<int>(changes.size())); + } + + private: + boost::shared_ptr<VCardManager> createManager() { + boost::shared_ptr<VCardManager> manager(new VCardManager(ownJID, iqRouter, vcardStorage)); + manager->onVCardChanged.connect(boost::bind(&VCardManagerTest::handleVCardChanged, this, _1, _2)); + manager->onOwnVCardChanged.connect(boost::bind(&VCardManagerTest::handleOwnVCardChanged, this, _1)); + return manager; + } + + void handleVCardChanged(const JID& jid, VCard::ref vcard) { + changes.push_back(std::pair<JID, VCard::ref>(jid, vcard)); + } + + void handleOwnVCardChanged(VCard::ref vcard) { + ownChanges.push_back(vcard); + } + + IQ::ref createVCardResult() { + VCard::ref vcard(new VCard()); + vcard->setFullName("Foo Bar"); + return IQ::createResult(JID("baz@fum.com/dum"), stanzaChannel->sentStanzas[0]->getTo(), stanzaChannel->sentStanzas[0]->getID(), vcard); + } + + IQ::ref createOwnVCardResult() { + VCard::ref vcard(new VCard()); + vcard->setFullName("Myself"); + return IQ::createResult(JID(), stanzaChannel->sentStanzas[0]->getTo(), stanzaChannel->sentStanzas[0]->getID(), vcard); + } + + IQ::ref createSetVCardResult() { + return IQ::createResult(JID("baz@fum.com/dum"), stanzaChannel->sentStanzas[0]->getTo(), stanzaChannel->sentStanzas[0]->getID(), VCard::ref()); + } + + + private: + JID ownJID; + DummyStanzaChannel* stanzaChannel; + IQRouter* iqRouter; + VCardMemoryStorage* vcardStorage; + std::vector< std::pair<JID, VCard::ref> > changes; + std::vector<VCard::ref> ownChanges; + boost::shared_ptr<CryptoProvider> crypto; }; CPPUNIT_TEST_SUITE_REGISTRATION(VCardManagerTest); diff --git a/Swiften/VCards/VCardManager.cpp b/Swiften/VCards/VCardManager.cpp index 347cc3d..95b96fa 100644 --- a/Swiften/VCards/VCardManager.cpp +++ b/Swiften/VCards/VCardManager.cpp @@ -22,71 +22,71 @@ VCardManager::~VCardManager() { } VCard::ref VCardManager::getVCard(const JID& jid) const { - return storage->getVCard(jid); + return storage->getVCard(jid); } VCard::ref VCardManager::getVCardAndRequestWhenNeeded(const JID& jid, const boost::posix_time::time_duration& allowedAge) { - VCard::ref vcard = storage->getVCard(jid); - boost::posix_time::ptime vcardFetchedTime = storage->getVCardWriteTime(jid); - bool vcardTooOld = vcard && (vcardFetchedTime.is_special() || ((boost::posix_time::second_clock::universal_time() - vcardFetchedTime) > allowedAge)); - if (!vcard || vcardTooOld) { - requestVCard(jid); - } - return vcard; + VCard::ref vcard = storage->getVCard(jid); + boost::posix_time::ptime vcardFetchedTime = storage->getVCardWriteTime(jid); + bool vcardTooOld = vcard && (vcardFetchedTime.is_special() || ((boost::posix_time::second_clock::universal_time() - vcardFetchedTime) > allowedAge)); + if (!vcard || vcardTooOld) { + requestVCard(jid); + } + return vcard; } void VCardManager::requestVCard(const JID& requestedJID) { - JID jid = requestedJID.equals(ownJID, JID::WithoutResource) ? JID() : requestedJID; - if (requestedVCards.find(jid) != requestedVCards.end()) { - return; - } - GetVCardRequest::ref request = GetVCardRequest::create(jid, iqRouter); - request->onResponse.connect(boost::bind(&VCardManager::handleVCardReceived, this, jid, _1, _2)); - request->send(); - requestedVCards.insert(jid); + JID jid = requestedJID.equals(ownJID, JID::WithoutResource) ? JID() : requestedJID; + if (requestedVCards.find(jid) != requestedVCards.end()) { + return; + } + GetVCardRequest::ref request = GetVCardRequest::create(jid, iqRouter); + request->onResponse.connect(boost::bind(&VCardManager::handleVCardReceived, this, jid, _1, _2)); + request->send(); + requestedVCards.insert(jid); } void VCardManager::requestOwnVCard() { - requestVCard(JID()); + requestVCard(JID()); } void VCardManager::handleVCardReceived(const JID& actualJID, VCard::ref vcard, ErrorPayload::ref error) { - requestedVCards.erase(actualJID); - if (!error) { - if (!vcard) { - vcard = VCard::ref(new VCard()); - } - JID jid = actualJID.isValid() ? actualJID : ownJID.toBare(); - setVCard(jid, vcard); - } - else { - onVCardRetrievalError(actualJID, error); - } + requestedVCards.erase(actualJID); + if (!error) { + if (!vcard) { + vcard = VCard::ref(new VCard()); + } + JID jid = actualJID.isValid() ? actualJID : ownJID.toBare(); + setVCard(jid, vcard); + } + else { + onVCardRetrievalError(actualJID, error); + } } SetVCardRequest::ref VCardManager::createSetVCardRequest(VCard::ref vcard) { - SetVCardRequest::ref request = SetVCardRequest::create(vcard, iqRouter); - request->onResponse.connect(boost::bind(&VCardManager::handleSetVCardResponse, this, vcard, _2)); - return request; + SetVCardRequest::ref request = SetVCardRequest::create(vcard, iqRouter); + request->onResponse.connect(boost::bind(&VCardManager::handleSetVCardResponse, this, vcard, _2)); + return request; } void VCardManager::handleSetVCardResponse(VCard::ref vcard, ErrorPayload::ref error) { - if (!error) { - setVCard(ownJID.toBare(), vcard); - } + if (!error) { + setVCard(ownJID.toBare(), vcard); + } } void VCardManager::setVCard(const JID& jid, VCard::ref vcard) { - storage->setVCard(jid, vcard); - onVCardChanged(jid, vcard); - if (jid.compare(ownJID, JID::WithoutResource) == 0) { - onOwnVCardChanged(vcard); - } + storage->setVCard(jid, vcard); + onVCardChanged(jid, vcard); + if (jid.compare(ownJID, JID::WithoutResource) == 0) { + onOwnVCardChanged(vcard); + } } std::string VCardManager::getPhotoHash(const JID& jid) const { - return storage->getPhotoHash(jid); + return storage->getPhotoHash(jid); } } diff --git a/Swiften/VCards/VCardManager.h b/Swiften/VCards/VCardManager.h index feed1bb..fbad221 100644 --- a/Swiften/VCards/VCardManager.h +++ b/Swiften/VCards/VCardManager.h @@ -18,52 +18,52 @@ #include <Swiften/VCards/SetVCardRequest.h> namespace Swift { - class IQRouter; - class JID; - class VCardStorage; + class IQRouter; + class JID; + class VCardStorage; - class SWIFTEN_API VCardManager : public boost::bsignals::trackable { - public: - VCardManager(const JID& ownJID, IQRouter* iqRouter, VCardStorage* vcardStorage); - ~VCardManager(); + class SWIFTEN_API VCardManager : public boost::bsignals::trackable { + public: + VCardManager(const JID& ownJID, IQRouter* iqRouter, VCardStorage* vcardStorage); + ~VCardManager(); - VCard::ref getVCard(const JID& jid) const; - VCard::ref getVCardAndRequestWhenNeeded(const JID& jid, const boost::posix_time::time_duration& allowedAge = boost::posix_time::time_duration(boost::date_time::pos_infin)); - void requestVCard(const JID& jid); - void requestOwnVCard(); + VCard::ref getVCard(const JID& jid) const; + VCard::ref getVCardAndRequestWhenNeeded(const JID& jid, const boost::posix_time::time_duration& allowedAge = boost::posix_time::time_duration(boost::date_time::pos_infin)); + void requestVCard(const JID& jid); + void requestOwnVCard(); - std::string getPhotoHash(const JID& jid) const; + std::string getPhotoHash(const JID& jid) const; - SetVCardRequest::ref createSetVCardRequest(VCard::ref); + SetVCardRequest::ref createSetVCardRequest(VCard::ref); - public: - /** - * The JID will always be bare. - */ - boost::signal<void (const JID&, VCard::ref)> onVCardChanged; + public: + /** + * The JID will always be bare. + */ + boost::signal<void (const JID&, VCard::ref)> onVCardChanged; - /** - * Emitted when we received an error on looking up a vCard. - */ - boost::signal<void (const JID&, ErrorPayload::ref)> onVCardRetrievalError; + /** + * Emitted when we received an error on looking up a vCard. + */ + boost::signal<void (const JID&, ErrorPayload::ref)> onVCardRetrievalError; - /** - * Emitted when our own vcard changes. - * - * onVCardChanged will also be emitted. - */ - boost::signal<void (VCard::ref)> onOwnVCardChanged; + /** + * Emitted when our own vcard changes. + * + * onVCardChanged will also be emitted. + */ + boost::signal<void (VCard::ref)> onOwnVCardChanged; - private: - void handleVCardReceived(const JID& from, VCard::ref, ErrorPayload::ref); - void handleSetVCardResponse(VCard::ref, ErrorPayload::ref); - void setVCard(const JID& jid, VCard::ref vcard); + private: + void handleVCardReceived(const JID& from, VCard::ref, ErrorPayload::ref); + void handleSetVCardResponse(VCard::ref, ErrorPayload::ref); + void setVCard(const JID& jid, VCard::ref vcard); - private: - JID ownJID; - IQRouter* iqRouter; - VCardStorage* storage; - std::set<JID> requestedVCards; - }; + private: + JID ownJID; + IQRouter* iqRouter; + VCardStorage* storage; + std::set<JID> requestedVCards; + }; } diff --git a/Swiften/VCards/VCardMemoryStorage.h b/Swiften/VCards/VCardMemoryStorage.h index bde3aff..d4df639 100644 --- a/Swiften/VCards/VCardMemoryStorage.h +++ b/Swiften/VCards/VCardMemoryStorage.h @@ -15,38 +15,38 @@ #include <Swiften/VCards/VCardStorage.h> namespace Swift { - class SWIFTEN_API VCardMemoryStorage : public VCardStorage { - public: - VCardMemoryStorage(CryptoProvider* crypto) : VCardStorage(crypto) {} - - virtual VCard::ref getVCard(const JID& jid) const { - VCardMap::const_iterator i = vcards.find(jid); - if (i != vcards.end()) { - return i->second; - } - else { - return VCard::ref(); - } - } - - virtual boost::posix_time::ptime getVCardWriteTime(const JID& jid) const { - if (vcardWriteTimes.find(jid) == vcardWriteTimes.end()) { - return boost::posix_time::ptime(); - } - else { - return vcardWriteTimes.at(jid); - } - } - - virtual void setVCard(const JID& jid, VCard::ref v) { - vcards[jid] = v; - vcardWriteTimes[jid] = boost::posix_time::second_clock::universal_time(); - } - - private: - typedef std::map<JID, VCard::ref> VCardMap; - typedef std::map<JID, boost::posix_time::ptime> VCardWriteTimeMap; - VCardMap vcards; - VCardWriteTimeMap vcardWriteTimes; - }; + class SWIFTEN_API VCardMemoryStorage : public VCardStorage { + public: + VCardMemoryStorage(CryptoProvider* crypto) : VCardStorage(crypto) {} + + virtual VCard::ref getVCard(const JID& jid) const { + VCardMap::const_iterator i = vcards.find(jid); + if (i != vcards.end()) { + return i->second; + } + else { + return VCard::ref(); + } + } + + virtual boost::posix_time::ptime getVCardWriteTime(const JID& jid) const { + if (vcardWriteTimes.find(jid) == vcardWriteTimes.end()) { + return boost::posix_time::ptime(); + } + else { + return vcardWriteTimes.at(jid); + } + } + + virtual void setVCard(const JID& jid, VCard::ref v) { + vcards[jid] = v; + vcardWriteTimes[jid] = boost::posix_time::second_clock::universal_time(); + } + + private: + typedef std::map<JID, VCard::ref> VCardMap; + typedef std::map<JID, boost::posix_time::ptime> VCardWriteTimeMap; + VCardMap vcards; + VCardWriteTimeMap vcardWriteTimes; + }; } diff --git a/Swiften/VCards/VCardStorage.cpp b/Swiften/VCards/VCardStorage.cpp index a73e56e..2a4f04c 100644 --- a/Swiften/VCards/VCardStorage.cpp +++ b/Swiften/VCards/VCardStorage.cpp @@ -18,13 +18,13 @@ VCardStorage::~VCardStorage() { } std::string VCardStorage::getPhotoHash(const JID& jid) const { - VCard::ref vCard = getVCard(jid); - if (vCard && !vCard->getPhoto().empty()) { - return Hexify::hexify(crypto->getSHA1Hash(vCard->getPhoto())); - } - else { - return ""; - } + VCard::ref vCard = getVCard(jid); + if (vCard && !vCard->getPhoto().empty()) { + return Hexify::hexify(crypto->getSHA1Hash(vCard->getPhoto())); + } + else { + return ""; + } } } diff --git a/Swiften/VCards/VCardStorage.h b/Swiften/VCards/VCardStorage.h index 2d9cc72..7314559 100644 --- a/Swiften/VCards/VCardStorage.h +++ b/Swiften/VCards/VCardStorage.h @@ -15,21 +15,21 @@ #include <Swiften/Elements/VCard.h> namespace Swift { - class JID; - class CryptoProvider; + class JID; + class CryptoProvider; - class SWIFTEN_API VCardStorage { - public: - VCardStorage(CryptoProvider*); - virtual ~VCardStorage(); + class SWIFTEN_API VCardStorage { + public: + VCardStorage(CryptoProvider*); + virtual ~VCardStorage(); - virtual VCard::ref getVCard(const JID& jid) const = 0; - virtual boost::posix_time::ptime getVCardWriteTime(const JID& jid) const = 0; - virtual void setVCard(const JID&, VCard::ref) = 0; + virtual VCard::ref getVCard(const JID& jid) const = 0; + virtual boost::posix_time::ptime getVCardWriteTime(const JID& jid) const = 0; + virtual void setVCard(const JID&, VCard::ref) = 0; - virtual std::string getPhotoHash(const JID&) const; + virtual std::string getPhotoHash(const JID&) const; - private: - CryptoProvider* crypto; - }; + private: + CryptoProvider* crypto; + }; } |