From 152c6bed75598a6ca5efb7914701157270155833 Mon Sep 17 00:00:00 2001 From: Vincent Richard Date: Sun, 29 Dec 2013 10:02:12 +0100 Subject: Merged source and header files in directory structure. Got rid of SConstruct build. --- src/addressList.cpp | 305 ---------------------------------------------------- 1 file changed, 305 deletions(-) delete mode 100644 src/addressList.cpp (limited to 'src/addressList.cpp') diff --git a/src/addressList.cpp b/src/addressList.cpp deleted file mode 100644 index 5c7d34ac..00000000 --- a/src/addressList.cpp +++ /dev/null @@ -1,305 +0,0 @@ -// -// VMime library (http://www.vmime.org) -// Copyright (C) 2002-2013 Vincent Richard -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License as -// published by the Free Software Foundation; either version 3 of -// the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// Linking this library statically or dynamically with other modules is making -// a combined work based on this library. Thus, the terms and conditions of -// the GNU General Public License cover the whole combination. -// - -#include "vmime/addressList.hpp" -#include "vmime/parserHelpers.hpp" -#include "vmime/exception.hpp" -#include "vmime/mailboxList.hpp" -#include "vmime/mailboxGroup.hpp" - - -namespace vmime -{ - - -addressList::addressList() -{ -} - - -addressList::addressList(const addressList& addrList) - : headerFieldValue() -{ - copyFrom(addrList); -} - - -addressList::~addressList() -{ - removeAllAddresses(); -} - - -void addressList::parseImpl - (const parsingContext& ctx, const string& buffer, const size_t position, - const size_t end, size_t* newPosition) -{ - removeAllAddresses(); - - size_t pos = position; - - while (pos < end) - { - shared_ptr
parsedAddress = address::parseNext(ctx, buffer, pos, end, &pos, NULL); - - if (parsedAddress != NULL) - m_list.push_back(parsedAddress); - } - - setParsedBounds(position, end); - - if (newPosition) - *newPosition = end; -} - - -void addressList::generateImpl - (const generationContext& ctx, utility::outputStream& os, - const size_t curLinePos, size_t* newLinePos) const -{ - size_t pos = curLinePos; - - generationContext tmpCtx(ctx); - tmpCtx.setMaxLineLength(tmpCtx.getMaxLineLength() - 2); - - if (!m_list.empty()) - { - for (std::vector >::const_iterator i = m_list.begin() ; ; ) - { - (*i)->generate(ctx, os, pos, &pos); - - if (++i == m_list.end()) - break; - - os << ", "; - pos += 2; - } - } - - if (newLinePos) - *newLinePos = pos; -} - - -void addressList::copyFrom(const component& other) -{ - const addressList& addrList = dynamic_cast (other); - - removeAllAddresses(); - - for (std::vector >::const_iterator it = addrList.m_list.begin() ; - it != addrList.m_list.end() ; ++it) - { - m_list.push_back(vmime::clone(*it)); - } -} - - -addressList& addressList::operator=(const addressList& other) -{ - copyFrom(other); - return (*this); -} - - -addressList& addressList::operator=(const mailboxList& other) -{ - removeAllAddresses(); - - for (size_t i = 0 ; i < other.getMailboxCount() ; ++i) - m_list.push_back(dynamicCast
(other.getMailboxAt(i)->clone())); - - return (*this); -} - - -shared_ptr addressList::clone() const -{ - return make_shared (*this); -} - - -void addressList::appendAddress(shared_ptr
addr) -{ - m_list.push_back(addr); -} - - -void addressList::insertAddressBefore(shared_ptr
beforeAddress, shared_ptr
addr) -{ - const std::vector >::iterator it = std::find - (m_list.begin(), m_list.end(), beforeAddress); - - if (it == m_list.end()) - throw std::out_of_range("Invalid position"); - - m_list.insert(it, addr); -} - - -void addressList::insertAddressBefore(const size_t pos, shared_ptr
addr) -{ - if (pos >= m_list.size()) - throw std::out_of_range("Invalid position"); - - m_list.insert(m_list.begin() + pos, addr); -} - - -void addressList::insertAddressAfter(shared_ptr
afterAddress, shared_ptr
addr) -{ - const std::vector >::iterator it = std::find - (m_list.begin(), m_list.end(), afterAddress); - - if (it == m_list.end()) - throw std::out_of_range("Invalid position"); - - m_list.insert(it + 1, addr); -} - - -void addressList::insertAddressAfter(const size_t pos, shared_ptr
addr) -{ - if (pos >= m_list.size()) - throw std::out_of_range("Invalid position"); - - m_list.insert(m_list.begin() + pos + 1, addr); -} - - -void addressList::removeAddress(shared_ptr
addr) -{ - const std::vector >::iterator it = std::find - (m_list.begin(), m_list.end(), addr); - - if (it == m_list.end()) - throw std::out_of_range("Invalid position"); - - m_list.erase(it); -} - - -void addressList::removeAddress(const size_t pos) -{ - if (pos >= m_list.size()) - throw std::out_of_range("Invalid position"); - - const std::vector >::iterator it = m_list.begin() + pos; - - m_list.erase(it); -} - - -void addressList::removeAllAddresses() -{ - m_list.clear(); -} - - -size_t addressList::getAddressCount() const -{ - return (m_list.size()); -} - - -bool addressList::isEmpty() const -{ - return (m_list.empty()); -} - - -shared_ptr
addressList::getAddressAt(const size_t pos) -{ - return (m_list[pos]); -} - - -const shared_ptr addressList::getAddressAt(const size_t pos) const -{ - return (m_list[pos]); -} - - -const std::vector > addressList::getAddressList() const -{ - std::vector > list; - - list.reserve(m_list.size()); - - for (std::vector >::const_iterator it = m_list.begin() ; - it != m_list.end() ; ++it) - { - list.push_back(*it); - } - - return (list); -} - - -const std::vector > addressList::getAddressList() -{ - return (m_list); -} - - -const std::vector > addressList::getChildComponents() -{ - std::vector > list; - - copy_vector(m_list, list); - - return (list); -} - - -shared_ptr addressList::toMailboxList() const -{ - shared_ptr res = make_shared (); - - for (std::vector >::const_iterator it = m_list.begin() ; - it != m_list.end() ; ++it) - { - shared_ptr addr = *it; - - if (addr->isGroup()) - { - const std::vector > mailboxes = - dynamicCast (addr)->getMailboxList(); - - for (std::vector >::const_iterator jt = mailboxes.begin() ; - jt != mailboxes.end() ; ++jt) - { - res->appendMailbox(vmime::clone(*jt)); - } - } - else - { - res->appendMailbox(dynamicCast (addr->clone())); - } - } - - return res; -} - - -} // vmime -- cgit