Use std::optional instead of mbgl::optional (#911)
This commit is contained in:
@@ -134,7 +134,7 @@ FeatureExtensionValue AndroidRendererFrontend::queryFeatureExtensions(const std:
|
||||
const Feature& feature,
|
||||
const std::string& extension,
|
||||
const std::string& extensionField,
|
||||
const optional<std::map<std::string, mbgl::Value>>& args) const {
|
||||
const std::optional<std::map<std::string, mbgl::Value>>& args) const {
|
||||
return mapRenderer.actor().ask(&Renderer::queryFeatureExtensions, sourceID, feature, extension, extensionField, args).get();
|
||||
}
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
const Feature& feature,
|
||||
const std::string& extension,
|
||||
const std::string& extensionField,
|
||||
const optional<std::map<std::string, mbgl::Value>>& args) const;
|
||||
const std::optional<std::map<std::string, mbgl::Value>>& args) const;
|
||||
|
||||
// Memory
|
||||
void reduceMemoryUse();
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace android {
|
||||
// FileSource //
|
||||
|
||||
FileSource::FileSource(jni::JNIEnv& _env, const jni::String& apiKey, const jni::String& _cachePath, const jni::Object<TileServerOptions>& _options)
|
||||
:activationCounter( optional<int>(1)) {
|
||||
:activationCounter( std::optional<int>(1)) {
|
||||
std::string path = jni::Make<std::string>(_env, _cachePath);
|
||||
mapbox::sqlite::setTempPath(path);
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ public:
|
||||
|
||||
private:
|
||||
const std::string DATABASE_FILE = "/mbgl-offline.db";
|
||||
optional<int> activationCounter;
|
||||
std::optional<int> activationCounter;
|
||||
mbgl::ResourceOptions resourceOptions;
|
||||
mbgl::ClientOptions clientOptions;
|
||||
std::unique_ptr<Actor<ResourceTransform::TransformCallback>> resourceTransform;
|
||||
|
||||
@@ -160,8 +160,8 @@ void HTTPRequest::onResponse(jni::JNIEnv& env, int code,
|
||||
} else if (code == 404) {
|
||||
response.error = std::make_unique<Error>(Error::Reason::NotFound, "HTTP status code 404");
|
||||
} else if (code == 429) {
|
||||
optional<std::string> retryAfter;
|
||||
optional<std::string> xRateLimitReset;
|
||||
std::optional<std::string> retryAfter;
|
||||
std::optional<std::string> xRateLimitReset;
|
||||
if (jRetryAfter) {
|
||||
retryAfter = jni::Make<std::string>(env, jRetryAfter);
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@ namespace platform {
|
||||
|
||||
class Collator::Impl {
|
||||
public:
|
||||
Impl(bool caseSensitive_, bool diacriticSensitive_, optional<std::string> locale_)
|
||||
Impl(bool caseSensitive_, bool diacriticSensitive_, std::optional<std::string> locale_)
|
||||
: caseSensitive(caseSensitive_)
|
||||
, diacriticSensitive(diacriticSensitive_)
|
||||
, env(android::AttachEnv())
|
||||
@@ -156,9 +156,9 @@ public:
|
||||
std::string language = jni::Make<std::string>(*env, android::Locale::getLanguage(*env, locale));
|
||||
std::string region = jni::Make<std::string>(*env, android::Locale::getCountry(*env, locale));
|
||||
|
||||
optional<std::string> resultLanguage;
|
||||
std::optional<std::string> resultLanguage;
|
||||
if (!language.empty()) resultLanguage = language;
|
||||
optional<std::string> resultRegion;
|
||||
std::optional<std::string> resultRegion;
|
||||
if (!region.empty()) resultRegion = region;
|
||||
|
||||
return LanguageTag(resultLanguage, {}, resultRegion).toBCP47();
|
||||
@@ -173,7 +173,7 @@ private:
|
||||
jni::Global<jni::Object<android::Locale>> locale;
|
||||
};
|
||||
|
||||
Collator::Collator(bool caseSensitive, bool diacriticSensitive, const optional<std::string>& locale_)
|
||||
Collator::Collator(bool caseSensitive, bool diacriticSensitive, const std::optional<std::string>& locale_)
|
||||
: impl(std::make_shared<Impl>(caseSensitive, diacriticSensitive, locale_)) {}
|
||||
|
||||
bool Collator::operator==(const Collator& other) const {
|
||||
|
||||
@@ -21,7 +21,7 @@ MapRenderer::MapRenderer(jni::JNIEnv& _env,
|
||||
: javaPeer(_env, obj),
|
||||
pixelRatio(pixelRatio_),
|
||||
localIdeographFontFamily(localIdeographFontFamily_ ? jni::Make<std::string>(_env, localIdeographFontFamily_)
|
||||
: optional<std::string>{}),
|
||||
: std::optional<std::string>{}),
|
||||
mailboxData(this) {}
|
||||
|
||||
MapRenderer::MailboxData::MailboxData(Scheduler* scheduler_) : scheduler(scheduler_) {
|
||||
@@ -51,7 +51,7 @@ void MapRenderer::reset() {
|
||||
std::lock_guard<std::mutex> lock(initialisationMutex);
|
||||
rendererObserver.reset();
|
||||
} catch (const std::exception& exception) {
|
||||
Log::Error(Event::Android, "MapRenderer::reset failed: %s", exception.what());
|
||||
Log::Error(Event::Android, std::string("MapRenderer::reset failed: ") + exception.what());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ void MapRenderer::schedule(std::function<void()> scheduled) {
|
||||
// Release the c++ peer as it will be destroyed on GC of the Java Peer
|
||||
runnable.release();
|
||||
} catch (const std::exception& exception) {
|
||||
Log::Error(Event::Android, "MapRenderer::schedule failed: %s", exception.what());
|
||||
Log::Error(Event::Android, std::string("MapRenderer::schedule failed: ") + exception.what());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ void MapRenderer::requestRender() {
|
||||
weakReference.Call(*_env, onInvalidate);
|
||||
}
|
||||
} catch (const std::exception& exception) {
|
||||
Log::Error(Event::Android, "MapRenderer::requestRender failed: %s", exception.what());
|
||||
Log::Error(Event::Android, std::string("MapRenderer::requestRender failed: ") + exception.what());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ void MapRenderer::update(std::shared_ptr<UpdateParameters> params) {
|
||||
std::lock_guard<std::mutex> lock(updateMutex);
|
||||
updateParameters = std::move(params);
|
||||
} catch (const std::exception& exception) {
|
||||
Log::Error(Event::Android, "MapRenderer::update failed: %s", exception.what());
|
||||
Log::Error(Event::Android, std::string("MapRenderer::update failed: ") + exception.what());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ void MapRenderer::setObserver(std::shared_ptr<RendererObserver> _rendererObserve
|
||||
renderer->setObserver(rendererObserver.get());
|
||||
}
|
||||
} catch (const std::exception& exception) {
|
||||
Log::Error(Event::Android, "MapRenderer::setObserver failed: %s", exception.what());
|
||||
Log::Error(Event::Android, std::string("MapRenderer::setObserver failed: ") + exception.what());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
#include <mbgl/actor/actor_ref.hpp>
|
||||
#include <mbgl/actor/scheduler.hpp>
|
||||
#include <mbgl/util/image.hpp>
|
||||
#include <mbgl/util/optional.hpp>
|
||||
|
||||
#include <memory>
|
||||
#include <mutex>
|
||||
#include <utility>
|
||||
#include <optional>
|
||||
|
||||
#include <jni/jni.hpp>
|
||||
|
||||
@@ -112,7 +112,7 @@ private:
|
||||
jni::WeakReference<jni::Object<MapRenderer>, jni::EnvAttachingDeleter> javaPeer;
|
||||
|
||||
float pixelRatio;
|
||||
optional<std::string> localIdeographFontFamily;
|
||||
std::optional<std::string> localIdeographFontFamily;
|
||||
|
||||
std::shared_ptr<ThreadPool> threadPool;
|
||||
const MailboxData mailboxData;
|
||||
|
||||
@@ -407,7 +407,7 @@ void NativeMapView::flyTo(jni::JNIEnv& env, jni::jdouble bearing, jni::jdouble l
|
||||
}
|
||||
|
||||
jni::Local<jni::Object<LatLng>> NativeMapView::getLatLng(JNIEnv& env) {
|
||||
return LatLng::New(env, *map->getCameraOptions(mbgl::nullopt).center);
|
||||
return LatLng::New(env, *map->getCameraOptions(std::nullopt).center);
|
||||
}
|
||||
|
||||
void NativeMapView::setLatLng(jni::JNIEnv& env, jni::jdouble latitude, jni::jdouble longitude, const jni::Array<jni::jdouble>& padding, jni::jlong duration) {
|
||||
@@ -547,7 +547,7 @@ void NativeMapView::setVisibleCoordinateBounds(JNIEnv& env, const jni::Array<jni
|
||||
}
|
||||
|
||||
void NativeMapView::getVisibleCoordinateBounds(JNIEnv& env, jni::Array<jdouble>& output) {
|
||||
auto latlngBounds = map->latLngBoundsForCameraUnwrapped(map->getCameraOptions(mbgl::nullopt));
|
||||
auto latlngBounds = map->latLngBoundsForCameraUnwrapped(map->getCameraOptions(std::nullopt));
|
||||
|
||||
double latNorth = latlngBounds.north();
|
||||
double lonEast = latlngBounds.east();
|
||||
@@ -583,7 +583,7 @@ void NativeMapView::scheduleSnapshot(jni::JNIEnv&) {
|
||||
}
|
||||
|
||||
jni::Local<jni::Object<CameraPosition>> NativeMapView::getCameraPosition(jni::JNIEnv& env) {
|
||||
return CameraPosition::New(env, map->getCameraOptions(mbgl::nullopt), pixelRatio);
|
||||
return CameraPosition::New(env, map->getCameraOptions(std::nullopt), pixelRatio);
|
||||
}
|
||||
|
||||
void NativeMapView::updateMarker(jni::JNIEnv& env, jni::jlong markerId, jni::jdouble lat, jni::jdouble lon, const jni::String& jid) {
|
||||
@@ -861,7 +861,7 @@ jni::Local<jni::Array<jni::Object<geojson::Feature>>> NativeMapView::queryRender
|
||||
using namespace mbgl::android::conversion;
|
||||
using namespace mbgl::android::geojson;
|
||||
|
||||
mbgl::optional<std::vector<std::string>> layers;
|
||||
std::optional<std::vector<std::string>> layers;
|
||||
if (layerIds && layerIds.Length(env) > 0) {
|
||||
layers = android::conversion::toVector(env, layerIds);
|
||||
}
|
||||
@@ -878,7 +878,7 @@ jni::Local<jni::Array<jni::Object<geojson::Feature>>> NativeMapView::queryRender
|
||||
using namespace mbgl::android::conversion;
|
||||
using namespace mbgl::android::geojson;
|
||||
|
||||
mbgl::optional<std::vector<std::string>> layers;
|
||||
std::optional<std::vector<std::string>> layers;
|
||||
if (layerIds && layerIds.Length(env) > 0) {
|
||||
layers = toVector(env, layerIds);
|
||||
}
|
||||
@@ -937,7 +937,7 @@ void NativeMapView::addLayer(JNIEnv& env, jlong nativeLayerPtr, const jni::Strin
|
||||
try {
|
||||
layer->addToStyle(
|
||||
map->getStyle(),
|
||||
before ? mbgl::optional<std::string>(jni::Make<std::string>(env, before)) : mbgl::optional<std::string>());
|
||||
before ? std::optional<std::string>(jni::Make<std::string>(env, before)) : std::optional<std::string>());
|
||||
} catch (const std::runtime_error& error) {
|
||||
jni::ThrowNew(env, jni::FindClass(env, "com/mapbox/mapboxsdk/style/layers/CannotAddLayerException"), error.what());
|
||||
}
|
||||
@@ -961,7 +961,7 @@ void NativeMapView::addLayerAbove(JNIEnv& env, jlong nativeLayerPtr, const jni::
|
||||
}
|
||||
|
||||
// Check if we found a sibling to place before
|
||||
mbgl::optional<std::string> before;
|
||||
std::optional<std::string> before;
|
||||
if (index + 1 > layers.size()) {
|
||||
// Not found
|
||||
jni::ThrowNew(env, jni::FindClass(env, "com/mapbox/mapboxsdk/style/layers/CannotAddLayerException"),
|
||||
@@ -989,7 +989,7 @@ void NativeMapView::addLayerAt(JNIEnv& env, jlong nativeLayerPtr, jni::jint inde
|
||||
// Check index
|
||||
int numLayers = layers.size() - 1;
|
||||
if (index > numLayers || index < 0) {
|
||||
Log::Error(Event::JNI, "Index out of range: %i", index);
|
||||
Log::Error(Event::JNI, "Index out of range: " + std::to_string(index));
|
||||
jni::ThrowNew(env, jni::FindClass(env, "com/mapbox/mapboxsdk/style/layers/CannotAddLayerException"),
|
||||
std::string("Invalid index").c_str());
|
||||
return;
|
||||
@@ -1013,7 +1013,7 @@ jni::jboolean NativeMapView::removeLayerAt(JNIEnv& env, jni::jint index) {
|
||||
// Check index
|
||||
int numLayers = layers.size() - 1;
|
||||
if (index > numLayers || index < 0) {
|
||||
Log::Warning(Event::JNI, "Index out of range: %i", index);
|
||||
Log::Warning(Event::JNI, "Index out of range: " + std::to_string(index));
|
||||
return jni::jni_false;
|
||||
}
|
||||
|
||||
|
||||
@@ -250,7 +250,7 @@ void OfflineRegion::OfflineRegionStatusCallback::onError(jni::JNIEnv& env,
|
||||
|
||||
void OfflineRegion::OfflineRegionStatusCallback::onStatus(jni::JNIEnv& env,
|
||||
const jni::Object<OfflineRegion::OfflineRegionStatusCallback>& callback,
|
||||
mbgl::optional<mbgl::OfflineRegionStatus> status) {
|
||||
std::optional<mbgl::OfflineRegionStatus> status) {
|
||||
static auto& javaClass = jni::Class<OfflineRegion::OfflineRegionStatusCallback>::Singleton(env);
|
||||
static auto method = javaClass.GetMethod<void (jni::Object<OfflineRegionStatus>)>(env, "onStatus");
|
||||
|
||||
@@ -289,7 +289,7 @@ void OfflineRegion::OfflineRegionUpdateMetadataCallback::onError(jni::JNIEnv& en
|
||||
|
||||
void OfflineRegion::OfflineRegionUpdateMetadataCallback::onUpdate(jni::JNIEnv& env,
|
||||
const jni::Object<OfflineRegion::OfflineRegionUpdateMetadataCallback>& callback,
|
||||
mbgl::optional<mbgl::OfflineRegionMetadata> metadata) {
|
||||
std::optional<mbgl::OfflineRegionMetadata> metadata) {
|
||||
static auto& javaClass = jni::Class<OfflineRegion::OfflineRegionUpdateMetadataCallback>::Singleton(env);
|
||||
static auto method = javaClass.GetMethod<void (jni::Array<jni::jbyte>)>(env, "onUpdate");
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ public:
|
||||
|
||||
static void onStatus(jni::JNIEnv&,
|
||||
const jni::Object<OfflineRegionStatusCallback>&,
|
||||
mbgl::optional<mbgl::OfflineRegionStatus>);
|
||||
std::optional<mbgl::OfflineRegionStatus>);
|
||||
};
|
||||
|
||||
class OfflineRegionDeleteCallback {
|
||||
@@ -54,7 +54,7 @@ public:
|
||||
|
||||
static void onUpdate(jni::JNIEnv&,
|
||||
const jni::Object<OfflineRegionUpdateMetadataCallback>&,
|
||||
mbgl::optional<mbgl::OfflineRegionMetadata>);
|
||||
std::optional<mbgl::OfflineRegionMetadata>);
|
||||
};
|
||||
|
||||
static constexpr auto Name() { return "com/mapbox/mapboxsdk/offline/OfflineRegion"; };
|
||||
|
||||
@@ -48,7 +48,7 @@ MapSnapshotter::MapSnapshotter(jni::JNIEnv& _env,
|
||||
mbgl::android::FileSource::getSharedResourceOptions(_env, _jFileSource),
|
||||
mbgl::android::FileSource::getSharedClientOptions(_env, _jFileSource),
|
||||
*this,
|
||||
_localIdeographFontFamily ? jni::Make<std::string>(_env, _localIdeographFontFamily) : optional<std::string>{});
|
||||
_localIdeographFontFamily ? jni::Make<std::string>(_env, _localIdeographFontFamily) : std::optional<std::string>{});
|
||||
|
||||
if (position) {
|
||||
snapshotter->setCameraOptions(CameraPosition::getCameraOptions(_env, position, pixelRatio));
|
||||
@@ -197,7 +197,7 @@ void MapSnapshotter::addLayerAt(JNIEnv& env, jlong nativeLayerPtr, jni::jint ind
|
||||
// Check index
|
||||
const int numLayers = layers.size() - 1;
|
||||
if (index > numLayers || index < 0) {
|
||||
Log::Error(Event::JNI, "Index out of range: %i", index);
|
||||
Log::Error(Event::JNI, "Index out of range: " + std::to_string(index));
|
||||
jni::ThrowNew(env,
|
||||
jni::FindClass(env, "com/mapbox/mapboxsdk/style/layers/CannotAddLayerException"),
|
||||
std::string("Invalid index").c_str());
|
||||
@@ -218,7 +218,7 @@ void MapSnapshotter::addLayerBelow(JNIEnv& env, jlong nativeLayerPtr, const jni:
|
||||
try {
|
||||
layer->addToStyle(
|
||||
snapshotter->getStyle(),
|
||||
below ? mbgl::optional<std::string>(jni::Make<std::string>(env, below)) : mbgl::optional<std::string>());
|
||||
below ? std::optional<std::string>(jni::Make<std::string>(env, below)) : std::optional<std::string>());
|
||||
} catch (const std::runtime_error& error) {
|
||||
jni::ThrowNew(
|
||||
env, jni::FindClass(env, "com/mapbox/mapboxsdk/style/layers/CannotAddLayerException"), error.what());
|
||||
@@ -242,7 +242,7 @@ void MapSnapshotter::addLayerAbove(JNIEnv& env, jlong nativeLayerPtr, const jni:
|
||||
}
|
||||
|
||||
// Check if we found a sibling to place before
|
||||
mbgl::optional<std::string> before;
|
||||
std::optional<std::string> before;
|
||||
if (index > snapshotterLayers.size()) {
|
||||
// Not found
|
||||
jni::ThrowNew(env,
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
|
||||
#include <mbgl/util/feature.hpp>
|
||||
#include <mbgl/util/logging.hpp>
|
||||
#include <mbgl/util/optional.hpp>
|
||||
#include <mbgl/style/conversion/geojson.hpp>
|
||||
#include <mbgl/style/conversion_impl.hpp>
|
||||
|
||||
#include <jni/jni.hpp>
|
||||
#include <optional>
|
||||
|
||||
namespace mbgl {
|
||||
namespace style {
|
||||
@@ -37,7 +37,7 @@ public:
|
||||
return value.get(i);
|
||||
}
|
||||
|
||||
static optional<mbgl::android::Value> objectMember(const mbgl::android::Value& value, const char* key) {
|
||||
static std::optional<mbgl::android::Value> objectMember(const mbgl::android::Value& value, const char* key) {
|
||||
mbgl::android::Value member = value.get(key);
|
||||
if (!member.isNull()) {
|
||||
return member;
|
||||
@@ -47,14 +47,14 @@ public:
|
||||
}
|
||||
|
||||
template <class Fn>
|
||||
static optional<Error> eachMember(const mbgl::android::Value& value, Fn&& fn) {
|
||||
static std::optional<Error> eachMember(const mbgl::android::Value& value, Fn&& fn) {
|
||||
assert(value.isObject());
|
||||
mbgl::android::Value keys = value.keyArray();
|
||||
std::size_t length = arrayLength(keys);
|
||||
for(std::size_t i = 0; i < length; ++i){
|
||||
const auto k = keys.get(i).toString();
|
||||
auto v = value.get(k.c_str());
|
||||
optional<Error> result = fn(k, std::move(v));
|
||||
std::optional<Error> result = fn(k, std::move(v));
|
||||
if (result) {
|
||||
return result;
|
||||
}
|
||||
@@ -62,7 +62,7 @@ public:
|
||||
return {};
|
||||
}
|
||||
|
||||
static optional<bool> toBool(const mbgl::android::Value& value) {
|
||||
static std::optional<bool> toBool(const mbgl::android::Value& value) {
|
||||
if (value.isBool()) {
|
||||
return value.toBool();
|
||||
} else {
|
||||
@@ -70,7 +70,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
static optional<float> toNumber(const mbgl::android::Value& value) {
|
||||
static std::optional<float> toNumber(const mbgl::android::Value& value) {
|
||||
if (value.isNumber()) {
|
||||
auto num = value.toFloat();
|
||||
return num;
|
||||
@@ -79,7 +79,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
static optional<double> toDouble(const mbgl::android::Value& value) {
|
||||
static std::optional<double> toDouble(const mbgl::android::Value& value) {
|
||||
if (value.isNumber()) {
|
||||
return value.toDouble();
|
||||
} else {
|
||||
@@ -87,7 +87,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
static optional<std::string> toString(const mbgl::android::Value& value) {
|
||||
static std::optional<std::string> toString(const mbgl::android::Value& value) {
|
||||
if (value.isString()) {
|
||||
return value.toString();
|
||||
} else {
|
||||
@@ -95,7 +95,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
static optional<Value> toValue(const mbgl::android::Value& value) {
|
||||
static std::optional<Value> toValue(const mbgl::android::Value& value) {
|
||||
if (value.isNull()) {
|
||||
return {};
|
||||
} else if (value.isBool()) {
|
||||
@@ -109,7 +109,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
static optional<GeoJSON> toGeoJSON(const mbgl::android::Value &value, Error &error) {
|
||||
static std::optional<GeoJSON> toGeoJSON(const mbgl::android::Value &value, Error &error) {
|
||||
if (value.isNull()) {
|
||||
error = { "no json data found" };
|
||||
return {};
|
||||
@@ -139,7 +139,7 @@ public:
|
||||
};
|
||||
|
||||
template <class T, class...Args>
|
||||
optional<T> convert(mbgl::android::Value&& value, Error& error, Args&&...args) {
|
||||
std::optional<T> convert(mbgl::android::Value&& value, Error& error, Args&&...args) {
|
||||
return convert<T>(Convertible(std::move(value)), error, std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
|
||||
@@ -8,8 +8,8 @@ namespace mbgl {
|
||||
namespace android {
|
||||
namespace conversion {
|
||||
|
||||
optional<mbgl::style::Filter> toFilter(jni::JNIEnv& env, const jni::Array<jni::Object<>>& jfilter) {
|
||||
mbgl::optional<mbgl::style::Filter> filter;
|
||||
std::optional<mbgl::style::Filter> toFilter(jni::JNIEnv& env, const jni::Array<jni::Object<>>& jfilter) {
|
||||
std::optional<mbgl::style::Filter> filter;
|
||||
if (jfilter) {
|
||||
mbgl::style::conversion::Error error;
|
||||
auto converted = mbgl::style::conversion::convert<mbgl::style::Filter>(Value(env, jfilter), error);
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include <mbgl/style/filter.hpp>
|
||||
#include <mbgl/util/optional.hpp>
|
||||
|
||||
#include <jni/jni.hpp>
|
||||
|
||||
@@ -9,7 +8,7 @@ namespace mbgl {
|
||||
namespace android {
|
||||
namespace conversion {
|
||||
|
||||
optional<mbgl::style::Filter> toFilter(jni::JNIEnv&, const jni::Array<jni::Object<>>&);
|
||||
std::optional<mbgl::style::Filter> toFilter(jni::JNIEnv&, const jni::Array<jni::Object<>>&);
|
||||
|
||||
} // namespace conversion
|
||||
} // namespace android
|
||||
|
||||
@@ -16,7 +16,7 @@ variant<std::string, Tileset> convertURLOrTileset(mbgl::android::Value&& value)
|
||||
const Convertible convertible(std::move(value));
|
||||
if (isObject(convertible)) {
|
||||
Error error;
|
||||
optional<Tileset> tileset = convert<Tileset>(convertible, error);
|
||||
std::optional<Tileset> tileset = convert<Tileset>(convertible, error);
|
||||
if (!tileset) {
|
||||
throw std::logic_error(error.message);
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace android {
|
||||
Layer::~Layer() {
|
||||
}
|
||||
|
||||
void Layer::addToStyle(mbgl::style::Style& style, mbgl::optional<std::string> before) {
|
||||
void Layer::addToStyle(mbgl::style::Style& style, std::optional<std::string> before) {
|
||||
// Check to see if we own the layer first
|
||||
if (!ownedLayer) {
|
||||
throw std::runtime_error("Cannot add layer twice");
|
||||
@@ -69,7 +69,7 @@ namespace android {
|
||||
|
||||
void Layer::setProperty(jni::JNIEnv& env, const jni::String& jname, const jni::Object<>& jvalue) {
|
||||
// Convert and set property
|
||||
optional<mbgl::style::conversion::Error> error =
|
||||
std::optional<mbgl::style::conversion::Error> error =
|
||||
layer.setProperty(jni::Make<std::string>(env, jname), Value(env, jvalue));
|
||||
if (error) {
|
||||
mbgl::Log::Error(mbgl::Event::JNI, "Error setting property: " + jni::Make<std::string>(env, jname) + " " + error->message);
|
||||
@@ -82,7 +82,7 @@ namespace android {
|
||||
using namespace mbgl::style::conversion;
|
||||
|
||||
Error error;
|
||||
optional<Filter> converted = convert<Filter>(Value(env, jfilter), error);
|
||||
std::optional<Filter> converted = convert<Filter>(Value(env, jfilter), error);
|
||||
if (!converted) {
|
||||
mbgl::Log::Error(mbgl::Event::JNI, "Error setting filter: " + error.message);
|
||||
return;
|
||||
|
||||
@@ -27,7 +27,7 @@ public:
|
||||
*/
|
||||
void setLayer(std::unique_ptr<mbgl::style::Layer>);
|
||||
|
||||
void addToStyle(mbgl::style::Style&, mbgl::optional<std::string>);
|
||||
void addToStyle(mbgl::style::Style&, std::optional<std::string>);
|
||||
|
||||
// Release the owned view and return it
|
||||
std::unique_ptr<mbgl::style::Layer> releaseCoreLayer();
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace android {
|
||||
return style::CustomGeometrySource::Options();
|
||||
}
|
||||
Error error;
|
||||
optional<style::CustomGeometrySource::Options> result = convert<style::CustomGeometrySource::Options>(Value(env, options), error);
|
||||
std::optional<style::CustomGeometrySource::Options> result = convert<style::CustomGeometrySource::Options>(Value(env, options), error);
|
||||
if (!result) {
|
||||
throw std::logic_error(error.message);
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ static Immutable<style::GeoJSONOptions> convertGeoJSONOptions(jni::JNIEnv& env,
|
||||
return style::GeoJSONOptions::defaultOptions();
|
||||
}
|
||||
Error error;
|
||||
optional<style::GeoJSONOptions> result = convert<style::GeoJSONOptions>(mbgl::android::Value(env, options), error);
|
||||
std::optional<style::GeoJSONOptions> result = convert<style::GeoJSONOptions>(mbgl::android::Value(env, options), error);
|
||||
if (!result) {
|
||||
throw std::logic_error(error.message);
|
||||
}
|
||||
@@ -85,7 +85,7 @@ void GeoJSONSource::setGeoJSONString(jni::JNIEnv& env, const jni::String& jStrin
|
||||
}
|
||||
|
||||
jni::Local<jni::String> GeoJSONSource::getURL(jni::JNIEnv& env) {
|
||||
optional<std::string> url = source.as<style::GeoJSONSource>()->getURL();
|
||||
std::optional<std::string> url = source.as<style::GeoJSONSource>()->getURL();
|
||||
return url ? jni::Make<jni::String>(env, *url) : jni::Local<jni::String>();
|
||||
}
|
||||
|
||||
@@ -231,7 +231,7 @@ void GeoJSONSource::setGeoJSONString(jni::JNIEnv& env, const jni::String& jStrin
|
||||
android::UniqueEnv _env = android::AttachEnv();
|
||||
// Convert the jni object
|
||||
Error error;
|
||||
optional<GeoJSON> converted = parseGeoJSON(*json, error);
|
||||
std::optional<GeoJSON> converted = parseGeoJSON(*json, error);
|
||||
if(!converted) {
|
||||
mbgl::Log::Error(mbgl::Event::JNI, "Error setting geo json: " + error.message);
|
||||
return;
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace android {
|
||||
}
|
||||
|
||||
jni::Local<jni::String> ImageSource::getURL(jni::JNIEnv& env) {
|
||||
optional<std::string> url = source.as<mbgl::style::ImageSource>()->ImageSource::getURL();
|
||||
std::optional<std::string> url = source.as<mbgl::style::ImageSource>()->ImageSource::getURL();
|
||||
return url ? jni::Make<jni::String>(env, *url) : jni::Local<jni::String>();
|
||||
}
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace android {
|
||||
RasterDEMSource::~RasterDEMSource() = default;
|
||||
|
||||
jni::Local<jni::String> RasterDEMSource::getURL(jni::JNIEnv& env) {
|
||||
optional<std::string> url = source.as<mbgl::style::RasterDEMSource>()->RasterDEMSource::getURL();
|
||||
std::optional<std::string> url = source.as<mbgl::style::RasterDEMSource>()->RasterDEMSource::getURL();
|
||||
return url ? jni::Make<jni::String>(env, *url) : jni::Local<jni::String>();
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace android {
|
||||
RasterSource::~RasterSource() = default;
|
||||
|
||||
jni::Local<jni::String> RasterSource::getURL(jni::JNIEnv& env) {
|
||||
optional<std::string> url = source.as<mbgl::style::RasterSource>()->RasterSource::getURL();
|
||||
std::optional<std::string> url = source.as<mbgl::style::RasterSource>()->RasterSource::getURL();
|
||||
return url ? jni::Make<jni::String>(env, *url) : jni::Local<jni::String>();
|
||||
}
|
||||
|
||||
|
||||
@@ -108,7 +108,7 @@ static std::unique_ptr<Source> createSourcePeer(jni::JNIEnv& env,
|
||||
|
||||
void Source::setPrefetchZoomDelta(jni::JNIEnv& env, jni::Integer& delta) {
|
||||
if (!delta) {
|
||||
source.setPrefetchZoomDelta(nullopt);
|
||||
source.setPrefetchZoomDelta(std::nullopt);
|
||||
} else {
|
||||
source.setPrefetchZoomDelta(jni::Unbox(env, delta));
|
||||
}
|
||||
@@ -124,7 +124,7 @@ static std::unique_ptr<Source> createSourcePeer(jni::JNIEnv& env,
|
||||
|
||||
void Source::setMaxOverscaleFactorForParentTiles(jni::JNIEnv& env, jni::Integer& maxOverscaleFactor) {
|
||||
if (!maxOverscaleFactor) {
|
||||
source.setMaxOverscaleFactorForParentTiles(nullopt);
|
||||
source.setMaxOverscaleFactorForParentTiles(std::nullopt);
|
||||
} else {
|
||||
source.setMaxOverscaleFactorForParentTiles(jni::Unbox(env, maxOverscaleFactor));
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ namespace android {
|
||||
VectorSource::~VectorSource() = default;
|
||||
|
||||
jni::Local<jni::String> VectorSource::getURL(jni::JNIEnv& env) {
|
||||
optional<std::string> url = source.as<mbgl::style::VectorSource>()->VectorSource::getURL();
|
||||
std::optional<std::string> url = source.as<mbgl::style::VectorSource>()->VectorSource::getURL();
|
||||
return url ? jni::Make<jni::String>(env, *url) : jni::Local<jni::String>();
|
||||
}
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ void LocalGlyphRasterizer::registerNative(jni::JNIEnv& env) {
|
||||
|
||||
class LocalGlyphRasterizer::Impl {
|
||||
public:
|
||||
Impl(const optional<std::string> fontFamily_)
|
||||
Impl(const std::optional<std::string> fontFamily_)
|
||||
: fontFamily(fontFamily_)
|
||||
{}
|
||||
|
||||
@@ -85,11 +85,11 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
optional<std::string> fontFamily;
|
||||
std::optional<std::string> fontFamily;
|
||||
android::LocalGlyphRasterizer androidLocalGlyphRasterizer;
|
||||
};
|
||||
|
||||
LocalGlyphRasterizer::LocalGlyphRasterizer(const optional<std::string>& fontFamily)
|
||||
LocalGlyphRasterizer::LocalGlyphRasterizer(const std::optional<std::string>& fontFamily)
|
||||
: impl(std::make_unique<Impl>(fontFamily)) {}
|
||||
|
||||
LocalGlyphRasterizer::~LocalGlyphRasterizer()
|
||||
|
||||
@@ -11,11 +11,11 @@ jni::Local<jni::Object<TileServerOptions>> TileServerOptions::New(jni::JNIEnv& e
|
||||
jni::String, jni::String, jni::String, jni::String, jni::String,
|
||||
jni::String, jni::String, jni::jboolean, jni::String, jni::Array<jni::Object<DefaultStyle>>>(env);
|
||||
|
||||
optional<std::string> sourceVersionPrefixValue = tileServerOptions.sourceVersionPrefix();
|
||||
optional<std::string> styleVersionPrefixValue = tileServerOptions.styleVersionPrefix();
|
||||
optional<std::string> spritesVersionPrefixValue = tileServerOptions.spritesVersionPrefix();
|
||||
optional<std::string> glyphsVersionPrefixValue = tileServerOptions.glyphsVersionPrefix();
|
||||
optional<std::string> tileVersionPrefixValue = tileServerOptions.tileVersionPrefix();
|
||||
std::optional<std::string> sourceVersionPrefixValue = tileServerOptions.sourceVersionPrefix();
|
||||
std::optional<std::string> styleVersionPrefixValue = tileServerOptions.styleVersionPrefix();
|
||||
std::optional<std::string> spritesVersionPrefixValue = tileServerOptions.spritesVersionPrefix();
|
||||
std::optional<std::string> glyphsVersionPrefixValue = tileServerOptions.glyphsVersionPrefix();
|
||||
std::optional<std::string> tileVersionPrefixValue = tileServerOptions.tileVersionPrefix();
|
||||
|
||||
return javaClass.New(env, constructor,
|
||||
jni::Make<jni::String>(env, tileServerOptions.baseURL()),
|
||||
@@ -119,31 +119,31 @@ mbgl::TileServerOptions TileServerOptions::getTileServerOptions(jni::JNIEnv& env
|
||||
retVal.withSourceTemplate(
|
||||
jni::Make<std::string>(env, options.Get(env, sourceTemplateField)),
|
||||
jni::Make<std::string>(env, options.Get(env, sourceDomainNameField)),
|
||||
sourcePrefixValue ? jni::Make<std::string>(env, sourcePrefixValue): optional<std::string>{});
|
||||
sourcePrefixValue ? jni::Make<std::string>(env, sourcePrefixValue): std::optional<std::string>{});
|
||||
|
||||
auto styleVersionPrefixValue = options.Get(env, styleVersionPrefixField);
|
||||
retVal.withStyleTemplate(
|
||||
jni::Make<std::string>(env, options.Get(env, styleTemplateField)),
|
||||
jni::Make<std::string>(env, options.Get(env, styleDomainNameField)),
|
||||
styleVersionPrefixValue ? jni::Make<std::string>(env, styleVersionPrefixValue): optional<std::string>{});
|
||||
styleVersionPrefixValue ? jni::Make<std::string>(env, styleVersionPrefixValue): std::optional<std::string>{});
|
||||
|
||||
auto spritesVersionPrefixValue = options.Get(env, spritesVersionPrefixField);
|
||||
retVal.withSpritesTemplate(
|
||||
jni::Make<std::string>(env, options.Get(env, spritesTemplateField)),
|
||||
jni::Make<std::string>(env, options.Get(env, spritesDomainNameField)),
|
||||
spritesVersionPrefixValue ? jni::Make<std::string>(env, spritesVersionPrefixValue): optional<std::string>{});
|
||||
spritesVersionPrefixValue ? jni::Make<std::string>(env, spritesVersionPrefixValue): std::optional<std::string>{});
|
||||
|
||||
auto glyphsVersionPrefixValue = options.Get(env, glyphsVersionPrefixField);
|
||||
retVal.withGlyphsTemplate(
|
||||
jni::Make<std::string>(env, options.Get(env, glyphsTemplateField)),
|
||||
jni::Make<std::string>(env, options.Get(env, glyphsDomainNameField)),
|
||||
glyphsVersionPrefixValue ? jni::Make<std::string>(env, glyphsVersionPrefixValue) : optional<std::string>{});
|
||||
glyphsVersionPrefixValue ? jni::Make<std::string>(env, glyphsVersionPrefixValue) : std::optional<std::string>{});
|
||||
|
||||
auto tileVersionPrefixValue = options.Get(env, tileVersionPrefixField);
|
||||
retVal.withTileTemplate(
|
||||
jni::Make<std::string>(env, options.Get(env, tileTemplateField)),
|
||||
jni::Make<std::string>(env, options.Get(env, tileDomainNameField)),
|
||||
tileVersionPrefixValue ? jni::Make<std::string>(env, tileVersionPrefixValue): optional<std::string>{});
|
||||
tileVersionPrefixValue ? jni::Make<std::string>(env, tileVersionPrefixValue): std::optional<std::string>{});
|
||||
|
||||
retVal.withDefaultStyle(jni::Make<std::string>(env, options.Get(env, defaultStyleField)));
|
||||
retVal.withDefaultStyles(defaultStyles);
|
||||
|
||||
@@ -20,12 +20,12 @@ bool attach_jni_thread(JavaVM* vm, JNIEnv** env, std::string threadName) {
|
||||
ret = vm->GetEnv(reinterpret_cast<void **>(env), JNI_VERSION_1_6);
|
||||
if (ret != JNI_OK) {
|
||||
if (ret != JNI_EDETACHED) {
|
||||
mbgl::Log::Error(mbgl::Event::JNI, "GetEnv() failed with %i", ret);
|
||||
mbgl::Log::Error(mbgl::Event::JNI, "GetEnv() failed with " + std::to_string(ret));
|
||||
throw std::runtime_error("GetEnv() failed");
|
||||
} else {
|
||||
ret = vm->AttachCurrentThread(env, &args);
|
||||
if (ret != JNI_OK) {
|
||||
mbgl::Log::Error(mbgl::Event::JNI, "AttachCurrentThread() failed with %i", ret);
|
||||
mbgl::Log::Error(mbgl::Event::JNI, "AttachCurrentThread() failed with " + std::to_string(ret));
|
||||
throw std::runtime_error("AttachCurrentThread() failed");
|
||||
}
|
||||
detach = true;
|
||||
@@ -43,7 +43,7 @@ void detach_jni_thread(JavaVM* vm, JNIEnv** env, bool detach) {
|
||||
|
||||
jint ret;
|
||||
if ((ret = vm->DetachCurrentThread()) != JNI_OK) {
|
||||
mbgl::Log::Error(mbgl::Event::JNI, "DetachCurrentThread() failed with %i", ret);
|
||||
mbgl::Log::Error(mbgl::Event::JNI, "DetachCurrentThread() failed with " + std::to_string(ret));
|
||||
throw std::runtime_error("DetachCurrentThread() failed");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ namespace platform {
|
||||
|
||||
class Collator::Impl {
|
||||
public:
|
||||
Impl(optional<std::string>) {}
|
||||
Impl(std::optional<std::string>) {}
|
||||
|
||||
bool operator==(const Impl&) const { return true; }
|
||||
|
||||
@@ -16,7 +16,7 @@ public:
|
||||
std::string resolvedLocale() const { return ""; }
|
||||
};
|
||||
|
||||
Collator::Collator(bool, bool, const optional<std::string>& locale_) : impl(std::make_shared<Impl>(locale_)) {}
|
||||
Collator::Collator(bool, bool, const std::optional<std::string>& locale_) : impl(std::make_shared<Impl>(locale_)) {}
|
||||
|
||||
int Collator::compare(const std::string& lhs, const std::string& rhs) const {
|
||||
return impl->compare(lhs, rhs);
|
||||
|
||||
@@ -23,7 +23,7 @@ void runner() {
|
||||
|
||||
mbgl::Log::Info(mbgl::Event::General, "Start TestRunner");
|
||||
int status = mbgl::runTests(argv.size(), argv.data());
|
||||
mbgl::Log::Info(mbgl::Event::General, "TestRunner finished with status: '%d'", status);
|
||||
mbgl::Log::Info(mbgl::Event::General, "TestRunner finished with status: '" + std::to_string(status) + "'");
|
||||
running = false;
|
||||
success = (status == 0);
|
||||
ALooper_wake(looper);
|
||||
@@ -48,7 +48,7 @@ void android_main(struct android_app* app) {
|
||||
runnerThread = std::thread(runner);
|
||||
}
|
||||
} else {
|
||||
mbgl::Log::Error(mbgl::Event::General, "Failed to copy zip file '%s' to external storage", zipFile.c_str());
|
||||
mbgl::Log::Error(mbgl::Event::General, "Failed to copy zip file '" + zipFile + "' to external storage");
|
||||
changeState(env, app, success);
|
||||
}
|
||||
|
||||
|
||||
@@ -94,13 +94,13 @@ bool copyFile(JNIEnv* env,
|
||||
|
||||
bool stateOk = true;
|
||||
if (env->CallBooleanMethod(fileToCopy.get(), fileExists)) {
|
||||
mbgl::Log::Warning(mbgl::Event::General, "File '%s' already exists", filePath.c_str());
|
||||
mbgl::Log::Warning(mbgl::Event::General, "File '" + filePath + "' already exists");
|
||||
} else {
|
||||
std::unique_ptr<AAsset, std::function<void(AAsset*)>> fileAsset(
|
||||
AAssetManager_open(assetManager, fileName.c_str(), AASSET_MODE_BUFFER),
|
||||
[](AAsset* asset) { AAsset_close(asset); });
|
||||
if (fileAsset == nullptr) {
|
||||
mbgl::Log::Warning(mbgl::Event::General, "Failed to open asset file %s", fileName.c_str());
|
||||
mbgl::Log::Warning(mbgl::Event::General, "Failed to open asset file " + fileName);
|
||||
return false;
|
||||
}
|
||||
const void* fileData = AAsset_getBuffer(fileAsset.get());
|
||||
@@ -111,12 +111,12 @@ bool copyFile(JNIEnv* env,
|
||||
stateOk = newFile != nullptr;
|
||||
|
||||
if (!stateOk) {
|
||||
mbgl::Log::Warning(mbgl::Event::General, "Failed to create new file entry %s", fileName.c_str());
|
||||
mbgl::Log::Warning(mbgl::Event::General, "Failed to create new file entry " + fileName);
|
||||
} else {
|
||||
auto res = static_cast<off_t>(std::fwrite(fileData, sizeof(char), fileLen, newFile.get()));
|
||||
if (fileLen != res) {
|
||||
mbgl::Log::Warning(
|
||||
mbgl::Event::General, "Failed to generate file entry %s from assets", fileName.c_str());
|
||||
mbgl::Event::General, "Failed to generate file entry" + fileName + "from assets");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -184,7 +184,7 @@ void unZipFile(JNIEnv* env, const std::string& zipFilePath, const std::string& d
|
||||
|
||||
if (!success) {
|
||||
mbgl::Log::Warning(
|
||||
mbgl::Event::General, "Failed to create folder entry %s from zip", fileNameStr.c_str());
|
||||
mbgl::Event::General, "Failed to create folder entry " + fileNameStr + " from zip");
|
||||
}
|
||||
}
|
||||
} else if (!(env->CallBooleanMethod(f, fileExists))) {
|
||||
@@ -194,7 +194,7 @@ void unZipFile(JNIEnv* env, const std::string& zipFilePath, const std::string& d
|
||||
|
||||
if (!success) {
|
||||
mbgl::Log::Warning(
|
||||
mbgl::Event::General, "Failed to create folder entry %s from zip", fileNameStr.c_str());
|
||||
mbgl::Event::General, "Failed to create folder entry" + fileNameStr + "from zip");
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -215,7 +215,7 @@ void unZipFile(JNIEnv* env, const std::string& zipFilePath, const std::string& d
|
||||
if (env->CallBooleanMethod(fileToDelete.get(), fileExists)) {
|
||||
jboolean success = (env->CallBooleanMethod(fileToDelete.get(), deleteFile));
|
||||
if (!success) {
|
||||
mbgl::Log::Warning(mbgl::Event::General, "Failed to delete file entry %s", zipFilePath.c_str());
|
||||
mbgl::Log::Warning(mbgl::Event::General, "Failed to delete file entry " + zipFilePath);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user