diff --git a/doxygen/_azure_image_layer_8h_source.html b/doxygen/_azure_image_layer_8h_source.html
index 3d06dc27..46039dc5 100644
--- a/doxygen/_azure_image_layer_8h_source.html
+++ b/doxygen/_azure_image_layer_8h_source.html
@@ -85,7 +85,7 @@
- 23 AzureImageLayer(
const JSON&);
+ 23 AzureImageLayer(
const std::string&
JSON,
const IOOptions& io);
26 virtual ~AzureImageLayer() { }
@@ -101,7 +101,7 @@
- 42 void construct(
const JSON&);
+ 42 void construct(
const std::string&
JSON,
const IOOptions& io);
diff --git a/doxygen/_bing_elevation_layer_8h_source.html b/doxygen/_bing_elevation_layer_8h_source.html
index aafc65c7..614b559b 100644
--- a/doxygen/_bing_elevation_layer_8h_source.html
+++ b/doxygen/_bing_elevation_layer_8h_source.html
@@ -87,7 +87,7 @@
- 25 BingElevationLayer(
const JSON&);
+ 25 BingElevationLayer(
const std::string&
JSON,
const IOOptions& io);
28 virtual ~BingElevationLayer() { }
@@ -105,7 +105,7 @@
- 46 void construct(
const JSON&);
+ 46 void construct(
const std::string&
JSON,
const IOOptions& io);
diff --git a/doxygen/_bing_image_layer_8h_source.html b/doxygen/_bing_image_layer_8h_source.html
index d7bc9050..62f111bf 100644
--- a/doxygen/_bing_image_layer_8h_source.html
+++ b/doxygen/_bing_image_layer_8h_source.html
@@ -86,7 +86,7 @@
- 24 BingImageLayer(
const JSON&);
+ 24 BingImageLayer(
const std::string&
JSON,
const IOOptions& io);
27 virtual ~BingImageLayer() { }
@@ -106,7 +106,7 @@
- 47 void construct(
const JSON&);
+ 47 void construct(
const std::string&
JSON,
const IOOptions& io);
diff --git a/doxygen/_elevation_layer_8h_source.html b/doxygen/_elevation_layer_8h_source.html
index b3e46200..c8e2602c 100644
--- a/doxygen/_elevation_layer_8h_source.html
+++ b/doxygen/_elevation_layer_8h_source.html
@@ -125,7 +125,7 @@
-
+
@@ -154,7 +154,7 @@
121 optional<float> _maxValidValue = FLT_MAX;
- 124 void construct(
const JSON&);
+ 124 void construct(
const std::string&
JSON,
const IOOptions& io);
126 shared_ptr<Heightfield> assembleHeightfield(
diff --git a/doxygen/_g_d_a_l_elevation_layer_8h_source.html b/doxygen/_g_d_a_l_elevation_layer_8h_source.html
index e51d2951..97eb449a 100644
--- a/doxygen/_g_d_a_l_elevation_layer_8h_source.html
+++ b/doxygen/_g_d_a_l_elevation_layer_8h_source.html
@@ -86,9 +86,9 @@
- 25 GDALElevationLayer(
const JSON&);
+ 25 GDALElevationLayer(
const std::string&
JSON,
const IOOptions& io);
- 28 JSON to_json()
const override;
+ 28 std::string to_json()
const override;
@@ -102,7 +102,7 @@
- 46 void construct(
const JSON&);
+ 46 void construct(
const std::string&
JSON,
const IOOptions& io);
48 mutable util::ThreadLocal<shared_ptr<GDAL::Driver>> _drivers;
49 friend class GDAL::Driver;
diff --git a/doxygen/_g_d_a_l_image_layer_8h_source.html b/doxygen/_g_d_a_l_image_layer_8h_source.html
index 02410900..610f9982 100644
--- a/doxygen/_g_d_a_l_image_layer_8h_source.html
+++ b/doxygen/_g_d_a_l_image_layer_8h_source.html
@@ -86,9 +86,9 @@
- 25 GDALImageLayer(
const JSON&);
+ 25 GDALImageLayer(
const std::string&
JSON,
const IOOptions& io);
- 28 JSON to_json()
const override;
+ 28 std::string to_json()
const override;
@@ -102,7 +102,7 @@
- 46 void construct(
const JSON&);
+ 46 void construct(
const std::string&
JSON,
const IOOptions& io);
48 mutable util::ThreadLocal<shared_ptr<GDAL::Driver>> _drivers;
49 friend class GDAL::Driver;
diff --git a/doxygen/_i_o_types_8h_source.html b/doxygen/_i_o_types_8h_source.html
index 00e47f32..7e018f0a 100644
--- a/doxygen/_i_o_types_8h_source.html
+++ b/doxygen/_i_o_types_8h_source.html
@@ -80,258 +80,262 @@
11 #include <rocky/Units.h>
12 #include <rocky/Threading.h>
13 #include <rocky/LRUCache.h>
-
-
-
-
-
-
-
- 25 class Cache :
public Inherit<Object, Cache>
-
-
-
-
-
-
- 33 using ReadImageStreamService = std::function<
-
-
- 36 using WriteImageStreamService = std::function<
- 37 Status(shared_ptr<Image> image, std::ostream& stream, std::string contentType,
const IOOptions& io)>;
-
-
- 41 using CacheService = std::function<shared_ptr<CacheImpl>()>;
-
-
-
- 46 virtual shared_ptr<Layer> findLayerByName(
const std::string& name)
const = 0;
-
-
-
-
- 51 std::string contentType;
-
-
-
- 55 using ContentCache = rocky::util::LRUCache<std::string, Result<Content>>;
-
- 57 class ROCKY_EXPORT Services
-
-
-
-
- 62 ReadImageStreamService readImageFromStream;
- 63 WriteImageStreamService writeImageToStream;
-
- 65 shared_ptr<ContentCache> contentCache = std::make_shared<ContentCache>(128);
- 66 std::shared_ptr<util::Gate<std::string>> uriGate = std::make_shared<util::Gate<std::string>>();
-
-
-
- 70 class ROCKY_EXPORT IOOptions :
public Cancelable
-
-
-
- 74 IOOptions(
const IOOptions& rhs);
- 75 IOOptions(Cancelable& p);
- 76 IOOptions(
const IOOptions& rhs, Cancelable& p);
-
-
-
- 82 inline std::string property(
const std::string& name)
const;
- 83 inline std::string& property(
const std::string& name);
+
+
+
+
+
+
+
+
+ 26 class Cache :
public Inherit<Object, Cache>
+
+
+
+
+
+
+
+
+
+
+ 40 Status(shared_ptr<Image> image, std::ostream& stream, std::string contentType,
const IOOptions& io)>;
+
+
+ 44 using CacheService = std::function<shared_ptr<CacheImpl>()>;
+
+
+
+ 49 virtual shared_ptr<Layer> findLayerByName(
const std::string& name)
const = 0;
+
+
+
+
+ 54 std::string contentType;
+
+
+
+ 58 using ContentCache = rocky::util::LRUCache<std::string, Result<Content>>;
+
+ 60 class ROCKY_EXPORT Services
+
+
+
+
+
+
+
+ 68 shared_ptr<ContentCache> contentCache = std::make_shared<ContentCache>(128);
+ 69 std::shared_ptr<util::Gate<std::string>> uriGate = std::make_shared<util::Gate<std::string>>();
+
+
+
+ 73 class ROCKY_EXPORT IOOptions :
public Cancelable
+
+
+ 76 IOOptions() =
default;
+ 77 IOOptions(
const IOOptions& rhs);
+ 78 IOOptions(Cancelable& p);
+ 79 IOOptions(
const IOOptions& rhs, Cancelable& p);
+ 80 IOOptions(
const std::string& referrer);
+
+
- 86 unsigned maxNetworkAttempts = 4u;
-
- 89 inline bool canceled()
const override;
-
-
- 92 IOOptions& operator = (
const IOOptions& rhs);
-
-
- 95 Cancelable* _cancelable;
- 96 std::unordered_map<std::string, std::string> _properties;
-
-
-
- 100 class ROCKY_EXPORT CachePolicy
-
-
-
-
-
-
-
-
-
-
- 111 optional<Usage> usage = Usage::READ_WRITE;
- 112 optional<Duration> maxAge = Duration(DBL_MAX, Units::SECONDS);
- 113 optional<DateTime> minTime = DateTime(0);
-
- 116 static CachePolicy DEFAULT;
+ 86 inline std::string property(
const std::string& name)
const;
+ 87 inline std::string& property(
const std::string& name);
+
+ 90 unsigned maxNetworkAttempts = 4u;
+
+ 93 std::optional<std::string> referrer;
+
+ 96 inline bool canceled()
const override;
+
+
+ 99 IOOptions& operator = (
const IOOptions& rhs);
+
+
+ 102 Cancelable* _cancelable =
nullptr;
+ 103 std::unordered_map<std::string, std::string> _properties;
+
+
+
+ 107 class ROCKY_EXPORT CachePolicy
+
+
+
+
+
+
+
+
+
- 119 static CachePolicy NO_CACHE;
-
- 122 static CachePolicy CACHE_ONLY;
-
-
-
+ 118 optional<Usage> usage = Usage::READ_WRITE;
+ 119 optional<Duration> maxAge = Duration(DBL_MAX, Units::SECONDS);
+ 120 optional<DateTime> minTime = DateTime(0);
+
+ 123 static CachePolicy DEFAULT;
+
+ 126 static CachePolicy NO_CACHE;
- 129 CachePolicy(
const Usage&);
+ 129 static CachePolicy CACHE_ONLY;
-
-
- 135 void mergeAndOverride(
const CachePolicy& rhs);
- 136 void mergeAndOverride(
const optional<CachePolicy>& rhs);
+
+
+
+ 136 CachePolicy(
const Usage&);
- 139 DateTime getMinAcceptTime()
const;
+
- 142 bool isExpired(
TimeStamp lastModified)
const;
-
-
-
- 146 bool isCacheEnabled()
const {
- 147 return isCacheReadable() || isCacheWriteable();
-
-
- 150 bool isCacheDisabled()
const {
- 151 return !isCacheEnabled();
-
-
- 154 bool isCacheReadable()
const {
-
- 156 usage.value() == Usage::READ_WRITE ||
- 157 usage.value() == Usage::CACHE_ONLY ||
- 158 usage.value() == Usage::READ_ONLY;
+ 142 void mergeAndOverride(
const CachePolicy& rhs);
+ 143 void mergeAndOverride(
const optional<CachePolicy>& rhs);
+
+ 146 DateTime getMinAcceptTime()
const;
+
+ 149 bool isExpired(
TimeStamp lastModified)
const;
+
+
+
+ 153 bool isCacheEnabled()
const {
+ 154 return isCacheReadable() || isCacheWriteable();
+
+
+ 157 bool isCacheDisabled()
const {
+ 158 return !isCacheEnabled();
- 161 bool isCacheWriteable()
const {
- 162 return usage.value() == Usage::READ_WRITE;
-
-
- 165 bool isCacheOnly()
const {
- 166 return usage.value() == Usage::CACHE_ONLY;
-
-
- 169 bool operator == (
const CachePolicy& rhs)
const;
-
- 171 bool operator != (
const CachePolicy& rhs)
const {
- 172 return !operator==(rhs);
-
-
- 175 CachePolicy& operator = (
const CachePolicy& rhs);
-
-
- 178 std::string usageString()
const;
-
-
-
-
-
- 187 std::string hostname;
-
- 189 std::string username;
- 190 std::string password;
-
-
- 193 using Headers = std::unordered_map<std::string,std::string>;
-
-
-
- 200 static const std::string CONTENT_TYPE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 220 RESULT_UNKNOWN_ERROR,
- 221 RESULT_NOT_IMPLEMENTED,
-
-
-
- 225 unsigned ioCode = RESULT_OK;
-
-
- 228 bool fromCache =
false;
-
-
-
-
-
-
-
- 237 ioCode(s.ok() ? RESULT_OK : RESULT_NOT_FOUND) { }
+ 161 bool isCacheReadable()
const {
+
+ 163 usage.value() == Usage::READ_WRITE ||
+ 164 usage.value() == Usage::CACHE_ONLY ||
+ 165 usage.value() == Usage::READ_ONLY;
+
+
+ 168 bool isCacheWriteable()
const {
+ 169 return usage.value() == Usage::READ_WRITE;
+
+
+ 172 bool isCacheOnly()
const {
+ 173 return usage.value() == Usage::CACHE_ONLY;
+
+
+ 176 bool operator == (
const CachePolicy& rhs)
const;
+
+ 178 bool operator != (
const CachePolicy& rhs)
const {
+ 179 return !operator==(rhs);
+
+
+ 182 CachePolicy& operator = (
const CachePolicy& rhs);
+
+
+ 185 std::string usageString()
const;
+
+
+
+
+
+ 194 std::string hostname;
+
+ 196 std::string username;
+ 197 std::string password;
+
+
+
+
+ 205 static const std::string CONTENT_TYPE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 225 RESULT_UNKNOWN_ERROR,
+ 226 RESULT_NOT_IMPLEMENTED,
+
+
+
+ 230 unsigned ioCode = RESULT_OK;
+
+
+ 233 bool fromCache =
false;
+
+
+
+
- 239 template<
typename RHS>
-
-
- 242 lhs.ioCode = rhs.ioCode;
- 243 lhs.metadata = rhs.metadata;
- 244 lhs.fromCache = rhs.fromCache;
- 245 lhs.lastModifiedTime = rhs.lastModifiedTime;
- 246 lhs.duration = rhs.duration;
-
-
-
-
-
-
- 254 code == RESULT_OK ?
"OK" :
- 255 code == RESULT_CANCELED ?
"Read canceled" :
- 256 code == RESULT_NOT_FOUND ?
"Target not found" :
- 257 code == RESULT_SERVER_ERROR ?
"Server reported error" :
- 258 code == RESULT_TIMEOUT ?
"Read timed out" :
- 259 code == RESULT_NO_READER ?
"No suitable ReaderWriter found" :
- 260 code == RESULT_READER_ERROR ?
"ReaderWriter error" :
- 261 code == RESULT_NOT_IMPLEMENTED ?
"Not implemented" :
- 262 code == RESULT_NOT_MODIFIED ?
"Not modified" :
-
-
-
- 266 std::string getResultCodeString()
const
-
- 268 return getResultCodeString(ioCode);
+
+
+ 242 ioCode(s.ok() ? RESULT_OK : RESULT_NOT_FOUND) { }
+
+ 244 template<
typename RHS>
+
+
+ 247 lhs.ioCode = rhs.ioCode;
+ 248 lhs.metadata = rhs.metadata;
+ 249 lhs.fromCache = rhs.fromCache;
+ 250 lhs.lastModifiedTime = rhs.lastModifiedTime;
+ 251 lhs.duration = rhs.duration;
+
+
+
+
+
+
+ 259 code == RESULT_OK ?
"OK" :
+ 260 code == RESULT_CANCELED ?
"Read canceled" :
+ 261 code == RESULT_NOT_FOUND ?
"Target not found" :
+ 262 code == RESULT_SERVER_ERROR ?
"Server reported error" :
+ 263 code == RESULT_TIMEOUT ?
"Read timed out" :
+ 264 code == RESULT_NO_READER ?
"No suitable ReaderWriter found" :
+ 265 code == RESULT_READER_ERROR ?
"ReaderWriter error" :
+ 266 code == RESULT_NOT_IMPLEMENTED ?
"Not implemented" :
+ 267 code == RESULT_NOT_MODIFIED ?
"Not modified" :
+
-
-
- 272 std::string IOOptions::property(
const std::string& name)
const {
- 273 auto i = _properties.find(name);
- 274 return i != _properties.end() ? i->second :
"";
-
+
+ 271 std::string getResultCodeString()
const
+
+ 273 return getResultCodeString(ioCode);
+
+
- 277 std::string& IOOptions::property(
const std::string& name) {
- 278 return _properties[name];
-
-
- 281 bool IOOptions::canceled()
const {
- 282 return _cancelable ? _cancelable->canceled() :
false;
-
-
-Base class for a cache.
Definition: IOTypes.h:26
-Service for accessing other data.
Definition: IOTypes.h:44
-Definition: IOTypes.h:185
+ 277 std::string IOOptions::property(
const std::string& name)
const {
+ 278 auto i = _properties.find(name);
+ 279 return i != _properties.end() ? i->second :
"";
+
+
+ 282 std::string& IOOptions::property(
const std::string& name) {
+ 283 return _properties[name];
+
+
+ 286 bool IOOptions::canceled()
const {
+ 287 return _cancelable ? _cancelable->canceled() :
false;
+
+
+Base class for a cache.
Definition: IOTypes.h:27
+Service for accessing other data.
Definition: IOTypes.h:47
+Definition: IOTypes.h:192
Definition: Callbacks.h:16
-std::function< Result< shared_ptr< Image > >(const std::string &location, const IOOptions &)> ReadImageURIService
Service for reading an image from a URL.
Definition: IOTypes.h:31
+std::function< Result< shared_ptr< Image > >(const std::string &location, const IOOptions &)> ReadImageURIService
Service for reading an image from a URI.
Definition: IOTypes.h:32
+std::function< Status(shared_ptr< Image > image, std::ostream &stream, std::string contentType, const IOOptions &io)> WriteImageStreamService
Service for writing an image to a stream.
Definition: IOTypes.h:40
std::string JSON
json serialization type
Definition: Common.h:48
-void * CacheImpl
Service for caching data.
Definition: IOTypes.h:40
+void * CacheImpl
Service for caching data.
Definition: IOTypes.h:43
+std::function< Result< shared_ptr< Image > >(std::istream &stream, std::string contentType, const IOOptions &io)> ReadImageStreamService
Service fro reading an image from a stream.
Definition: IOTypes.h:36
::time_t TimeStamp
Definition: DateTime.h:17
-
-Definition: IOTypes.h:208
-static std::string getResultCodeString(unsigned code)
Definition: IOTypes.h:251
-IOResult(const Status &s)
Definition: IOTypes.h:235
-IOCode
Definition: IOTypes.h:211
+
+Definition: IOTypes.h:213
+static std::string getResultCodeString(unsigned code)
Definition: IOTypes.h:256
+IOResult(const Status &s)
Definition: IOTypes.h:240
+IOCode
Definition: IOTypes.h:216
diff --git a/doxygen/_image_layer_8h_source.html b/doxygen/_image_layer_8h_source.html
index 08f9d2c8..d8107eba 100644
--- a/doxygen/_image_layer_8h_source.html
+++ b/doxygen/_image_layer_8h_source.html
@@ -121,7 +121,7 @@
-
+
74 virtual Status writeImageImplementation(
@@ -160,7 +160,7 @@
- 116 void construct(
const JSON&);
+ 116 void construct(
const std::string&
JSON,
const IOOptions& io);
119 Result<GeoImage> createImageInKeyProfile(
diff --git a/doxygen/_instance_8h_source.html b/doxygen/_instance_8h_source.html
index 47b1a333..08ee829d 100644
--- a/doxygen/_instance_8h_source.html
+++ b/doxygen/_instance_8h_source.html
@@ -99,47 +99,46 @@
41 using ObjectFactory = std::function<
-
- 43 const std::string&
JSON)>;
-
-
- 47 static shared_ptr<T> createObject(
const std::string& name,
const JSON& conf) {
- 48 return std::dynamic_pointer_cast<T>(createObjectImpl(name, conf));
-
-
- 53 static std::unordered_map<std::string, ObjectFactory>& objectFactories();
-
- 56 static std::set<std::string>& about();
-
-
-
-
- 61 CachePolicy cachePolicy;
-
-
- 64 shared_ptr<Implementation> _impl;
- 65 static Status _global_status;
- 66 static shared_ptr<Object> createObjectImpl(
const std::string& name,
const JSON& conf);
-
+ 42 shared_ptr<Object>(
const std::string&
JSON,
const IOOptions& io)>;
+
+
+ 46 static shared_ptr<T> createObject(
const std::string& name,
const std::string&
JSON,
const IOOptions& io) {
+ 47 return std::dynamic_pointer_cast<T>(createObjectImpl(name,
JSON, io));
+
+
+ 52 static std::unordered_map<std::string, ObjectFactory>& objectFactories();
+
+ 55 static std::set<std::string>& about();
+
+
+
+
+ 60 CachePolicy cachePolicy;
+
+
+ 63 shared_ptr<Implementation> _impl;
+ 64 static Status _global_status;
+ 65 static shared_ptr<Object> createObjectImpl(
const std::string& name,
const std::string&
JSON,
const IOOptions& io);
+
+
-
-
-
- 72 CachePolicy& Instance::cachePolicy() {
- 73 return _impl->cachePolicy;
-
- 75 IOOptions& Instance::ioOptions() {
- 76 return _impl->ioOptions;
-
-
-
- 80 #define ROCKY_ADD_OBJECT_FACTORY(NAME, FUNC) \
- 81 struct __ROCKY_OBJECTFACTORY_##NAME##_INSTALLER { \
- 82 __ROCKY_OBJECTFACTORY_##NAME##_INSTALLER () { \
- 83 ROCKY_NAMESPACE::Instance::objectFactories()[util::toLower(#NAME)] = FUNC; \
-
- 85 __ROCKY_OBJECTFACTORY_##NAME##_INSTALLER __rocky_objectFactory_##NAME ;
-
+
+
+ 71 CachePolicy& Instance::cachePolicy() {
+ 72 return _impl->cachePolicy;
+
+ 74 IOOptions& Instance::ioOptions() {
+ 75 return _impl->ioOptions;
+
+
+
+ 79 #define ROCKY_ADD_OBJECT_FACTORY(NAME, FUNC) \
+ 80 struct __ROCKY_OBJECTFACTORY_##NAME##_INSTALLER { \
+ 81 __ROCKY_OBJECTFACTORY_##NAME##_INSTALLER () { \
+ 82 ROCKY_NAMESPACE::Instance::objectFactories()[util::toLower(#NAME)] = FUNC; \
+
+ 84 __ROCKY_OBJECTFACTORY_##NAME##_INSTALLER __rocky_objectFactory_##NAME ;
+
Definition: Callbacks.h:16
std::string JSON
json serialization type
Definition: Common.h:48
diff --git a/doxygen/_m_b_tiles_elevation_layer_8h_source.html b/doxygen/_m_b_tiles_elevation_layer_8h_source.html
index 7cc06738..bc1726a1 100644
--- a/doxygen/_m_b_tiles_elevation_layer_8h_source.html
+++ b/doxygen/_m_b_tiles_elevation_layer_8h_source.html
@@ -84,7 +84,7 @@
24 MBTilesElevationLayer();
- 25 explicit MBTilesElevationLayer(
const JSON&);
+ 25 explicit MBTilesElevationLayer(
const std::string&
JSON,
const IOOptions& io);
28 void setURI(
const URI& value) { _options.uri = value; }
29 optional<URI>& uri() {
return _options.uri; }
@@ -111,7 +111,7 @@
58 MBTiles::Driver _driver;
59 MBTiles::Options _options;
- 60 void construct(
const JSON&);
+ 60 void construct(
const std::string&
JSON,
const IOOptions& io);
diff --git a/doxygen/_m_b_tiles_image_layer_8h_source.html b/doxygen/_m_b_tiles_image_layer_8h_source.html
index 88fc651c..9d32c22a 100644
--- a/doxygen/_m_b_tiles_image_layer_8h_source.html
+++ b/doxygen/_m_b_tiles_image_layer_8h_source.html
@@ -84,7 +84,7 @@
- 25 explicit MBTilesImageLayer(
const JSON& conf);
+ 25 explicit MBTilesImageLayer(
const std::string&
JSON,
const IOOptions& io);
28 void setURI(
const URI& value) { _options.uri = value; }
29 optional<URI>& uri() {
return _options.uri; }
@@ -111,7 +111,7 @@
57 MBTiles::Driver _driver;
58 MBTiles::Options _options;
- 60 void construct(
const JSON&);
+ 60 void construct(
const std::string&
JSON,
const IOOptions& io);
diff --git a/doxygen/_map_8h_source.html b/doxygen/_map_8h_source.html
index 1ccf9644..b102e741 100644
--- a/doxygen/_map_8h_source.html
+++ b/doxygen/_map_8h_source.html
@@ -110,7 +110,7 @@
56 const Instance& instance()
const {
return _instance; }
- 60 Status from_json(
const JSON& value);
+ 60 Status from_json(
const JSON& value,
const IOOptions& io);
diff --git a/doxygen/_t_m_s_elevation_layer_8h_source.html b/doxygen/_t_m_s_elevation_layer_8h_source.html
index 74b2cabe..8dabedd6 100644
--- a/doxygen/_t_m_s_elevation_layer_8h_source.html
+++ b/doxygen/_t_m_s_elevation_layer_8h_source.html
@@ -87,7 +87,7 @@
- 25 TMSElevationLayer(
const JSON&);
+ 25 TMSElevationLayer(
const std::string&
JSON,
const IOOptions& io);
28 virtual ~TMSElevationLayer() { }
@@ -114,7 +114,7 @@
- 57 void construct(
const JSON&);
+ 57 void construct(
const std::string&
JSON,
const IOOptions& io);
diff --git a/doxygen/_t_m_s_image_layer_8h_source.html b/doxygen/_t_m_s_image_layer_8h_source.html
index 553c11e3..57038683 100644
--- a/doxygen/_t_m_s_image_layer_8h_source.html
+++ b/doxygen/_t_m_s_image_layer_8h_source.html
@@ -85,7 +85,7 @@
- 23 TMSImageLayer(
const JSON&);
+ 23 TMSImageLayer(
const std::string&
JSON,
const IOOptions& io);
26 virtual ~TMSImageLayer() { }
@@ -104,7 +104,7 @@
- 46 void construct(
const JSON&);
+ 46 void construct(
const std::string&
JSON,
const IOOptions& io);
diff --git a/doxygen/_u_r_i_8h_source.html b/doxygen/_u_r_i_8h_source.html
index 689820ce..eb7fd48e 100644
--- a/doxygen/_u_r_i_8h_source.html
+++ b/doxygen/_u_r_i_8h_source.html
@@ -76,110 +76,133 @@
8 #include <rocky/Common.h>
9 #include <rocky/IOTypes.h>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 44 class ROCKY_EXPORT
URI
-
-
- 48 static bool supportsHTTPS();
-
-
-
-
- 54 Stream(shared_ptr<std::istream> s =
nullptr);
-
- 57 bool valid()
const {
return _in !=
nullptr; }
+ 10 #include <rocky/json.h>
+
+
+
+
+
+
+
+
+
+ 20 using Headers = std::unordered_map<std::string, std::string>;
+
+
+
+
+
+
+
+
+ 47 class ROCKY_EXPORT
URI
+
+
+ 51 static bool supportsHTTPS();
+
+
+
+
+ 57 Stream(shared_ptr<std::istream> s =
nullptr);
- 60 operator std::istream&() {
return *_in.get(); }
+ 60 bool valid()
const {
return _in !=
nullptr; }
- 63 std::string to_string();
+ 63 operator std::istream&() {
return *_in.get(); }
-
- 66 shared_ptr<std::istream> _in;
-
-
-
-
-
-
-
- 76 URI(
const std::string& location);
+ 66 std::string to_string();
+
+
+ 69 shared_ptr<std::istream> _in;
+
+
+
+
+
+
- 79 URI(
const std::string& location,
const URIContext& context);
+ 79 URI(
const std::string& location);
- 82 URI(
const std::string& location,
const std::string& referrer) :
-
-
- 85 URI(
const char* location) :
- 86 URI(std::string(location)) { }
+ 82 URI(
const std::string& location,
const URIContext& context);
+
+ 85 URI(
const std::string& location,
const std::string& referrer) :
+
- 89 const std::string&
base()
const {
return _baseURI; }
+ 88 URI(
const char* location) :
+ 89 URI(std::string(location)) { }
- 92 const std::string&
full()
const {
return _fullURI; }
+ 92 const std::string&
base()
const {
return _baseURI; }
- 95 const std::string& operator * ()
const {
return _fullURI; }
+ 95 const std::string&
full()
const {
return _fullURI; }
-
+ 98 const std::string& operator * ()
const {
return _fullURI; }
- 101 bool empty()
const {
return _baseURI.empty(); }
+ 101 void setReferrer(
const std::string& value);
- 104 bool isRemote()
const;
+
-
+ 107 bool empty()
const {
return _baseURI.empty(); }
-
-
- 111 bool operator < (
const URI& rhs)
const {
- 112 return _fullURI < rhs._fullURI;
-
+ 110 bool isRemote()
const;
+
+
- 115 bool operator == (
const URI& rhs)
const {
- 116 return _fullURI.compare(rhs._fullURI) == 0;
-
-
- 119 bool operator != (
const URI& rhs)
const {
- 120 return _fullURI.compare(rhs._fullURI) != 0;
-
-
-
-
-
- 127 inline static std::string urlEncode(
const std::string &value);
+
+
+ 117 bool operator < (
const URI& rhs)
const {
+ 118 return _fullURI < rhs._fullURI;
+
+
+ 121 bool operator == (
const URI& rhs)
const {
+ 122 return _fullURI.compare(rhs._fullURI) == 0;
+
+
+ 125 bool operator != (
const URI& rhs)
const {
+ 126 return _fullURI.compare(rhs._fullURI) != 0;
+
-
- 130 std::string _baseURI;
- 131 std::string _fullURI;
- 132 std::string::size_type _r0 = std::string::npos, _r1 = std::string::npos;
-
+
+
+
+ 133 inline static std::string urlEncode(
const std::string &value);
-
-
-
-
-const std::string & base() const
Definition: URI.h:89
-bool empty() const
Definition: URI.h:101
-const URIContext & context() const
Definition: URI.h:98
-URI(const std::string &location, const std::string &referrer)
Constructs a new URI from a location and a referring location.
Definition: URI.h:82
-const std::string & full() const
Definition: URI.h:92
+
+ 136 std::string _baseURI;
+ 137 std::string _fullURI;
+ 138 std::string::size_type _r0 = std::string::npos, _r1 = std::string::npos;
+
+
+ 141 void set(
const std::string& location,
const URIContext& context);
+
+
+
+
+
+ 147 inline bool get_to(
const json& obj,
const char* name, URI& var,
const IOOptions& io)
+
+ 149 bool ok = get_to(obj, name, var);
+ 150 if (ok && io.referrer.has_value())
+ 151 var.setReferrer(io.referrer.value());
+
+
+ 154 inline bool get_to(
const json& obj,
const char* name, rocky::optional<URI>& var,
const IOOptions& io)
+
+ 156 bool ok = get_to(obj, name, var);
+ 157 if (ok && io.referrer.has_value())
+ 158 var->setReferrer(io.referrer.value());
+
+
+
+
+const std::string & base() const
Definition: URI.h:92
+bool empty() const
Definition: URI.h:107
+const URIContext & context() const
Definition: URI.h:104
+URI(const std::string &location, const std::string &referrer)
Constructs a new URI from a location and a referring location.
Definition: URI.h:85
+const std::string & full() const
Definition: URI.h:95
Definition: Callbacks.h:16
-Definition: IOTypes.h:208
-Holds a stream for reading content data.
Definition: URI.h:52
-bool valid() const
Whether the stream exists.
Definition: URI.h:57
-
+Definition: IOTypes.h:213
+Holds a stream for reading content data.
Definition: URI.h:55
+bool valid() const
Whether the stream exists.
Definition: URI.h:60
+