Index: webrtc/base/stringencode.h |
diff --git a/webrtc/base/stringencode.h b/webrtc/base/stringencode.h |
index 8f78ad1a6409b2ccc143656ee9ed6b5dfa07b5a9..27b810ea3c5c2d9c15289dbe3c8a0dd350aaeab8 100644 |
--- a/webrtc/base/stringencode.h |
+++ b/webrtc/base/stringencode.h |
@@ -11,214 +11,9 @@ |
#ifndef WEBRTC_BASE_STRINGENCODE_H_ |
#define WEBRTC_BASE_STRINGENCODE_H_ |
-#include <sstream> |
-#include <string> |
-#include <vector> |
-#include "webrtc/base/checks.h" |
- |
-namespace rtc { |
- |
-////////////////////////////////////////////////////////////////////// |
-// String Encoding Utilities |
-////////////////////////////////////////////////////////////////////// |
- |
-// Convert an unsigned value to it's utf8 representation. Returns the length |
-// of the encoded string, or 0 if the encoding is longer than buflen - 1. |
-size_t utf8_encode(char* buffer, size_t buflen, unsigned long value); |
-// Decode the utf8 encoded value pointed to by source. Returns the number of |
-// bytes used by the encoding, or 0 if the encoding is invalid. |
-size_t utf8_decode(const char* source, size_t srclen, unsigned long* value); |
- |
-// Escaping prefixes illegal characters with the escape character. Compact, but |
-// illegal characters still appear in the string. |
-size_t escape(char * buffer, size_t buflen, |
- const char * source, size_t srclen, |
- const char * illegal, char escape); |
-// Note: in-place unescaping (buffer == source) is allowed. |
-size_t unescape(char * buffer, size_t buflen, |
- const char * source, size_t srclen, |
- char escape); |
- |
-// Encoding replaces illegal characters with the escape character and 2 hex |
-// chars, so it's a little less compact than escape, but completely removes |
-// illegal characters. note that hex digits should not be used as illegal |
-// characters. |
-size_t encode(char * buffer, size_t buflen, |
- const char * source, size_t srclen, |
- const char * illegal, char escape); |
-// Note: in-place decoding (buffer == source) is allowed. |
-size_t decode(char * buffer, size_t buflen, |
- const char * source, size_t srclen, |
- char escape); |
- |
-// Returns a list of characters that may be unsafe for use in the name of a |
-// file, suitable for passing to the 'illegal' member of escape or encode. |
-const char* unsafe_filename_characters(); |
- |
-// url_encode is an encode operation with a predefined set of illegal characters |
-// and escape character (for use in URLs, obviously). |
-size_t url_encode(char * buffer, size_t buflen, |
- const char * source, size_t srclen); |
-// Note: in-place decoding (buffer == source) is allowed. |
-size_t url_decode(char * buffer, size_t buflen, |
- const char * source, size_t srclen); |
- |
-// html_encode prevents data embedded in html from containing markup. |
-size_t html_encode(char * buffer, size_t buflen, |
- const char * source, size_t srclen); |
-// Note: in-place decoding (buffer == source) is allowed. |
-size_t html_decode(char * buffer, size_t buflen, |
- const char * source, size_t srclen); |
- |
-// xml_encode makes data suitable for inside xml attributes and values. |
-size_t xml_encode(char * buffer, size_t buflen, |
- const char * source, size_t srclen); |
-// Note: in-place decoding (buffer == source) is allowed. |
-size_t xml_decode(char * buffer, size_t buflen, |
- const char * source, size_t srclen); |
- |
-// Convert an unsigned value from 0 to 15 to the hex character equivalent... |
-char hex_encode(unsigned char val); |
-// ...and vice-versa. |
-bool hex_decode(char ch, unsigned char* val); |
- |
-// hex_encode shows the hex representation of binary data in ascii. |
-size_t hex_encode(char* buffer, size_t buflen, |
- const char* source, size_t srclen); |
- |
-// hex_encode, but separate each byte representation with a delimiter. |
-// |delimiter| == 0 means no delimiter |
-// If the buffer is too short, we return 0 |
-size_t hex_encode_with_delimiter(char* buffer, size_t buflen, |
- const char* source, size_t srclen, |
- char delimiter); |
- |
-// Helper functions for hex_encode. |
-std::string hex_encode(const std::string& str); |
-std::string hex_encode(const char* source, size_t srclen); |
-std::string hex_encode_with_delimiter(const char* source, size_t srclen, |
- char delimiter); |
- |
-// hex_decode converts ascii hex to binary. |
-size_t hex_decode(char* buffer, size_t buflen, |
- const char* source, size_t srclen); |
- |
-// hex_decode, assuming that there is a delimiter between every byte |
-// pair. |
-// |delimiter| == 0 means no delimiter |
-// If the buffer is too short or the data is invalid, we return 0. |
-size_t hex_decode_with_delimiter(char* buffer, size_t buflen, |
- const char* source, size_t srclen, |
- char delimiter); |
- |
-// Helper functions for hex_decode. |
-size_t hex_decode(char* buffer, size_t buflen, const std::string& source); |
-size_t hex_decode_with_delimiter(char* buffer, size_t buflen, |
- const std::string& source, char delimiter); |
- |
-// Apply any suitable string transform (including the ones above) to an STL |
-// string. Stack-allocated temporary space is used for the transformation, |
-// so value and source may refer to the same string. |
-typedef size_t (*Transform)(char * buffer, size_t buflen, |
- const char * source, size_t srclen); |
-size_t transform(std::string& value, size_t maxlen, const std::string& source, |
- Transform t); |
- |
-// Return the result of applying transform t to source. |
-std::string s_transform(const std::string& source, Transform t); |
- |
-// Convenience wrappers. |
-inline std::string s_url_encode(const std::string& source) { |
- return s_transform(source, url_encode); |
-} |
-inline std::string s_url_decode(const std::string& source) { |
- return s_transform(source, url_decode); |
-} |
- |
-// Splits the source string into multiple fields separated by delimiter, |
-// with duplicates of delimiter creating empty fields. |
-size_t split(const std::string& source, char delimiter, |
- std::vector<std::string>* fields); |
- |
-// Splits the source string into multiple fields separated by delimiter, |
-// with duplicates of delimiter ignored. Trailing delimiter ignored. |
-size_t tokenize(const std::string& source, char delimiter, |
- std::vector<std::string>* fields); |
- |
-// Tokenize, including the empty tokens. |
-size_t tokenize_with_empty_tokens(const std::string& source, |
- char delimiter, |
- std::vector<std::string>* fields); |
- |
-// Tokenize and append the tokens to fields. Return the new size of fields. |
-size_t tokenize_append(const std::string& source, char delimiter, |
- std::vector<std::string>* fields); |
- |
-// Splits the source string into multiple fields separated by delimiter, with |
-// duplicates of delimiter ignored. Trailing delimiter ignored. A substring in |
-// between the start_mark and the end_mark is treated as a single field. Return |
-// the size of fields. For example, if source is "filename |
-// \"/Library/Application Support/media content.txt\"", delimiter is ' ', and |
-// the start_mark and end_mark are '"', this method returns two fields: |
-// "filename" and "/Library/Application Support/media content.txt". |
-size_t tokenize(const std::string& source, char delimiter, char start_mark, |
- char end_mark, std::vector<std::string>* fields); |
- |
-// Extract the first token from source as separated by delimiter, with |
-// duplicates of delimiter ignored. Return false if the delimiter could not be |
-// found, otherwise return true. |
-bool tokenize_first(const std::string& source, |
- const char delimiter, |
- std::string* token, |
- std::string* rest); |
- |
-// Safe sprintf to std::string |
-//void sprintf(std::string& value, size_t maxlen, const char * format, ...) |
-// PRINTF_FORMAT(3); |
- |
-// Convert arbitrary values to/from a string. |
- |
-template <class T> |
-static bool ToString(const T &t, std::string* s) { |
- RTC_DCHECK(s); |
- std::ostringstream oss; |
- oss << std::boolalpha << t; |
- *s = oss.str(); |
- return !oss.fail(); |
-} |
- |
-template <class T> |
-static bool FromString(const std::string& s, T* t) { |
- RTC_DCHECK(t); |
- std::istringstream iss(s); |
- iss >> std::boolalpha >> *t; |
- return !iss.fail(); |
-} |
- |
-// Inline versions of the string conversion routines. |
- |
-template<typename T> |
-static inline std::string ToString(const T& val) { |
- std::string str; ToString(val, &str); return str; |
-} |
- |
-template<typename T> |
-static inline T FromString(const std::string& str) { |
- T val; FromString(str, &val); return val; |
-} |
- |
-template<typename T> |
-static inline T FromString(const T& defaultValue, const std::string& str) { |
- T val(defaultValue); FromString(str, &val); return val; |
-} |
- |
-// simple function to strip out characters which shouldn't be |
-// used in filenames |
-char make_char_safe_for_filename(char c); |
- |
-////////////////////////////////////////////////////////////////////// |
- |
-} // namespace rtc |
+// This header is deprecated and is just left here temporarily during |
+// refactoring. See https://bugs.webrtc.org/7634 for more details. |
+#include "webrtc/rtc_base/stringencode.h" |
#endif // WEBRTC_BASE_STRINGENCODE_H__ |