ArcGIS Developers
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::FeatureServiceSessionType sessionType, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)
ServiceGeodatabase(const QUrl &url, const QString &versionName, Esri::ArcGISRuntime::FeatureServiceSessionType sessionType, QObject *parent = nullptr)
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::FeatureServiceSessionType sessionType, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)
ServiceGeodatabase(const QUrl &url, Esri::ArcGISRuntime::FeatureServiceSessionType sessionType, 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()
Esri::ArcGISRuntime::TaskWatcher close()
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::FeatureServiceSessionType sessionType() const
void setSessionType(Esri::ArcGISRuntime::FeatureServiceSessionType sessionType)
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::FeatureServiceSessionType sessionType, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)

Creates a new `ServiceGeodatabase` 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.
  • sessionType - The type of read and edit sessions to use when working with the service.
  • 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.

This function was introduced in 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 service 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.

This function was introduced in Esri::ArcGISRuntime 100.10.

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::FeatureServiceSessionType sessionType, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)

Creates a new `ServiceGeodatabase` 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.
  • sessionType - The type of read and edit sessions to use when working with the service.
  • 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.

This function was introduced in 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 service 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.

This function was introduced in Esri::ArcGISRuntime 100.10.

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.

Esri::ArcGISRuntime::TaskWatcher ServiceGeodatabase::close()

Closes this service geodatabase.

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

Before calling this method, there should be no references to any 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.

Closing this service geodatabase is not necessary if it has not been loaded.

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

This function was introduced in Esri::ArcGISRuntime 100.10.

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.

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.

This function was introduced in Esri::ArcGISRuntime 100.10.

See also setSessionType().

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

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.

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?