| // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_NET_QUOTED_PRINTABLE_H_ |
| #define CHROME_BROWSER_NET_QUOTED_PRINTABLE_H_ |
| #pragma once |
| |
| #include <string> |
| |
| // Some functions to encode/decode with the quoted-printable encoding. |
| // See http://tools.ietf.org/html/rfc2045#section-6.7 |
| |
| namespace chrome { |
| namespace browser { |
| namespace net { |
| |
| // Encodes the input string with the quoted-printable encoding. |
| void QuotedPrintableEncode(const std::string& input, std::string* output); |
| |
| // Decodes the quoted-printable input string. Returns true if the input string |
| // was wellformed quoted-printable, false otherwise, in which case it still |
| // decodes as much of the message as possible. |
| bool QuotedPrintableDecode(const std::string& input, std::string* output); |
| |
| // Returns 0 if |iter| does not point to an end-of-line, the number of chars |
| // that constitutes that EOL otherwise (1 for LF, 2 for CR-LF). |
| // Exposed as it is also used in unit-tests. |
| int IsEOL(const std::string::const_iterator& iter, const std::string& input); |
| |
| } // namespace net |
| } // namespace browser |
| } // namespace chrome |
| |
| #endif // CHROME_BROWSER_NET_QUOTED_PRINTABLE_H_ |