// 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_