X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fmojo%2Fcommon%2Fcommon_type_converters.h;h=7b0260adaf6dae491d3f6e4a79a02ea6073b0177;hb=3545e9f2671f595d2a2f3ee75ca0393b01e35ef6;hp=9afbfc63112c82c6e3d475a97588186369c24e70;hpb=7d210d4c7e9ba36e635eabc5b5780495f8a63292;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/mojo/common/common_type_converters.h b/src/mojo/common/common_type_converters.h index 9afbfc6..7b0260a 100644 --- a/src/mojo/common/common_type_converters.h +++ b/src/mojo/common/common_type_converters.h @@ -8,6 +8,7 @@ #include "base/strings/string16.h" #include "base/strings/string_piece.h" #include "mojo/common/mojo_common_export.h" +#include "mojo/public/cpp/bindings/array.h" #include "mojo/public/cpp/bindings/string.h" #include "mojo/public/cpp/bindings/type_converter.h" @@ -16,24 +17,47 @@ class GURL; namespace mojo { template <> -class MOJO_COMMON_EXPORT TypeConverter { - public: - static String ConvertFrom(const base::StringPiece& input); - static base::StringPiece ConvertTo(const String& input); +struct MOJO_COMMON_EXPORT TypeConverter { + static String Convert(const base::StringPiece& input); }; template <> -class MOJO_COMMON_EXPORT TypeConverter { - public: - static String ConvertFrom(const base::string16& input); - static base::string16 ConvertTo(const String& input); +struct MOJO_COMMON_EXPORT TypeConverter { + static base::StringPiece Convert(const String& input); }; template <> -class MOJO_COMMON_EXPORT TypeConverter { - public: - static String ConvertFrom(const GURL& input); - static GURL ConvertTo(const String& input); +struct MOJO_COMMON_EXPORT TypeConverter { + static String Convert(const base::string16& input); +}; + +template <> +struct MOJO_COMMON_EXPORT TypeConverter { + static base::string16 Convert(const String& input); +}; + +template <> +struct MOJO_COMMON_EXPORT TypeConverter { + static String Convert(const GURL& input); +}; + +template <> +struct MOJO_COMMON_EXPORT TypeConverter { + static GURL Convert(const String& input); +}; + +// TODO(erg): In the very long term, we will want to remove conversion between +// std::strings and arrays of unsigned bytes. However, there is too much code +// across chrome which uses std::string as a bag of bytes that we probably +// don't want to roll this function at each callsite. +template <> +struct MOJO_COMMON_EXPORT TypeConverter > { + static std::string Convert(const Array& input); +}; + +template <> +struct MOJO_COMMON_EXPORT TypeConverter, std::string> { + static Array Convert(const std::string& input); }; } // namespace mojo