diff options
author | Vincent Richard <[email protected]> | 2013-02-24 15:28:13 +0000 |
---|---|---|
committer | Vincent Richard <[email protected]> | 2013-02-24 15:28:13 +0000 |
commit | 0c5d4a10e6f616f5a63787b8fbda86ec9fc487a9 (patch) | |
tree | c04b535bffeeba3e95adae01b961740bdc3a938e /src/parameterizedHeaderField.cpp | |
parent | Fixed filename case. (diff) | |
download | vmime-0c5d4a10e6f616f5a63787b8fbda86ec9fc487a9.tar.gz vmime-0c5d4a10e6f616f5a63787b8fbda86ec9fc487a9.zip |
Message generation/parsing context. Charset conversion options. Preliminary implementation of RFC-6532.
Diffstat (limited to 'src/parameterizedHeaderField.cpp')
-rw-r--r-- | src/parameterizedHeaderField.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/parameterizedHeaderField.cpp b/src/parameterizedHeaderField.cpp index 77d732df..619fe7cf 100644 --- a/src/parameterizedHeaderField.cpp +++ b/src/parameterizedHeaderField.cpp @@ -78,8 +78,9 @@ struct paramInfo #endif // VMIME_BUILDING_DOC -void parameterizedHeaderField::parseImpl(const string& buffer, const string::size_type position, - const string::size_type end, string::size_type* newPosition) +void parameterizedHeaderField::parseImpl + (const parsingContext& ctx, const string& buffer, const string::size_type position, + const string::size_type end, string::size_type* newPosition) { const string::value_type* const pend = buffer.data() + end; const string::value_type* const pstart = buffer.data() + position; @@ -108,7 +109,7 @@ void parameterizedHeaderField::parseImpl(const string& buffer, const string::siz --valueLength; // Parse value - getValue()->parse(buffer, valueStart, valueStart + valueLength); + getValue()->parse(ctx, buffer, valueStart, valueStart + valueLength); // Reset parameters removeAllParameters(); @@ -316,7 +317,7 @@ void parameterizedHeaderField::parseImpl(const string& buffer, const string::siz // Append this parameter to the list ref <parameter> param = vmime::create <parameter>((*it).first); - param->parse(info.value); + param->parse(ctx, info.value); param->setParsedBounds(info.start, info.end); appendParameter(param); @@ -328,13 +329,14 @@ void parameterizedHeaderField::parseImpl(const string& buffer, const string::siz } -void parameterizedHeaderField::generateImpl(utility::outputStream& os, const string::size_type maxLineLength, - const string::size_type curLinePos, string::size_type* newLinePos) const +void parameterizedHeaderField::generateImpl + (const generationContext& ctx, utility::outputStream& os, + const string::size_type curLinePos, string::size_type* newLinePos) const { string::size_type pos = curLinePos; // Parent header field - headerField::generateImpl(os, maxLineLength, pos, &pos); + headerField::generateImpl(ctx, os, pos, &pos); // Parameters for (std::vector <ref <parameter> >::const_iterator @@ -343,7 +345,7 @@ void parameterizedHeaderField::generateImpl(utility::outputStream& os, const str os << "; "; pos += 2; - (*it)->generate(os, maxLineLength, pos, &pos); + (*it)->generate(ctx, os, pos, &pos); } if (newLinePos) |