A task with methods related to synchronizing an offline map's geodatabases with their originating services. More...
Header: | #include <OfflineMapSyncTask.h> |
Since: | Esri::ArcGISRuntime 100.1 |
Inherits: | Esri::ArcGISRuntime::Object and Esri::ArcGISRuntime::Loadable |
Public Functions
OfflineMapSyncTask(Esri::ArcGISRuntime::Map *map, QObject *parent = nullptr) | |
virtual | ~OfflineMapSyncTask() override |
QFuture<Esri::ArcGISRuntime::OfflineMapUpdatesInfo *> | checkForUpdatesAsync(QObject *parent = nullptr) |
QFuture<Esri::ArcGISRuntime::OfflineMapSyncParameters> | createDefaultOfflineMapSyncParametersAsync() |
Esri::ArcGISRuntime::Map * | map() const |
Esri::ArcGISRuntime::OfflineMapSyncJob * | syncOfflineMap(const Esri::ArcGISRuntime::OfflineMapSyncParameters ¶meters) |
Esri::ArcGISRuntime::OfflineMapUpdateCapabilities * | updateCapabilities() const |
Reimplemented Public Functions
virtual void | cancelLoad() override |
virtual void | load() override |
virtual Esri::ArcGISRuntime::Error | loadError() const override |
virtual Esri::ArcGISRuntime::LoadStatus | loadStatus() const override |
virtual void | retryLoad() override |
Signals
void | doneLoading(const Esri::ArcGISRuntime::Error &loadError) |
void | loadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus) |
Detailed Description
Member Function Documentation
[explicit]
OfflineMapSyncTask::OfflineMapSyncTask (Esri::ArcGISRuntime::Map *map, QObject *parent = nullptr)
Constructor that accepts an online map and a parent object.
- map - The offline map to synchronize.
- parent - The parent object of this OfflineMapTask.
[override virtual]
OfflineMapSyncTask::~OfflineMapSyncTask ()
Destructor.
[override virtual]
void OfflineMapSyncTask::cancelLoad ()
Reimplements: Loadable::cancelLoad().
See Loadable.
[since Esri::ArcGISRuntime 200.2]
QFuture<Esri::ArcGISRuntime::OfflineMapUpdatesInfo *> OfflineMapSyncTask::checkForUpdatesAsync (QObject *parent = nullptr)
Returns a QFuture of OfflineMapUpdatesInfo for the offline map that was used to construct this task.
- parent - The optional parent QObject
The returned OfflineMapUpdatesInfo provides high level information on what updates are available for this offline map. Information is provided on:
- Online changes that can be applied to update your offline map
- Local changes from your offline map that can be sent back to the online services
Calling this method provides high-level information on the available updates. It can help you to determine whether to call syncOfflineMap immediately, based upon factors such as current disk space and network availability. Examine these properties before starting the potentially time-consuming offline map sync process.
The resulting OfflineMapUpdatesInfo provides a snap-shot of available updates when this method was called.
To check for new updates you need to call this method again.
This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.
This function was introduced in Esri::ArcGISRuntime 200.2.
[since Esri::ArcGISRuntime 200.2]
QFuture<Esri::ArcGISRuntime::OfflineMapSyncParameters > OfflineMapSyncTask::createDefaultOfflineMapSyncParametersAsync ()
Returns a QFuture of OfflineMapSyncParameters for the map that was used to construct this task.
The parameters will be pre-populated with values appropriate for updating the feature data in this offline map.
The default parameters will reflect the mobile geodatabases used by the offline map.
This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.
This function was introduced in Esri::ArcGISRuntime 200.2.
[signal]
void OfflineMapSyncTask::doneLoading (const Esri::ArcGISRuntime::Error &loadError )
Signal emitted when this object is done loading.
- loadError Details about any error that may have occurred.
Note: If there is a load error it will also be emitted on the errorOccurred signal.
[override virtual]
void OfflineMapSyncTask::load()
Reimplements: Loadable::load().
See Loadable.
[override virtual]
Esri::ArcGISRuntime::Error OfflineMapSyncTask::loadError () const
Reimplements: Loadable::loadError() const.
See Loadable.
[override virtual]
Esri::ArcGISRuntime::LoadStatus OfflineMapSyncTask::loadStatus () const
Reimplements: Loadable::loadStatus() const.
See Loadable.
[signal]
void OfflineMapSyncTask::loadStatusChanged (Esri::ArcGISRuntime::LoadStatus loadStatus )
Signal emitted when the load status changes for this object.
- loadStatus The LoadStatus.
See also Loadable.
Esri::ArcGISRuntime::Map *OfflineMapSyncTask::map() const
Returns the offline map to synchronize.
[override virtual]
void OfflineMapSyncTask::retryLoad ()
Reimplements: Loadable::retryLoad().
See Loadable.
Esri::ArcGISRuntime::OfflineMapSyncJob *OfflineMapSyncTask::syncOfflineMap (const Esri::ArcGISRuntime::OfflineMapSyncParameters ¶meters)
Returns an OfflineMapSyncJob to use to run this OfflineMapSyncTask with the given parameters.
The resulting job will synchronize an offline map's geodatabases with their originating services.
You should not execute more than one sync on a particular geodatabase at the same time. This includes any operations that export or import deltas from the local Geodatabase:
[since Esri::ArcGISRuntime 100.6]
Esri::ArcGISRuntime::OfflineMapUpdateCapabilities *OfflineMapSyncTask::updateCapabilities () const
Returns the methods used for obtaining updates to the offline map that was used to create this task.
You can use this property to determine whether an offline map is configured to use update packages (see OfflineMapUpdateCapabilities::isSupportsScheduledUpdatesForFeatures) or to sync directly with feature services (see OfflineMapUpdateCapabilities::isSupportsSyncWithFeatureServices). If the offline map was created using PreplannedUpdateMode::DownloadScheduledUpdatesAndUploadNewFeatures, it will support both update modes, but you will only be able to upload newly created features.
This property will return nullptr
until the offline map sync task is loaded.
This function was introduced in Esri::ArcGISRuntime 100.6.