OfflineMapSyncTask Class

  • OfflineMapSyncTask
  • class Esri::ArcGISRuntime::OfflineMapSyncTask

    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 &parameters)
    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.

    See also Loadable and Object.

    [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.

    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 &parameters)

    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.

    Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.