Skip to content
  • ServiceGeodatabase
  • class Esri::ArcGISRuntime::ServiceGeodatabase

    A container for a collection of ServiceFeatureTable instances connected to a feature service. More...

    Header: #include <ServiceGeodatabase.h>
    Since: Esri::ArcGISRuntime 100.9
    Inherits: Esri::ArcGISRuntime::Object, Esri::ArcGISRuntime::Loadable, and Esri::ArcGISRuntime::SharedTemplateSource

    Public Functions

    (since Esri::ArcGISRuntime 100.12) ServiceGeodatabase(Esri::ArcGISRuntime::PortalItem *portalItem, QObject *parent = nullptr)
    ServiceGeodatabase(const QUrl &url, QObject *parent = nullptr)
    (since Esri::ArcGISRuntime 100.12) ServiceGeodatabase(Esri::ArcGISRuntime::PortalItem *portalItem, Esri::ArcGISRuntime::FeatureServiceSessionType sessionType, QObject *parent = nullptr)
    (since Esri::ArcGISRuntime 100.12) ServiceGeodatabase(Esri::ArcGISRuntime::PortalItem *portalItem, const QString &versionName, QObject *parent = nullptr)
    (since Esri::ArcGISRuntime 100.10) ServiceGeodatabase(const QUrl &url, Esri::ArcGISRuntime::FeatureServiceSessionType sessionType, QObject *parent = nullptr)
    ServiceGeodatabase(const QUrl &url, const QString &versionName, QObject *parent = nullptr)
    (since Esri::ArcGISRuntime 100.12) ServiceGeodatabase(Esri::ArcGISRuntime::PortalItem *portalItem, const QString &versionName, Esri::ArcGISRuntime::FeatureServiceSessionType sessionType, QObject *parent = nullptr)
    (since Esri::ArcGISRuntime 100.10) ServiceGeodatabase(const QUrl &url, const QString &versionName, Esri::ArcGISRuntime::FeatureServiceSessionType sessionType, QObject *parent = nullptr)
    virtual ~ServiceGeodatabase() override
    (since Esri::ArcGISRuntime 200.2) QFuture<QList<Esri::ArcGISRuntime::FeatureTableEditResult *>> applyEditsAsync(QObject *parent = nullptr)
    (since Esri::ArcGISRuntime 200.2) QFuture<void> closeAsync()
    QList<Esri::ArcGISRuntime::ServiceFeatureTable *> connectedTables() const
    (since Esri::ArcGISRuntime 200.2) QFuture<Esri::ArcGISRuntime::ServiceVersionInfo *> createVersionAsync(Esri::ArcGISRuntime::ServiceVersionParameters *newVersion, QObject *parent = nullptr)
    QString defaultVersionName() const
    QFuture<QList<Esri::ArcGISRuntime::ServiceVersionInfo *>> fetchVersionsAsync(QObject *parent = nullptr)
    bool hasLocalEdits() const
    bool isSupportsBranchVersioning() const
    (since Esri::ArcGISRuntime 100.12) Esri::ArcGISRuntime::PortalItem *portalItem() const
    Esri::ArcGISRuntime::ArcGISFeatureServiceInfo serviceInfo() const
    (since Esri::ArcGISRuntime 100.10) Esri::ArcGISRuntime::FeatureServiceSessionType sessionType() const
    (since Esri::ArcGISRuntime 100.10) void setSessionType(Esri::ArcGISRuntime::FeatureServiceSessionType sessionType)
    QFuture<void> switchVersionAsync(const QString &versionName)
    Esri::ArcGISRuntime::ServiceFeatureTable *table(qint64 layerId)
    (since Esri::ArcGISRuntime 200.2) QFuture<void> undoLocalEditsAsync()
    QUrl url() const
    QString versionName() const

    Reimplemented Public Functions

    (since Esri::ArcGISRuntime 300.0) virtual QFuture<void> addFeaturesAsync(Esri::ArcGISRuntime::SharedTemplateFeatureCreationSet *featureCreationSet) override
    virtual void cancelLoad() override
    (since Esri::ArcGISRuntime 300.0) virtual QFuture<Esri::ArcGISRuntime::SharedTemplateFeatureCreationSet *> createFeaturesAsync(Esri::ArcGISRuntime::SharedTemplate *sharedTemplate, QObject *parent = nullptr) override
    (since Esri::ArcGISRuntime 300.0) virtual QFuture<Esri::ArcGISRuntime::SharedTemplateFeatureCreationSet *> createFeaturesAsync(Esri::ArcGISRuntime::SharedTemplate *sharedTemplate, const Esri::ArcGISRuntime::Geometry &geometry, QObject *parent = nullptr) override
    virtual void load() override
    virtual Esri::ArcGISRuntime::Error loadError() const override
    virtual Esri::ArcGISRuntime::LoadStatus loadStatus() const override
    (since Esri::ArcGISRuntime 300.0) virtual QFuture<QMap<qint64, QList<Esri::ArcGISRuntime::SharedTemplate *>>> querySharedTemplatesAsync(Esri::ArcGISRuntime::SharedTemplateQueryParameters *queryParameters = nullptr, QObject *parent = nullptr) override
    virtual void retryLoad() override

    Signals

    void doneLoading(const Esri::ArcGISRuntime::Error &loadError)
    void loadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus)

    Detailed Description

    A ServiceGeodatabase connects to a feature service as a whole, grouping together ServiceFeatureTable instances for related records queries, connecting to a version in a branch-versioned service, and managing edits for all tables.

    Relevant samples:

    • Configure subnetwork trace: Get a server-defined trace configuration for a given tier and modify its traversability scope, add new condition barriers and control what is included in the subnetwork trace result.
    • Create load report: Create a simple electric distribution report that displays the count of customers and total load per phase by tracing downstream from a given point.
    • Display utility associations: Create graphics for utility associations in a utility network.
    • Edit with branch versioning: Create, query and edit a specific server version using service geodatabase.
    • Manage features (feature service): Create, update, and delete features to manage a feature layer.
    • Trace utility network: Discover connected features in a utility network using connected, subnetwork, upstream, and downstream traces.
    • Validate utility network topology: Demonstrates the workflow of getting the network state and validating the topology of a utility network.

    Member Function Documentation

    [explicit, since Esri::ArcGISRuntime 100.12] ServiceGeodatabase::ServiceGeodatabase(Esri::ArcGISRuntime::PortalItem *portalItem, QObject *parent = nullptr)

    Creates a new ServiceGeodatabase from a feature service portal item, and connects to the default version in the feature service.

    If the service is branch versioned, the ServiceGeodatabase will connect to the default version.

    This function was introduced in Esri::ArcGISRuntime 100.12.

    See also portalItem.

    [explicit] ServiceGeodatabase::ServiceGeodatabase(const QUrl &url, QObject *parent = nullptr)

    Creates a new ServiceGeodatabase connected to the default version in a feature service.

    • url - The URL of the feature service or the portal item to connect to.
    • parent - The optional parent QObject.

    If the service is branch versioned, the ServiceGeodatabase will connect to the default version.

    [since Esri::ArcGISRuntime 100.12] ServiceGeodatabase::ServiceGeodatabase(Esri::ArcGISRuntime::PortalItem *portalItem, Esri::ArcGISRuntime::FeatureServiceSessionType sessionType, QObject *parent = nullptr)

    Creates a new ServiceGeodatabase from a feature service portal item, and connects to the default version in the feature service.

    • portalItem - A feature service PortalItem.
    • sessionType - The type of read and edit sessions to use when working with the service.
    • parent - The optional parent QObject.

    If the service is branch versioned, the ServiceGeodatabase will connect to the default version.

    If using FeatureServiceSessionType::Persistent and the service is not branch versioned, the ServiceGeodatabase will fail to load.

    If using FeatureServiceSessionType::Persistent, it is important to call closeAsync before destruction.

    This function was introduced in Esri::ArcGISRuntime 100.12.

    See also portalItem.

    [since Esri::ArcGISRuntime 100.12] ServiceGeodatabase::ServiceGeodatabase(Esri::ArcGISRuntime::PortalItem *portalItem, const QString &versionName, QObject *parent = nullptr)

    Creates a new ServiceGeodatabase from a feature service portal item, and connects to a specific version in the feature service.

    If a version with the name does not exist, or the service is not branch versioned, the ServiceGeodatabase will fail to load. If using FeatureServiceSessionType::Persistent and the service is not branch versioned, the ServiceGeodatabase will fail to load.

    This function was introduced in Esri::ArcGISRuntime 100.12.

    See also portalItem.

    [since Esri::ArcGISRuntime 100.10] ServiceGeodatabase::ServiceGeodatabase(const QUrl &url, Esri::ArcGISRuntime::FeatureServiceSessionType sessionType, QObject *parent = nullptr)

    Creates a new ServiceGeodatabase connected to the default version in a feature service.

    • url - The URL of the feature service or the portal item to connect to.
    • sessionType - The type of read and edit sessions to use when working with the service.
    • parent - The optional parent QObject.

    If the service is branch versioned, the ServiceGeodatabase will connect to the default version.

    If using FeatureServiceSessionType::Persistent and the service is not branch versioned, the ServiceGeodatabase will fail to load.

    If using FeatureServiceSessionType::Persistent, it is important to call closeAsync before destruction.

    This function was introduced in Esri::ArcGISRuntime 100.10.

    ServiceGeodatabase::ServiceGeodatabase(const QUrl &url, const QString &versionName, QObject *parent = nullptr)

    Creates a new ServiceGeodatabase connected to a specific version in a feature service.

    • url - The URL of the feature service or the portal item to connect to.
    • versionName - The existing version to connect to when the ServiceGeodatabase loads.
    • parent - The optional parent QObject.

    If a version with the name does not exist, or the service is not branch versioned, the ServiceGeodatabase will fail to load. If using l {Esri::ArcGISRuntime::FeatureServiceSessionType} {FeatureServiceSessionType::Persistent} and the service is not branch versioned, the ServiceGeodatabase will fail to load.

    [since Esri::ArcGISRuntime 100.12] ServiceGeodatabase::ServiceGeodatabase(Esri::ArcGISRuntime::PortalItem *portalItem, const QString &versionName, Esri::ArcGISRuntime::FeatureServiceSessionType sessionType, QObject *parent = nullptr)

    Creates a new ServiceGeodatabase from a feature service portal item, and connects to a specific version in the feature service.

    • portalItem - A feature service PortalItem.
    • versionName - The existing version to connect to when the ServiceGeodatabase loads.
    • sessionType - The type of read and edit sessions to use when working with the service.
    • parent - The optional parent QObject.

    If a version with the name does not exist, or the service is not branch versioned, the ServiceGeodatabase will fail to load.

    If using FeatureServiceSessionType::Persistent and the service is not branch versioned, the ServiceGeodatabase will fail to load.

    If using FeatureServiceSessionType::Persistent, it is important to call closeAsync before destruction.

    This function was introduced in Esri::ArcGISRuntime 100.12.

    See also portalItem.

    [since Esri::ArcGISRuntime 100.10] ServiceGeodatabase::ServiceGeodatabase(const QUrl &url, const QString &versionName, Esri::ArcGISRuntime::FeatureServiceSessionType sessionType, QObject *parent = nullptr)

    Creates a new `ServiceGeodatabase` connected to a specific version in a feature service.

    • url - The URL of the feature service or the portal item to connect to.
    • versionName - The existing version to connect to when the ServiceGeodatabase loads.
    • sessionType - The type of read and edit sessions to use when working with the service.
    • parent - The optional parent QObject.

    If a version with the name does not exist, or the service is not branch versioned, the ServiceGeodatabase will fail to load.

    If using FeatureServiceSessionType::Persistent and the service is not branch versioned, the ServiceGeodatabase will fail to load.

    If using FeatureServiceSessionType::Persistent, it is important to call closeAsync before destruction.

    This function was introduced in Esri::ArcGISRuntime 100.10.

    [override virtual noexcept] ServiceGeodatabase::~ServiceGeodatabase()

    Destructor.

    [override virtual, since Esri::ArcGISRuntime 300.0] QFuture<void> ServiceGeodatabase::addFeaturesAsync(Esri::ArcGISRuntime::SharedTemplateFeatureCreationSet *featureCreationSet)

    Reimplements: SharedTemplateSource::addFeaturesAsync(Esri::ArcGISRuntime::SharedTemplateFeatureCreationSet *featureCreationSet).

    Adds a set of features created from a shared template to the database.

    This method adds features into their respective layer or table in the database, along with their related records and utility associations, all within a single transaction.

    If the QFuture result completes without an error, all features and their associations are added successfully. If not, the first error encountered is reported and neither features nor associations are added.

    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.

    • featureCreationSet - The features created from a shared template.

    This function was introduced in Esri::ArcGISRuntime 300.0.

    [since Esri::ArcGISRuntime 200.2] QFuture<QList<Esri::ArcGISRuntime::FeatureTableEditResult *>> ServiceGeodatabase::applyEditsAsync(QObject *parent = nullptr)

    Applies all local edits in all tables to the service.

    This method applies all feature table edits to the feature service as a single transaction. If one of the edits fails, all edits are rolled-back, and geodatabase integrity is preserved. This is the recommended approach to applying edits and is typically more efficient than calling ServiceFeatureTable::applyEdits on each table.

    However, this method can only succeed if all tables either support or do not support global IDs. A mix of global ID support is not permitted and will result in ErrorType::GeodatabaseGlobalIdSupportMismatch.

    Use ArcGISFeatureServiceInfo::canUseServiceGeodatabaseApplyEdits to determine whether you can successfully apply your edits through this method.

    • parent - An optional parent.

    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.

    See also FeatureServiceSessionType.

    [override virtual] void ServiceGeodatabase::cancelLoad()

    Reimplements: Loadable::cancelLoad().

    Cancels loading the metadata for the object.

    Cancels loading the metadata if the object is loading.

    See Loadable.

    [since Esri::ArcGISRuntime 200.2] QFuture<void> ServiceGeodatabase::closeAsync()

    Closes this service geodatabase. A request to stop any active reading or editing sessions with the feature service is sent and once this asynchronous process is complete, this service geodatabase will be closed.

    Before calling this method, there should be no references to all related data. For example, terminate fetch versions, create version, switch, apply or undo edits, remove feature layers, and release tables from map.

    After calling this method, accessing this service geodatabase or any of its connected tables will fail with ErrorType::GeodatabaseDatabaseClosed.

    Closing this service geodatabase is not necessary if it has not been loaded. 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.

    QList<Esri::ArcGISRuntime::ServiceFeatureTable *> ServiceGeodatabase::connectedTables() const

    Returns the collection of feature tables managed by the ServiceGeodatabase.

    [override virtual, since Esri::ArcGISRuntime 300.0] QFuture<Esri::ArcGISRuntime::SharedTemplateFeatureCreationSet *> ServiceGeodatabase::createFeaturesAsync(Esri::ArcGISRuntime::SharedTemplate *sharedTemplate, QObject *parent = nullptr)

    Reimplements: SharedTemplateSource::createFeaturesAsync(Esri::ArcGISRuntime::SharedTemplate *sharedTemplate, QObject *parent).

    Creates a set of features based on the specified shared template.

    This overload is used when the shared template applies only to non-spatial tables.

    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.

    • sharedTemplate - The template that determines the features to create.
    • parent - An optional parent.

    This function was introduced in Esri::ArcGISRuntime 300.0.

    [override virtual, since Esri::ArcGISRuntime 300.0] QFuture<Esri::ArcGISRuntime::SharedTemplateFeatureCreationSet *> ServiceGeodatabase::createFeaturesAsync(Esri::ArcGISRuntime::SharedTemplate *sharedTemplate, const Esri::ArcGISRuntime::Geometry &geometry, QObject *parent = nullptr)

    Reimplements: SharedTemplateSource::createFeaturesAsync(Esri::ArcGISRuntime::SharedTemplate *sharedTemplate, const Esri::ArcGISRuntime::Geometry &geometry, QObject *parent).

    Creates a set of features based on the specified shared template and geometry.

    The specified sharedTemplate determines the primary feature and its related set of features joined by:

    The input geometry is optional when the shared template is for non-spatial tables only. Specify an empty Geometry () in that case or call the overload instead.

    Otherwise, the input geometry is required to create the:

    With utility network data, if the shared template defines association creation, both the features and their utility associations are returned in the result.

    If the QFuture result completes without an error, all features, along with their related records and utility associations, are created successfully. If not, the first error encountered is reported and neither features nor associations are created.

    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.

    • sharedTemplate - The template that determines the features to create.
    • geometry - The geometry from which features are created.
    • parent - An optional parent.

    This function was introduced in Esri::ArcGISRuntime 300.0.

    [since Esri::ArcGISRuntime 200.2] QFuture<Esri::ArcGISRuntime::ServiceVersionInfo *> ServiceGeodatabase::createVersionAsync(Esri::ArcGISRuntime::ServiceVersionParameters *newVersion, QObject *parent = nullptr)

    Returns a new version in the service based on the default version.

    • newVersion - The properties of the new version.
    • parent - An optional parent.

    Branch versioning requires that the default version always be the ancestor of all other versions.

    If the service isn't branch versioned, a ErrorType::MappingBranchVersioningNotSupportedByService is thrown.

    If the version parameters do not include a name, an error is thrown. 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.

    QString ServiceGeodatabase::defaultVersionName() const

    Returns the name of the default version.

    [signal] void ServiceGeodatabase::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.

    QFuture<QList<Esri::ArcGISRuntime::ServiceVersionInfo *>> ServiceGeodatabase::fetchVersionsAsync(QObject *parent = nullptr)

    Returns a list of all versions on the service.

    If the service isn't branch versioned, a ErrorType::MappingBranchVersioningNotSupportedByService is thrown.

    • parent - An optional parent.

    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.

    since Esri::ArcGISRuntime 200.2

    bool ServiceGeodatabase::hasLocalEdits() const

    Returns a bool that determines whether any the tables in the Esri::ArcGISRuntime::ServiceGeodatabase have unapplied edits.

    bool ServiceGeodatabase::isSupportsBranchVersioning() const

    Returns a bool that determines whether the service supports branch versioning.

    [override virtual] void ServiceGeodatabase::load()

    Reimplements: Loadable::load().

    Loads the metadata for the object asynchronously.

    Loads the metadata if the object is not loaded.

    See Loadable.

    [override virtual] Esri::ArcGISRuntime::Error ServiceGeodatabase::loadError() const

    Reimplements: Loadable::loadError() const.

    Returns the load error.

    See Loadable.

    See also Error.

    [override virtual] Esri::ArcGISRuntime::LoadStatus ServiceGeodatabase::loadStatus() const

    Reimplements: Loadable::loadStatus() const.

    Returns the load status.

    See Loadable.

    See also LoadStatus.

    [signal] void ServiceGeodatabase::loadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus)

    Signal emitted when the load status changes for this object.

    See also Loadable.

    [since Esri::ArcGISRuntime 100.12] Esri::ArcGISRuntime::PortalItem *ServiceGeodatabase::portalItem() const

    Returns the PortalItem which the ServiceGeodatabase was created from.

    This function was introduced in Esri::ArcGISRuntime 100.12.

    See also ServiceGeodatabase(Esri::ArcGISRuntime::PortalItem*, QObject*).

    [override virtual, since Esri::ArcGISRuntime 300.0] QFuture<QMap<qint64, QList<Esri::ArcGISRuntime::SharedTemplate *>>> ServiceGeodatabase::querySharedTemplatesAsync(Esri::ArcGISRuntime::SharedTemplateQueryParameters *queryParameters = nullptr, QObject *parent = nullptr)

    Reimplements: SharedTemplateSource::querySharedTemplatesAsync(Esri::ArcGISRuntime::SharedTemplateQueryParameters *queryParameters, QObject *parent).

    Queries the database for shared templates. 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.

    Returns a SharedTemplate collection that matches the SharedTemplateQueryParameters for every ArcGISFeatureTable::serviceLayerId.

    Query parameters are optional. When no query parameters are provided and SharedTemplateQuerySourceType::Database is supported, all visible SharedTemplate for each table in the database are returned. Otherwise, a collection of SharedTemplate with FeatureTemplateDefinition based on the FeatureTemplate is returned.

    • queryParameters - The optional parameters used to query.
    • parent - An optional parent.

    This function was introduced in Esri::ArcGISRuntime 300.0.

    [override virtual] void ServiceGeodatabase::retryLoad()

    Reimplements: Loadable::retryLoad().

    Loads or retries loading metadata for the object asynchronously.

    Will retry loading the metadata if the object is failed to load. Will load the object if it is not loaded. Will not retry to load the object if the object is loaded. Will always call the done loading if this is called.

    See Loadable.

    Esri::ArcGISRuntime::ArcGISFeatureServiceInfo ServiceGeodatabase::serviceInfo() const

    Returns the metadata of the service this object is connected to.

    [since Esri::ArcGISRuntime 100.10] Esri::ArcGISRuntime::FeatureServiceSessionType ServiceGeodatabase::sessionType() const

    Returns the type of read and edit sessions to use when working with the service.

    The default value is FeatureServiceSessionType::Transient.

    If the feature service this ServiceGeodatabase references is not branch-versioned, only FeatureServiceSessionType::Transient is supported.

    If using FeatureServiceSessionType::Persistent, it is important to call closeAsync before destruction.

    Cannot be set after the ServiceGeodatabase is loaded. When the ServiceGeodatabase is created by loading a Map, use LoadSettings to control the session type.

    This function was introduced in Esri::ArcGISRuntime 100.10.

    See also setSessionType() and LoadSettings::featureServiceSessionType.

    [since Esri::ArcGISRuntime 100.10] void ServiceGeodatabase::setSessionType(Esri::ArcGISRuntime::FeatureServiceSessionType sessionType)

    Sets the sessionType to sessionType.

    Cannot be set after the ServiceGeodatabase is loaded.

    This function was introduced in Esri::ArcGISRuntime 100.10.

    See also sessionType.

    QFuture<void> ServiceGeodatabase::switchVersionAsync(const QString &versionName)

    Switches all the connected feature tables to the new version.

    • versionName - The name of the version to connect to.

    An error is thrown if:

    • The service isn't branch versioned
    • No version exists with the supplied name
    • Any of the connectedTables have unapplied edits

    Check the result of hasLocalEdits before attempting to switch versions, to make sure all changes are saved to the service or discarded from the local cache. Use the applyEditsAsync or undoLocalEditsAsync methods as appropriate to save or discard changes before switching versions.

    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.

    since Esri::ArcGISRuntime 200.2

    Esri::ArcGISRuntime::ServiceFeatureTable *ServiceGeodatabase::table(qint64 layerId)

    Returns a service feature table object from the ID of a layer or table in the service.

    • layerId - The layer id for which to create the table.

    If a table instance for the layer already exists in ServiceGeodatabase::connectedTables, the existing object will be returned. Otherwise, a new ServiceFeatureTable will be created.

    If no table or layer exists in the service with the given ID, an error will occur.

    See also errorOccurred.

    [since Esri::ArcGISRuntime 200.2] QFuture<void> ServiceGeodatabase::undoLocalEditsAsync()

    Undos all of the local edits in all the tables. 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.

    See also FeatureServiceSessionType.

    QUrl ServiceGeodatabase::url() const

    Returns the URL of the feature service or the portal item to connect to.

    Use ArcGISFeatureServiceInfo::url to get the feature service URL.

    QString ServiceGeodatabase::versionName() const

    Returns the name of the version the ServiceGeodatabase is currently connected to.

    To change the version this ServiceGeodatabase is connected to, use the switchVersionAsync(const QString&) method.

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