Skip To Content ArcGIS for Developers Sign In Dashboard

ServiceGeodatabase Class

class Esri::ArcGISRuntime::ServiceGeodatabase

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

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

This class was introduced in Esri::ArcGISRuntime 100.9.

Public Functions

ServiceGeodatabase(const QUrl &url, const QString &versionName, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)
ServiceGeodatabase(const QUrl &url, const QString &versionName, QObject *parent = nullptr)
ServiceGeodatabase(const QUrl &url, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)
ServiceGeodatabase(const QUrl &url, QObject *parent = nullptr)
virtual ~ServiceGeodatabase() override
Esri::ArcGISRuntime::TaskWatcher applyEdits()
QList<Esri::ArcGISRuntime::ServiceFeatureTable *> connectedTables() const
Esri::ArcGISRuntime::TaskWatcher createVersion(Esri::ArcGISRuntime::ServiceVersionParameters *parameters)
QString defaultVersionName() const
Esri::ArcGISRuntime::TaskWatcher fetchVersions()
bool hasLocalEdits() const
bool isSupportsBranchVersioning() const
Esri::ArcGISRuntime::ArcGISFeatureServiceInfo serviceInfo() const
Esri::ArcGISRuntime::TaskWatcher switchVersion(const QString &versionName)
Esri::ArcGISRuntime::ServiceFeatureTable *table(qint64 layerId)
Esri::ArcGISRuntime::TaskWatcher undoLocalEdits()
QString versionName() const

Reimplemented Public Functions

virtual void cancelLoad() override
virtual Esri::ArcGISRuntime::Credential *credential() const override
virtual void load() override
virtual Esri::ArcGISRuntime::Error loadError() const override
virtual Esri::ArcGISRuntime::LoadStatus loadStatus() const override
virtual Esri::ArcGISRuntime::RequestConfiguration requestConfiguration() const override
virtual void retryLoad() override
virtual void setRequestConfiguration(const Esri::ArcGISRuntime::RequestConfiguration &requestConfiguration) override
virtual QUrl url() const override

Signals

void applyEditsCompleted(QUuid taskId, const QList<Esri::ArcGISRuntime::FeatureTableEditResult *> &editResults)
void createVersionCompleted(QUuid taskId, Esri::ArcGISRuntime::ServiceVersionInfo *serviceVersionInfo)
void doneLoading(Esri::ArcGISRuntime::Error loadError)
void fetchVersionsCompleted(QUuid taskId, const QList<Esri::ArcGISRuntime::ServiceVersionInfo *> &serviceVersionInfos)
void loadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus)
void undoLocalEditsCompleted(QUuid taskId)

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.

Member Function Documentation

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

Creates a new ServiceGeodatabase instance connected to a specific version in a feature service, from a secured service that requires credentials

  • url - The URL of the service to connect to.
  • versionName - The existing version to connect to when the ServiceGeodatabase loads.
  • credential - The credential needed to access a secured 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.

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

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

  • url - The URL of the service 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.

ServiceGeodatabase::ServiceGeodatabase(const QUrl &url, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)

Creates a new `ServiceGeodatabase` that is connected to the default version in a feature service, from a secured service that requires credentials.

  • url - The URL of the service to connect to.
  • credential - The credential needed to access a secured service.
  • parent - The optional parent QObject.

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

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

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

  • url - The URL of the service to connect to.
  • parent - The optional parent QObject.

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

[signal] void ServiceGeodatabase::applyEditsCompleted(QUuid taskId, const QList<Esri::ArcGISRuntime::FeatureTableEditResult *> &editResults)

Signal emitted when the applyEdits operation completes.

  • taskId - The task ID of the asynchronous operation.
  • editResults - A list of edit results from the apply edits operation.

See also Returned QObjects Parenting.

[signal] void ServiceGeodatabase::createVersionCompleted(QUuid taskId, Esri::ArcGISRuntime::ServiceVersionInfo *serviceVersionInfo)

Signal emitted when the createVersion operation completes.

  • taskId - The task ID of the asynchronous operation.
  • serviceVersionInfo - A new version in the service based on the default version.

See also Returned QObjects Parenting.

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

[signal] void ServiceGeodatabase::fetchVersionsCompleted(QUuid taskId, const QList<Esri::ArcGISRuntime::ServiceVersionInfo *> &serviceVersionInfos)

Signal emitted when the fetchVersions operation completes.

  • taskId - The task ID of the asynchronous operation.
  • serviceVersionInfos - A list of all versions on the service.

See also Returned QObjects Parenting.

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

Signal emitted when the load status changes for this object.

See also Loadable.

[signal] void ServiceGeodatabase::undoLocalEditsCompleted(QUuid taskId)

Signal emitted when the undoLocalEdits operation completes.

  • taskId - The task ID of the asynchronous operation.

[override virtual] ServiceGeodatabase::~ServiceGeodatabase()

Destructor.

Esri::ArcGISRuntime::TaskWatcher ServiceGeodatabase::applyEdits()

Applies all local edits in all tables to the service.

The edits in all tables are applied to the feature service in a call, This is more efficient than applying edits one Esri::ArcGISRuntime::ServiceFeatureTable at a time. Returns a string representing the task ID of the asynchronous task.

[override virtual] void ServiceGeodatabase::cancelLoad()

Reimplements: Loadable::cancelLoad().

See Loadable.

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

Returns the collection of feature tables managed by the ServiceGeodatabase.

Esri::ArcGISRuntime::TaskWatcher ServiceGeodatabase::createVersion(Esri::ArcGISRuntime::ServiceVersionParameters *parameters)

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

  • parameters - The properties of the new version.

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

If the service isn't branch-versioned or the parameters do not include a name, an error will occur.

This method returns a TaskWatcher for the asynchronous operation.

See also errorOccurred.

[override virtual] Esri::ArcGISRuntime::Credential *ServiceGeodatabase::credential() const

Reimplements: RemoteResource::credential() const.

Returns the security credential used to access the routing service.

This is only applicable if using a secured online service.

QString ServiceGeodatabase::defaultVersionName() const

Returns the name of the default version.

Esri::ArcGISRuntime::TaskWatcher ServiceGeodatabase::fetchVersions()

Returns a list of all versions on the service.

If the service isn't branch-versioned or the parameters do not include a name, an error will occur.

This method returns a TaskWatcher for the asynchronous operation.

See also errorOccurred.

bool ServiceGeodatabase::hasLocalEdits() const

Returns whether any the tables in the Esri::ArcGISRuntime::ServiceGeodatabase have unapplied edits.

bool ServiceGeodatabase::isSupportsBranchVersioning() const

Returns whether the service supports branch versioning.

[override virtual] void ServiceGeodatabase::load()

Reimplements: Loadable::load().

See Loadable.

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

Reimplements: Loadable::loadError() const.

See Loadable.

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

Reimplements: Loadable::loadStatus() const.

See Loadable.

[override virtual] Esri::ArcGISRuntime::RequestConfiguration ServiceGeodatabase::requestConfiguration() const

Reimplements: RemoteResource::requestConfiguration() const.

Returns the RequestConfiguration in use by this task.

See also setRequestConfiguration().

[override virtual] void ServiceGeodatabase::retryLoad()

Reimplements: Loadable::retryLoad().

See Loadable.

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

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

[override virtual] void ServiceGeodatabase::setRequestConfiguration(const Esri::ArcGISRuntime::RequestConfiguration &requestConfiguration)

Reimplements: RemoteResource::setRequestConfiguration(const Esri::ArcGISRuntime::RequestConfiguration &requestConfiguration).

Sets configuration parameters used for network requests sent by this task to requestConfiguration.

See also requestConfiguration().

Esri::ArcGISRuntime::TaskWatcher ServiceGeodatabase::switchVersion(const QString &versionName)

Switches all connected feature tables to the new version.

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

An error is emitted if:

Check the result of ServiceGeodatabase::hasLocalEdits() before attempting to switch versions, to make sure all changes are saved to the service or discarded from the local cache. Use the ServiceGeodatabase::applyEdits() or ServiceGeodatabase::undoLocalEdits() methods as appropriate to save or discard changes before switching versions. Returns a string representing the task ID of the asynchronous task.

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.

Esri::ArcGISRuntime::TaskWatcher ServiceGeodatabase::undoLocalEdits()

Undoes all of the local edits in all the tables.

Returns a string representing the task ID of the asynchronous task.

[override virtual] QUrl ServiceGeodatabase::url() const

Reimplements: RemoteResource::url() const.

Returns the URL of the service to connect to.

QString ServiceGeodatabase::versionName() const

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


Feedback on this topic?