diff options
author | mpcomplete <mpcomplete@chromium.org> | 2014-09-02 17:05:23 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-03 00:26:03 +0000 |
commit | 278d42a659161b96461b27e166d44224da697eaa (patch) | |
tree | e070d4b6d5a42c73921389139a9df025a40b3b9f /mojo/common | |
parent | dc3e49849ab91ae24be3dfd1e7e1deb6138147c6 (diff) | |
download | chromium_src-278d42a659161b96461b27e166d44224da697eaa.zip chromium_src-278d42a659161b96461b27e166d44224da697eaa.tar.gz chromium_src-278d42a659161b96461b27e166d44224da697eaa.tar.bz2 |
Change TypeConverter<X,Y>::ConvertFrom and ConvertTo into a single symmetric
Convert method.
Also added a ConvertTo<X> helper function.
Also changed it from class to struct, since every method was public.
BUG=406492
Review URL: https://codereview.chromium.org/507173003
Cr-Commit-Position: refs/heads/master@{#293027}
Diffstat (limited to 'mojo/common')
-rw-r--r-- | mojo/common/common_type_converters.cc | 17 | ||||
-rw-r--r-- | mojo/common/common_type_converters.h | 33 |
2 files changed, 29 insertions, 21 deletions
diff --git a/mojo/common/common_type_converters.cc b/mojo/common/common_type_converters.cc index 2439432..ffc1907 100644 --- a/mojo/common/common_type_converters.cc +++ b/mojo/common/common_type_converters.cc @@ -12,7 +12,7 @@ namespace mojo { // static -String TypeConverter<String, base::StringPiece>::ConvertFrom( +String TypeConverter<String, base::StringPiece>::Convert( const base::StringPiece& input) { if (input.empty()) { char c = 0; @@ -21,29 +21,28 @@ String TypeConverter<String, base::StringPiece>::ConvertFrom( return String(input.data(), input.size()); } // static -base::StringPiece TypeConverter<String, base::StringPiece>::ConvertTo( +base::StringPiece TypeConverter<base::StringPiece, String>::Convert( const String& input) { return input.get(); } // static -String TypeConverter<String, base::string16>::ConvertFrom( +String TypeConverter<String, base::string16>::Convert( const base::string16& input) { - return TypeConverter<String, base::StringPiece>::ConvertFrom( + return TypeConverter<String, base::StringPiece>::Convert( base::UTF16ToUTF8(input)); } // static -base::string16 TypeConverter<String, base::string16>::ConvertTo( +base::string16 TypeConverter<base::string16, String>::Convert( const String& input) { - return base::UTF8ToUTF16(TypeConverter<String, base::StringPiece>::ConvertTo( - input)); + return base::UTF8ToUTF16(input.To<base::StringPiece>()); } -String TypeConverter<String, GURL>::ConvertFrom(const GURL& input) { +String TypeConverter<String, GURL>::Convert(const GURL& input) { return String(input.spec()); } -GURL TypeConverter<String, GURL>::ConvertTo(const String& input) { +GURL TypeConverter<GURL, String>::Convert(const String& input) { return GURL(input.get()); } diff --git a/mojo/common/common_type_converters.h b/mojo/common/common_type_converters.h index 9afbfc6..159325e 100644 --- a/mojo/common/common_type_converters.h +++ b/mojo/common/common_type_converters.h @@ -16,24 +16,33 @@ class GURL; namespace mojo { template <> -class MOJO_COMMON_EXPORT TypeConverter<String, base::StringPiece> { - public: - static String ConvertFrom(const base::StringPiece& input); - static base::StringPiece ConvertTo(const String& input); +struct MOJO_COMMON_EXPORT TypeConverter<String, base::StringPiece> { + static String Convert(const base::StringPiece& input); }; template <> -class MOJO_COMMON_EXPORT TypeConverter<String, base::string16> { - public: - static String ConvertFrom(const base::string16& input); - static base::string16 ConvertTo(const String& input); +struct MOJO_COMMON_EXPORT TypeConverter<base::StringPiece, String> { + static base::StringPiece Convert(const String& input); }; template <> -class MOJO_COMMON_EXPORT TypeConverter<String, GURL> { - public: - static String ConvertFrom(const GURL& input); - static GURL ConvertTo(const String& input); +struct MOJO_COMMON_EXPORT TypeConverter<String, base::string16> { + static String Convert(const base::string16& input); +}; + +template <> +struct MOJO_COMMON_EXPORT TypeConverter<base::string16, String> { + static base::string16 Convert(const String& input); +}; + +template <> +struct MOJO_COMMON_EXPORT TypeConverter<String, GURL> { + static String Convert(const GURL& input); +}; + +template <> +struct MOJO_COMMON_EXPORT TypeConverter<GURL, String> { + static GURL Convert(const String& input); }; } // namespace mojo |