Alexander Shalamov
71efb24e2d
Bump mapbox-base to 1.2.0
2020-03-23 11:33:06 -04:00
Mikhail Pozdnyakov
353d07f40f
[core] Move setResourceTransform() to FileSource interface
2020-02-26 22:31:59 +02:00
Mikhail Pozdnyakov
7c48611f9e
[core] Consolidate file source keys in the generic FileSource header
...
Thus we do not need to include specific headers to use `{set|get}Property`
API with key constants.
2020-02-25 23:15:47 +02:00
Alexander Shalamov
879c44f661
[core] Modularize FileSource codebase ( #15768 )
...
* [core] Introduce FileSourceManager and use it for default platform impl
- Add `FileSourceManager` interface that provides access to `FileSource`
instances and means of registering / unregistering `FileSource` factories
- Split `DefaultFileSource` into smaller parts
- Add `DatabaseFileSource` interface and it's default implementation
- Remove inter-dependencies between concrete `FileSource` classes
* [build] Add files to next build system
* [core] Add generic property setters / getters
* [core] Remove setOnlineStatus from OnlineFileSource interface
* [core] Hide threading implementation details from DatabaseFileSource interface
* [core] Make DB file source methods virtual
* [core] Add documentation for DatabaseFileSource and rename one method
* [core] Use simple callback instead of ActorRef
* [core] Remove ActorRef from OnlineFileSource public header
* [core] Add callback to FileSource::forward async API
* [core] Pass OfflineRegionDefinition by value
* [core] Update tests to use modular file sources
* [core] Update unit tests
* [core] Update unit tests after rebase
* [core] Backport low prio fix for cached requests
* [core] Backport pack database
* [core] Return removed factory from unRegisterFileSourceFactory
* [core] Rename shadowed args in onlinefilesource
* [core] Remove simple std::function callback aliases
* [core] Expose online file source property keys in public header file
* [test-runner] Add proxy file source test runner
* [cache] Update mbgl-cache utility to use new file source
* [metrics] Rebaseline binary size metrics
* [offline] Update offline utility
* [core] Update changelog
2020-01-13 10:57:23 +02:00
Mikhail Pozdnyakov
7e77aff8df
[core] Make FileSource API clearer
2019-05-14 11:29:24 +03:00
Bruno de Oliveira Abinader
d5868d3da8
[core] Remove file source from public Map ctor
2019-03-20 21:30:08 +02:00
Konstantin Käfer
f4cb3b8a4f
[core] make forcing cache/network only more explicit
...
Previously, we used the existence of a `prior*` field in the Resource object as an indication for whether we should consult the cache or not. However, this is prone to error, since a failed cache lookup won't set any prior fields. Therefore, we manually set `priorExpires` to 0. This in turn triggered another bug where generated wrong expiration timestamps when the server response we got was expired (or expired between sending and receiving).
This commit changes the flags so that we can now explicitly request CacheOnly/NetworkOnly (or All) loading methods, rather than the implicit Optional/Required naming scheme.
2017-10-12 10:41:49 +02:00
Konstantin Käfer
91895b9aec
[core] only perform optional requests if the FileSource supports it
2016-06-10 12:42:14 +02:00
Konstantin Käfer
e2bcea90fc
[core] use #pragma once instead of ifdef include guards
2016-05-25 21:35:37 +02:00
John Firebaugh
169755e89a
[core] Unify FileRequest and WorkRequest
2016-03-24 10:54:32 -07:00
Konstantin Käfer
d5fb535058
[core] add namespace comment to closing brace
2015-12-03 15:38:36 +01:00
John Firebaugh
7137239cbd
[core] Use std::unique_ptr for FileSource request
2015-11-16 12:25:47 -08:00
John Firebaugh
1caf89c32b
[core] Pass a value to response callback, not a reference
2015-11-16 12:25:47 -08:00
Thiago Marcos P. Santos
36581f3d30
[core] Do not pass uv_loop_t around
...
This should be abstracted by util::RunLoop
2015-11-16 12:25:47 -08:00
Konstantin Käfer
f4707f72e0
Replace mbgl::util::make_unique<> with std::make_unique<>
2015-05-26 17:57:38 +02:00
John Firebaugh
386be7c0fa
Remove unused
...
There are no longer any requests made that don't have a run loop to
dispatch back to.
2015-05-13 13:54:16 -07:00
John Firebaugh
c0b75f1af7
Remove Environment::terminate and associated code
...
Fixes #1336
2015-04-28 09:16:26 -04:00
Konstantin Käfer
9781785ab7
scope Requests to an Environment object for easier cancelation
...
we are now scoping all file requests to an environment object. The FileSource implementation treats
this as an opaque pointer, but allows canceling all Requests that are associated with that pointer.
This is necessary to abort all file requests that originated from a particular Map object. Aborting
a file request is different from canceling a file request: A canceled request doesn't have its
callback called, while an aborted request will have its callback called with an error, indicating
that the environment is going to be shut down.
2015-03-06 08:21:47 -08:00
Konstantin Käfer
b9bf66e67e
rewrite storage layer to be independent of the Map's event loop
2015-02-04 10:46:37 +01:00
John Firebaugh
ff640132de
Move setAccessToken to CachingHTTPFileSource
2014-12-04 17:03:23 -08:00
John Firebaugh
36500b9f95
Add CachingHTTPFileSource::clearLoop()
...
So loop state can be cleaned up in the appropriate thread.
This is a hack; loop needs to be externalized from Map.
Fixes #686
2014-12-04 15:26:54 -08:00
John Firebaugh
16fe8e64c4
Move setReachability to CachingHTTPFileSource
2014-12-04 15:14:40 -08:00
Konstantin Käfer
1e3fb3a423
remove usage of relative paths
2014-12-04 20:02:51 +01:00
Konstantin Käfer
abafb52f37
make most headers private
2014-12-04 20:02:50 +01:00
John Firebaugh
97d7f065d6
Add virtual destructor for FileSource
2014-12-04 10:52:26 -08:00
Mike Morris
dac76a0f92
break out FileSource as an abstract class
...
add CachingHTTPFileSource implementation
2014-12-03 12:25:11 -05:00
John Firebaugh
a3ec4cf17e
Use noncopyable
2014-11-21 14:25:12 -08:00
Konstantin Käfer
9e44c0eae8
add reachability
2014-09-29 14:02:42 +02:00
Konstantin Käfer
1209744b38
use the default cache location on ios to avoid writing to unwritable file system locations
2014-09-24 17:08:44 +02:00
Konstantin Käfer
f26bb724dc
use util::ptr as a wrapper around std::shared_ptr that asserts nonemptiness
2014-09-24 16:14:09 +02:00
Konstantin Käfer
d9fc7708a2
do 304 requests and cache them in sqlite
2014-09-24 16:14:09 +02:00