diff options
Diffstat (limited to 'src/contentTypeField.hpp')
-rw-r--r-- | src/contentTypeField.hpp | 29 |
1 files changed, 7 insertions, 22 deletions
diff --git a/src/contentTypeField.hpp b/src/contentTypeField.hpp index 5244e454..69ea5d5c 100644 --- a/src/contentTypeField.hpp +++ b/src/contentTypeField.hpp @@ -22,47 +22,32 @@ #include "parameterizedHeaderField.hpp" +#include "genericField.hpp" #include "mediaType.hpp" #include "charset.hpp" -#include "textParameter.hpp" -#include "charsetParameter.hpp" - namespace vmime { -class contentTypeField : public parameterizedHeaderField +class contentTypeField : public parameterizedHeaderField, public genericField <mediaType> { friend class headerFieldFactory::registerer <contentTypeField>; protected: contentTypeField(); + contentTypeField(contentTypeField&); public: - void copyFrom(const headerField& field); - - contentTypeField& operator=(const mediaType& type); - - const mediaType& value() const { return (m_value); } - mediaType& value() { return (m_value); } - - const string& boundary() const { return (dynamic_cast<const textParameter&>(parameters.find("boundary")).value()); } - string& boundary() { return (dynamic_cast<textParameter&>(parameters.get("boundary")).value()); } - - const class charset& charset() const { return (dynamic_cast<const charsetParameter&>(parameters.find("charset")).value()); } - class charset& charset() { return (dynamic_cast<charsetParameter&>(parameters.get("charset")).value()); } - -protected: - - mediaType m_value; + const string getBoundary() const; + void setBoundary(const string& boundary); - void parseValue(const string& buffer, const string::size_type position, const string::size_type end); - const string generateValue() const; + const charset& getCharset() const; + void setCharset(const charset& ch); }; |