summaryrefslogtreecommitdiff
path: root/platform/android/src/conversion
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2018-08-17 18:05:15 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2018-08-21 09:26:44 -0700
commit9587f569f7d59c9a5eb10c7ff0abb7c5d6e88b21 (patch)
treeade3b99baaf711ad3163a7a4b59c65e9a4d50460 /platform/android/src/conversion
parent1584d8f70adc86e5ddd5a80b4ad9f4b7741f4678 (diff)
downloadqtlocation-mapboxgl-9587f569f7d59c9a5eb10c7ff0abb7c5d6e88b21.tar.gz
[android] Simplify enum conversion
Diffstat (limited to 'platform/android/src/conversion')
-rw-r--r--platform/android/src/conversion/constant.hpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/platform/android/src/conversion/constant.hpp b/platform/android/src/conversion/constant.hpp
index a067547955..0e665cf56a 100644
--- a/platform/android/src/conversion/constant.hpp
+++ b/platform/android/src/conversion/constant.hpp
@@ -3,6 +3,8 @@
#include "conversion.hpp"
#include <mbgl/util/color.hpp>
+#include <mbgl/util/enum.hpp>
+
#include <jni/jni.hpp>
#include <string>
@@ -74,6 +76,13 @@ struct Converter<jni::jobject*, std::vector<float>> {
Result<jni::jobject*> operator()(jni::JNIEnv& env, const std::vector<float>& value) const;
};
+template <class T>
+struct Converter<jni::jobject*, T, typename std::enable_if_t<std::is_enum<T>::value>> {
+ Result<jni::jobject*> operator()(jni::JNIEnv& env, const T& value) const {
+ return convert<jni::jobject*, std::string>(env, Enum<T>::toString(value));
+ }
+};
+
// Java -> C++
template <>