aboutsummaryrefslogtreecommitdiffstats
path: root/src/typeAdapter.hpp
diff options
context:
space:
mode:
authorVincent Richard <[email protected]>2004-12-26 20:23:29 +0000
committerVincent Richard <[email protected]>2004-12-26 20:23:29 +0000
commit4ce991d3b1bd97fbb896d17fb8f36f6650429a22 (patch)
tree2db6e072b862dd809d4acd8c571a1b859fdcb484 /src/typeAdapter.hpp
parentAllow creating a service from an URL. (diff)
downloadvmime-4ce991d3b1bd97fbb896d17fb8f36f6650429a22.tar.gz
vmime-4ce991d3b1bd97fbb896d17fb8f36f6650429a22.zip
Moved all header files to 'vmime/' directory.
Diffstat (limited to 'src/typeAdapter.hpp')
-rw-r--r--src/typeAdapter.hpp132
1 files changed, 0 insertions, 132 deletions
diff --git a/src/typeAdapter.hpp b/src/typeAdapter.hpp
deleted file mode 100644
index cd82816c..00000000
--- a/src/typeAdapter.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-//
-// VMime library (http://vmime.sourceforge.net)
-// Copyright (C) 2002-2004 Vincent Richard <[email protected]>
-//
-// 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 2 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., 675 Mass Ave, Cambridge, MA 02139, USA.
-//
-
-#ifndef VMIME_TYPEADAPTER_HPP_INCLUDED
-#define VMIME_TYPEADAPTER_HPP_INCLUDED
-
-
-#include <sstream>
-
-#include "component.hpp"
-
-
-namespace vmime
-{
-
-
-/** An adapter to allow any type being treated as a 'component'.
- */
-
-template <class TYPE>
-class typeAdapter : public component
-{
-public:
-
- typeAdapter()
- {
- }
-
- typeAdapter(typeAdapter& a)
- : m_value(a.m_value)
- {
- }
-
- typeAdapter(const TYPE& v)
- : m_value(v)
- {
- }
-
-
- typeAdapter* clone() const
- {
- return new typeAdapter(*this);
- }
-
-
- void copyFrom(const component& other)
- {
- m_value = dynamic_cast <const typeAdapter <TYPE>&>(other).m_value;
- }
-
-
- typeAdapter& operator=(const TYPE& v)
- {
- m_value = v;
- return (*this);
- }
-
-
- typeAdapter& operator=(const component& other)
- {
- copyFrom(other);
- return (*this);
- }
-
-
- operator TYPE() const
- {
- return (m_value);
- }
-
-
- void parse(const string& buffer, const string::size_type position,
- const string::size_type end, string::size_type* newPosition = NULL)
- {
- std::istringstream iss(string(buffer.begin() + position, buffer.begin() + end));
- iss >> m_value;
-
- if (newPosition)
- *newPosition = end;
- }
-
-
- void generate(utility::outputStream& os,
- const string::size_type /* maxLineLength */ = lineLengthLimits::infinite,
- const string::size_type curLinePos = 0,
- string::size_type* newLinePos = NULL) const
- {
- std::ostringstream oss;
- oss << m_value;
-
- os << oss.str();
-
- if (newLinePos)
- *newLinePos = curLinePos + oss.str().length();
- }
-
- const std::vector <const component*> getChildComponents() const
- {
- return std::vector <const component*>();
- }
-
-private:
-
- TYPE m_value;
-};
-
-
-template <>
-void typeAdapter <string>::parse(const string& buffer, const string::size_type position,
- const string::size_type end, string::size_type* newPosition);
-
-
-} // vmime
-
-
-#endif // VMIME_TYPEADAPTE_HPP_INCLUDED