diff options
Diffstat (limited to 'Slimber/FileVCardCollection.cpp')
-rw-r--r-- | Slimber/FileVCardCollection.cpp | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/Slimber/FileVCardCollection.cpp b/Slimber/FileVCardCollection.cpp index f3a6aa3..ff2edc4 100644 --- a/Slimber/FileVCardCollection.cpp +++ b/Slimber/FileVCardCollection.cpp @@ -1,44 +1,45 @@ /* - * Copyright (c) 2010 Isode Limited. + * Copyright (c) 2010-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ -#include "Slimber/FileVCardCollection.h" +#include <Slimber/FileVCardCollection.h> + +#include <memory> -#include <boost/smart_ptr/make_shared.hpp> #include <boost/filesystem/fstream.hpp> #include <Swiften/Base/ByteArray.h> #include <Swiften/Elements/VCard.h> -#include <Swiften/Serializer/PayloadSerializers/VCardSerializer.h> #include <Swiften/Parser/PayloadParsers/UnitTest/PayloadParserTester.h> #include <Swiften/Parser/PayloadParsers/VCardParser.h> +#include <Swiften/Serializer/PayloadSerializers/VCardSerializer.h> namespace Swift { FileVCardCollection::FileVCardCollection(boost::filesystem::path dir) : vcardsPath(dir) { } -boost::shared_ptr<VCard> FileVCardCollection::getOwnVCard() const { - if (boost::filesystem::exists(vcardsPath / std::string("vcard.xml"))) { - ByteArray data; - readByteArrayFromFile(data, boost::filesystem::path(vcardsPath / std::string("vcard.xml")).string()); - - VCardParser parser; - PayloadParserTester tester(&parser); - tester.parse(byteArrayToString(data)); - return boost::dynamic_pointer_cast<VCard>(parser.getPayload()); - } - else { - return boost::make_shared<VCard>(); - } +std::shared_ptr<VCard> FileVCardCollection::getOwnVCard() const { + if (boost::filesystem::exists(vcardsPath / std::string("vcard.xml"))) { + ByteArray data; + readByteArrayFromFile(data, boost::filesystem::path(vcardsPath / std::string("vcard.xml")).string()); + + VCardParser parser; + PayloadParserTester tester(&parser); + tester.parse(byteArrayToString(data)); + return std::dynamic_pointer_cast<VCard>(parser.getPayload()); + } + else { + return std::make_shared<VCard>(); + } } -void FileVCardCollection::setOwnVCard(boost::shared_ptr<VCard> v) { - boost::filesystem::ofstream file(vcardsPath / std::string("vcard.xml")); - file << VCardSerializer().serializePayload(v); - file.close(); +void FileVCardCollection::setOwnVCard(std::shared_ptr<VCard> v) { + boost::filesystem::ofstream file(vcardsPath / std::string("vcard.xml")); + file << VCardSerializer().serializePayload(v); + file.close(); } } |