summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuardiola31337 <pablo.guardiola@mapbox.com>2017-05-23 20:02:44 +0200
committerGuardiola31337 <pablo.guardiola@mapbox.com>2017-05-25 17:10:31 +0200
commit1f33adaee221a81e8eb0919f8ef6867b594d7503 (patch)
tree86f38ebd12f4389f43b866669069b18adee3c0e0
parentdbe3657a3be4d6a5a7da31d7665cd59d82c74d2c (diff)
downloadqtlocation-mapboxgl-1f33adaee221a81e8eb0919f8ef6867b594d7503.tar.gz
[WIP] change get filter evaluator signature into optional
-rw-r--r--platform/android/src/style/filter.hpp12
-rw-r--r--platform/android/src/style/layers/layer.cpp20
2 files changed, 17 insertions, 15 deletions
diff --git a/platform/android/src/style/filter.hpp b/platform/android/src/style/filter.hpp
index bfd8838f3d..6c58501a61 100644
--- a/platform/android/src/style/filter.hpp
+++ b/platform/android/src/style/filter.hpp
@@ -13,18 +13,18 @@ public:
static constexpr auto Name() { return "com/mapbox/mapboxsdk/style/layers/Filter"; };
- static jni::Object<Filter::Statement> fromFilter(jni::JNIEnv&, const mbgl::style::Filter&);
-
- static jni::Class<Filter> javaClass;
-
- static void registerNative(jni::JNIEnv&);
-
class Statement : private mbgl::util::noncopyable {
public:
static constexpr auto Name() { return "com/mapbox/mapboxsdk/style/layers/Filter$Statement"; };
static jni::Class<Filter::Statement> javaClass;
};
+
+ static jni::Object<Filter::Statement> fromFilter(jni::JNIEnv&, const mbgl::style::Filter&);
+
+ static jni::Class<Filter> javaClass;
+
+ static void registerNative(jni::JNIEnv&);
};
} // namespace android
diff --git a/platform/android/src/style/layers/layer.cpp b/platform/android/src/style/layers/layer.cpp
index d68f4ebd30..0c51f8470d 100644
--- a/platform/android/src/style/layers/layer.cpp
+++ b/platform/android/src/style/layers/layer.cpp
@@ -100,18 +100,18 @@ namespace android {
}
struct GetFilterEvaluator {
- Filter noop(std::string layerType) {
+ optional<Filter> noop(std::string layerType) {
Log::Warning(mbgl::Event::JNI, "%s doesn't support filters", layerType.c_str());
- return NULL;
+ return {};
}
- Filter operator()(style::BackgroundLayer&) { return noop("BackgroundLayer doesn't support filters"); }
- Filter operator()(style::CustomLayer&) { return noop("CustomLayer doesn't support filters"); }
- Filter operator()(style::RasterLayer&) { return noop("RasterLayer doesn't support filters"); }
+ optional<Filter> operator()(style::BackgroundLayer&) { return noop("BackgroundLayer"); }
+ optional<Filter> operator()(style::CustomLayer&) { return noop("CustomLayer"); }
+ optional<Filter> operator()(style::RasterLayer&) { return noop("RasterLayer"); }
template <class LayerType>
- Filter operator()(LayerType& layer) {
- return layer.getFilter();
+ optional<Filter> operator()(LayerType& layer) {
+ return { layer.getFilter() };
}
};
@@ -119,7 +119,9 @@ namespace android {
using namespace mbgl::style;
using namespace mbgl::android::conversion;
- return *convert<jni::Object<mbgl::android::Filter::Statement>, mbgl::style::Filter>(env, layer.accept(GetFilterEvaluator());
+ auto tmp = layer.accept(GetFilterEvaluator());
+
+ return *convert<jni::Object<mbgl::android::Filter::Statement>, mbgl::style::Filter>(env, *tmp);
}
struct SetFilterEvaluator {
@@ -142,7 +144,7 @@ namespace android {
Value wrapped(env, jfilter);
Error error;
- optional<mbgl::style::Filter> converted = convert<mbgl::style::Filter>(wrapped, error);
+ optional<Filter> converted = convert<Filter>(wrapped, error);
if (!converted) {
mbgl::Log::Error(mbgl::Event::JNI, "Error setting filter: " + error.message);
return;