Portal Class

  • Portal
  • class Esri::ArcGISRuntime::Portal

    The entry point into the ArcGIS portal services hosted by ArcGIS Online and ArcGIS Enterprise. More...

    Header: #include <Portal.h>
    Since: Esri::ArcGISRuntime 100.0
    Inherits: Esri::ArcGISRuntime::Object, Esri::ArcGISRuntime::Loadable, and Esri::ArcGISRuntime::RemoteResource

    Public Functions

    Portal(QObject *parent = nullptr)
    Portal(bool loginRequired, QObject *parent = nullptr)
    Portal(const QUrl &url, QObject *parent = nullptr)
    Portal(const QUrl &url, bool loginRequired, QObject *parent = nullptr)
    Portal(Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)
    Portal(const QUrl &url, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)
    virtual ~Portal() override
    Esri::ArcGISRuntime::BasemapListModel *basemaps() const
    QString culture() const
    Esri::ArcGISRuntime::BasemapListModel *developerBasemaps() const
    Esri::ArcGISRuntime::PortalGroupListModel *featuredGroups() const
    Esri::ArcGISRuntime::PortalItemListModel *featuredItems() const
    QFuture<void> fetchBasemapsAsync()
    QFuture<void> fetchDeveloperBasemapsAsync()
    QFuture<void> fetchFeaturedGroupsAsync()
    QFuture<void> fetchFeaturedItemsAsync()
    QFuture<Esri::ArcGISRuntime::LicenseInfo> fetchLicenseInfoAsync()
    QFuture<Esri::ArcGISRuntime::PortalQueryResultSetForItems *> fetchStylesAsync(QObject *parent = nullptr)
    QFuture<Esri::ArcGISRuntime::PortalQueryResultSetForItems *> fetchSymbolSetsAsync(QObject *parent = nullptr)
    QFuture<Esri::ArcGISRuntime::PortalQueryResultSetForGroups *> findGroupsAsync(const Esri::ArcGISRuntime::PortalQueryParametersForGroups &queryParameters, QObject *parent = nullptr)
    QFuture<Esri::ArcGISRuntime::PortalQueryResultSetForItems *> findItemsAsync(const Esri::ArcGISRuntime::PortalQueryParametersForItems &queryParameters, QObject *parent = nullptr)
    bool isLoginRequired() const
    Esri::ArcGISRuntime::PortalInfo *portalInfo() const
    Esri::ArcGISRuntime::PortalUser *portalUser() const
    void setCredential(Esri::ArcGISRuntime::Credential *credential)
    void setCulture(const QString &culture)

    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 basemapsChanged()
    void developerBasemapsChanged()
    void doneLoading(const Esri::ArcGISRuntime::Error &error)
    void featuredGroupsChanged()
    void featuredItemsChanged()
    void fetchLicenseInfoCompleted(const QUuid &taskId, const Esri::ArcGISRuntime::LicenseInfo &licenseInfo)
    void fetchStylesCompleted(Esri::ArcGISRuntime::PortalQueryResultSetForItems *result)
    void fetchSymbolSetsCompleted(Esri::ArcGISRuntime::PortalQueryResultSetForItems *result)
    void findGroupsCompleted(Esri::ArcGISRuntime::PortalQueryResultSetForGroups *result)
    void findItemsCompleted(Esri::ArcGISRuntime::PortalQueryResultSetForItems *result)
    void homepageFeaturedContentChanged()
    void loadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus)

    Detailed Description

    ArcGIS portals are geospatial content management systems from ESRI that customers can use to securely store, manage, and access different types of content. There are two types of portals:

    • ArcGIS Online portal - a service hosted by Esri that you can access with an ArcGIS Developer account or ArcGIS Online account.
    • ArcGIS Enterprise portal - a service hosted by ArcGIS Enterprise that you can access with an ArcGIS Enterprise account.

    The Portal class is the main entry point into the ArcGIS Portal Directory REST API that allows you to work with users, groups and content hosted within ArcGIS Online or ArcGIS Enterprise portals. Once instantiated, you can use the Portal to search for items and groups and see portal content, such as services, layers, and so on.

    For more information about authenticating your app or its users with a portal, see the Introduction to security and authentication.

    The Portal class is the main entry point into the API used to work with portals and organization subscriptions. It implements all the operations to interface with the backend ArcGIS REST API. Use Portal to search for items and groups and see the contents of the portal, such as services, layers, and so on.

    Portals allow users and organizations to publish and share content over the web. A portal can support subscriptions which provides organizations a sandboxed area on the portal. The website www.arcgis.com (ArcGIS Online) is an example of a portal.

    Load the portal by calling load before using it.

    This class is not a singleton and returns a new Portal object whenever the constructor is called.

    Organizations

    A Portal may contain multiple organizations. An organization has users in different roles including administrators, publishers, and other users.

    • Administrators can add users to their organization subscriptions and have access to all content within the organization.
    • Publishers within an organization can in addition create hosted services based on data files that they upload.
    • All users can create web maps based on mashing up services that they have access to and can register services running on external servers.

    Content

    Users create and share content that organized into Items. A Portal can contain different types of content items including:

    • Web maps
    • Map services (that can be used as layers in web maps)
    • Applications (that are built around web maps)
    • Data files (that can be uploaded and downloaded)

    Users can choose to keep the content they create private, or share it with other members of the same group, or make content public and accessible to everyone.

    Users and Groups

    A user of the Portal sees the view of the Portal that corresponds to their organization's subscription. This view includes users, groups, and items that belong to the organization or have been shared with them. This view may also include users, groups, and items that are external to the user's organization and have been shared with the user. A Portal can have users who are affiliated with an organization or users who are not.

    Users can create and join groups.

    Portal Constructors

    Constructors are available that take some combination of these parameters.

    • url - The URL of the portal to access. If not present, this defaults to www.arcgis.com (ArcGIS Online).
    • loginRequired - Determines whether the user is asked to log in (optional).
      • Set to false if you intend to access the portal anonymously or true if you want to use a credential.
      • If set to true, an authentication challenge will be issued.
      • If set to false, the portal will be accessed anonymously. If the portal does not permit anonymous access, an authentication challenge will be issued.

      When the credential property is set, the credential will be used regardless of the value of the loginRequired parameter.

    • credential - The credential to use when accessing the portal (optional).
    • parent - The parent QObject (optional).

    Example: Create a portal anonymously:

    Portal* portalAnon = new Portal(QUrl("http://www.arcgis.com"), parent);

    Example: Create and load a portal with a credential:

    Credential* ucPortal = new Credential(myUserName, myPassword, parent);
    Portal* myPortal = new Portal(QUrl(myPortalUrl), ucPortal, parent);
    connect(myPortal, &Portal::doneLoading, this, [](Esri::ArcGISRuntime::Error loadError)
    {
      if (!loadError.isEmpty())
        qDebug() << loadError.message();
    });
    myPortal->load();

    See also PortalUser, PortalGroup, and PortalItem.

    Member Function Documentation

    [explicit] Portal::Portal(QObject *parent = nullptr)

    Default constructor with optional parent object.

    [explicit] Portal::Portal(bool loginRequired, QObject *parent = nullptr)

    Creates a portal with anonymous or authenticated access as specified by the loginRequired parameter.

    • loginRequired - true indicates that the user must login. false indicates that the user must only login if required by the portal.
    • parent - The optional parent QObject.

    If the loginRequired parameters is true, then the user will be required to login to the portal in order to use it at all. If it is false, then the user will only be required to login if the portal does not support anonymous access (that is, if the portal access type is PortalAccess::Private).

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

    Creates a portal using the portal URL with anonymous access.

    • url - The URL to the portal.
    • parent - The optional parent QObject.

    The supported URL formats are:

    • The URL of the portal (Example: https://www.arcgis.com)
    • The URL of the portal REST endpoint (Example: https://www.arcgis.com/sharing/rest)
    • The URL of the deprecated portal REST endpoint (Example: https://www.arcgis.com/sharing)

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

    Creates a portal using the portal URL with anonymous or authenticated access as specified by the loginRequired parameter.

    • url - The URL to the portal.
    • loginRequired - true indicates that the user must login. false indicates that the user must only login if required by the portal.
    • parent - The optional parent QObject.

    The supported URL formats are:

    • The URL of the portal (Example: https://www.arcgis.com)
    • The URL of the portal REST endpoint (Example: https://www.arcgis.com/sharing/rest)
    • The URL of the deprecated portal REST endpoint (Example: https://www.arcgis.com/sharing)

    If the loginRequired parameters is true, then the user will be required to login to the portal in order to use it at all. If it is false, then the user will only be required to login if the portal does not support anonymous access (that is, if the portal access type is PortalAccess::Private).

    [explicit] Portal::Portal(Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)

    Constructor that accepts the parameters credential and parent.

    [explicit] Portal::Portal(const QUrl &url, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)

    Constructor that accepts the parameters url, credential and parent.

    [override virtual] Portal::~Portal()

    Destructor.

    Esri::ArcGISRuntime::BasemapListModel *Portal::basemaps() const

    Returns the list of portal basemaps.

    See also Basemap and Portal::fetchBasemaps.

    [signal] void Portal::basemapsChanged()

    Signal emitted when the fetchBasemaps task is completed.

    See also Basemap.

    [override virtual] void Portal::cancelLoad()

    Reimplements: Loadable::cancelLoad().

    Cancels loading metadata for the object.

    Cancels loading the metadata if the object is loading.

    See Loadable.

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

    Reimplements: RemoteResource::credential() const.

    Returns the Credential for this portal.

    This is the security credential to access the remote resource. Only applies if the resource is secured.

    Returns nullptr if no credential has been set.

    See also setCredential().

    [since Esri::ArcGISRuntime 100.11] QString Portal::culture() const

    Returns a code that specifies the culture-specific formatting to use when accessing Portal content.

    The culture code provides localized content when viewing featured groups or items, adding or updating an item, adding a comment or rating to an item, and so on. If not explicitly set, the culture used by the device/machine is used. If the culture is not supported by the portal or set to an empty string, the culture specified in the portal/organization settings is used. The format for culture code is based on a language code and a country code separated by a dash. Example: "en-US".

    This function was introduced in Esri::ArcGISRuntime 100.11.

    See also setCulture().

    [since Esri::ArcGISRuntime 100.12] Esri::ArcGISRuntime::BasemapListModel *Portal::developerBasemaps() const

    Returns the list of portal developer basemaps.

    This function was introduced in Esri::ArcGISRuntime 100.12.

    See also Basemap and Portal::fetchDeveloperBasemaps.

    [signal, since Esri::ArcGISRuntime 100.12] void Portal::developerBasemapsChanged()

    Signal emitted when the fetchDeveloperBasemaps task is completed.

    This function was introduced in Esri::ArcGISRuntime 100.12.

    See also Basemap.

    [signal] void Portal::doneLoading(const Esri::ArcGISRuntime::Error &error)

    Signal emitted when this object is done loading.

    • error - Details about any error that may have occurred.

    See also Loadable and Object.

    Esri::ArcGISRuntime::PortalGroupListModel *Portal::featuredGroups() const

    Returns the featured groups for the organization.

    This property will return an empty list model until the groups are successfully fetched with fetchFeaturedGroups.

    Subsequently it contains PortalGroup objects that are fully populated and have a load status of LoadStatus::Loaded.

    [signal] void Portal::featuredGroupsChanged()

    Signal emitted when the fetchFeaturedGroups task is completed.

    See also PortalGroup.

    Esri::ArcGISRuntime::PortalItemListModel *Portal::featuredItems() const

    Returns the list of items featured for the portal.

    See also PortalItem.

    [signal] void Portal::featuredItemsChanged()

    Signal emitted when the fetchFeaturedItems task is completed.

    See also PortalItem.

    [since Esri::ArcGISRuntime 200.4] QFuture<void> Portal::fetchBasemapsAsync()

    Retrieves the portal's basemaps using the PortalInfo::basemapGalleryGroupQuery query string.

    The operation is complete when the QFuture is finished.

    The result is a read-only collection of Basemap objects, available via the basemaps method. The basemaps are not loaded, but their PortalItem metadata are available using Basemap::item.

    Canceling the QFuture will not stop this operation from completing, though the QFuture will report that it is canceled and the completion handler will not be called.

    See Working with QFuture for further details.

    This function was introduced in Esri::ArcGISRuntime 200.4.

    [since Esri::ArcGISRuntime 200.4] QFuture<void> Portal::fetchDeveloperBasemapsAsync()

    Retrieves the portal's developer basemaps using the PortalInfo::developerBasemapGalleryGroupQuery query string.

    The operation is complete when the QFuture is finished.

    The result is a read-only collection of Basemap objects, available via the developerBasemaps method. The basemaps are not loaded, but their PortalItem metadata are available using Basemap::item.

    {PortalInfo::developerBasemapGalleryGroupQuery}, {Esri::ArcGISRuntime::Basemap::Basemap(Esri::ArcGISRuntime::BasemapStyle, QObject*)} {Basemap::Basemap(Esri::ArcGISRuntime::BasemapStyle, QObject*)}

    Canceling the QFuture will not stop this operation from completing, though the QFuture will report that it is canceled and the completion handler will not be called.

    See Working with QFuture for further details.

    This function was introduced in Esri::ArcGISRuntime 200.4.

    See also Esri::ArcGISRuntime::PortalInfo::developerBasemapGalleryGroupQuery.

    [since Esri::ArcGISRuntime 200.4] QFuture<void> Portal::fetchFeaturedGroupsAsync()

    Retrieves the featured groups for the organization using the PortalInfo::featuredGroupsQueries query strings.

    The operation is complete when the QFuture is finished.

    The result is an unmodifiable list of PortalGroup objects, available via the featuredGroups method. These are fully populated and have a load status of LoadStatus::Loaded.

    Canceling the QFuture will not stop this operation from completing, though the QFuture will report that it is canceled and the completion handler will not be called.

    See Working with QFuture for further details.

    This function was introduced in Esri::ArcGISRuntime 200.4.

    See also PortalGroup.

    [since Esri::ArcGISRuntime 200.4] QFuture<void> Portal::fetchFeaturedItemsAsync()

    Retrieves the set of featured items available from the portal using the PortalInfo::featuredItemsGroupQuery query string.

    The operation is complete when the QFuture is finished.

    After the items have been retrieved, the results are available via the featuredItems method.

    Canceling the QFuture will not stop this operation from completing, though the QFuture will report that it is canceled and the completion handler will not be called.

    See Working with QFuture for further details.

    This function was introduced in Esri::ArcGISRuntime 200.4.

    See also PortalItem.

    [since Esri::ArcGISRuntime 200.4] QFuture<Esri::ArcGISRuntime::LicenseInfo> Portal::fetchLicenseInfoAsync()

    Executes a portal query that gets the current user's LicenseInfo including the entitlements and extensions.

    The operation is complete when the QFuture is finished. The Qfuture will contain a pointer to the LicenseInfo

    Canceling the QFuture will not stop this operation from completing, though the QFuture will report that it is canceled and the completion handler will not be called.

    See Working with QFuture for further details.

    This function was introduced in Esri::ArcGISRuntime 200.4.

    [signal, since Esri::ArcGISRuntime 100.7] void Portal::fetchLicenseInfoCompleted(const QUuid &taskId, const Esri::ArcGISRuntime::LicenseInfo &licenseInfo)

    Signal emitted when the fetchLicenseInfo task is completed.

    • taskId - The task ID of the asynchronous task.
    • licenseInfo - The LicenseInfo for the current user on the portal.

    This function was introduced in Esri::ArcGISRuntime 100.7.

    [since Esri::ArcGISRuntime 200.4] QFuture<Esri::ArcGISRuntime::PortalQueryResultSetForItems *> Portal::fetchStylesAsync(QObject *parent = nullptr)

    Retrieves a collection of styles using the PortalInfo::stylesGroupQuery query string.

    • parent - The optional parent QObject.

    The operation is complete when the QFuture is finished. The Qfuture will contain a pointer to the PortalQueryResultSetForItems

    Canceling the QFuture will not stop this operation from completing, though the QFuture will report that it is canceled and the completion handler will not be called.

    See Working with QFuture for further details.

    This function was introduced in Esri::ArcGISRuntime 200.4.

    [signal, since Esri::ArcGISRuntime 100.12] void Portal::fetchStylesCompleted(Esri::ArcGISRuntime::PortalQueryResultSetForItems *result)

    Signal emitted when the fetchStyles operation completes.

    The returned PortalQueryResultSetForItems contains the PortalItem objects with styles, and the signal includes the result.

    This function was introduced in Esri::ArcGISRuntime 100.12.

    [since Esri::ArcGISRuntime 200.4] QFuture<Esri::ArcGISRuntime::PortalQueryResultSetForItems *> Portal::fetchSymbolSetsAsync(QObject *parent = nullptr)

    Retrieves a collection of symbol sets using the PortalInfo::symbolSetsGroupQuery query string.

    • parent - The optional parent QObject.

    The operation is complete when the QFuture is finished. The Qfuture will contain a pointer to the PortalQueryResultSetForItems

    Canceling the QFuture will not stop this operation from completing, though the QFuture will report that it is canceled and the completion handler will not be called.

    See Working with QFuture for further details.

    This function was introduced in Esri::ArcGISRuntime 200.4.

    [signal, since Esri::ArcGISRuntime 100.12] void Portal::fetchSymbolSetsCompleted(Esri::ArcGISRuntime::PortalQueryResultSetForItems *result)

    Signal emitted when the fetchSymbolSets operation completes.

    The returned PortalQueryResultSetForItems contains the PortalItem objects with symbol sets, and the signal includes the result.

    This function was introduced in Esri::ArcGISRuntime 100.12.

    [since Esri::ArcGISRuntime 200.4] QFuture<Esri::ArcGISRuntime::PortalQueryResultSetForGroups *> Portal::findGroupsAsync(const Esri::ArcGISRuntime::PortalQueryParametersForGroups &queryParameters, QObject *parent = nullptr)

    Finds the portal groups that match the given query parameters.

    • queryParameters - the query parameters.
    • parent - The optional parent QObject.

    This method obtains a PortalQueryResultSetForGroups object containing a collection of PortalGroup objects. The PortalGroup objects are fully populated and have a load status of LoadStatus::Loaded. Use the PortalQueryParameters to restrict the items returned by this method. If you provide a simple keyword string for the search, such as "federal", this method searches the default set of high performance index fields, such as id, title, description, snippet, tags, and owner.

    For more advanced searches, you can preface your simple keyword strings with ArcGIS Portal Directory REST named fields followed by a colon (:). These advanced searches can take advantage of Boolean operators (AND, NOT, OR, -) and a range of special characters. For a more information, see the Search reference document in the ArcGIS Portal Directory REST API. Here are some examples of advanced search strings:

    To find one specific portal group by its Id: "id:1db70a32f5f84ea9a88f5f460f22557b" To find all private portal groups with the word 'federal' in the Title field: "title:federal AND access:private" To find all portal groups with the word 'federal' in the Title field and the word 'restricted' in the Description field: "title:federal AND description:restricted" To find all portal groups with the word 'state' in the Title field and not have the word 'restricted' in the Description field: "title:state NOT description:restricted".

    The operation is complete when the QFuture is finished. The Qfuture will contain a pointer to the PortalQueryResultSetForGroups

    Canceling the QFuture will not stop this operation from completing, though the QFuture will report that it is canceled and the completion handler will not be called.

    See Working with QFuture for further details.

    This function was introduced in Esri::ArcGISRuntime 200.4.

    [signal] void Portal::findGroupsCompleted(Esri::ArcGISRuntime::PortalQueryResultSetForGroups *result)

    Signal emitted when the findGroups task is completed. The signal includes the result.

    The returned PortalQueryResultSetForGroups object has the Portal as its parent.

    See also Returned QObjects Parenting and PortalQueryResultSetForGroups.

    [since Esri::ArcGISRuntime 200.4] QFuture<Esri::ArcGISRuntime::PortalQueryResultSetForItems *> Portal::findItemsAsync(const Esri::ArcGISRuntime::PortalQueryParametersForItems &queryParameters, QObject *parent = nullptr)

    Finds portal items that match the specified query parameters.

    • queryParameters - the query parameters.
    • parent - The optional parent QObject.

    This method obtains a PortalQueryResultSetForItems object that contains PortalItem objects. Since portal items can be maps, layers, applications or tools, use the PortalQueryParameters to restrict which items are returned. If you provide a simple keyword string for the search, such as "florida", this method searches a default set of high performance index fields, such as title, tags, snippet, description, type, and typekeywords.

    For more advanced searches, you can preface your simple keyword strings with ArcGIS Portal Directory REST named fields followed by a colon (:). These advanced searches can take advantage of Boolean operators (AND, NOT, OR, -) and a range of special characters. For a more information, see the Search reference document in the ArcGIS Portal Directory REST API. Here are some examples of advanced search strings:

    • To find one specific portal item by its Id: "id:00e5e70929e14055ab686df16c842ec1"
    • To find all WebMap portal items with the word 'florida' in the Title field: "title:florida AND type:web map"
    • To find all Layer Package portal items with the word 'florida' in the Title field: "title:florida AND type:layer package"
    • To find all portal items with the word 'florida' in the Title field and the word 'esri' in the LicenseInfo field: "title:florida AND licenseinfo:esri"
    • To find all portal items with the word 'florida' in the Title field and not have the word 'esri' in the LicenseInfo field: "title:florida NOT licenseinfo:esri"
    • To find all portal items with located within a specific spatial extent and the word 'esri' in the LicenseInfo: "extent:[-114.3458, 21.7518] - [-73.125, 44.0658] AND licenseinfo:esri"
    • To find all portal items with a SpatialReference.WKID of 4267: "spatialreference:4267"
    • To find all portal items with a SpatialReference.WKID of 4267 or have the word 'cancer' in the Title field: "spatialreference:4267 OR title:cancer"

    The operation is complete when the QFuture is finished. The Qfuture will contain a pointer to the PortalQueryResultSetForItems

    If you want to find items that belong to a group, then use Portal::findItemsAsync() to search group content.

    Example:

    Use findItems to retrieve web maps with specific tags from a portal:

    // webmaps authored prior to July 2nd, 2014 are not supported
    // so search only from that date to the current time (in milliseconds)
    QString fromDate = QString("000000%1").arg(QDateTime::fromString(QDate(2014, 7, 2).toString()).toMSecsSinceEpoch());
    QString toDate = QString("000000%1").arg(QDateTime::currentDateTime().toMSecsSinceEpoch());
    
    PortalQueryParametersForItems query;
    query.setSearchString(QString("tags:\"%1\" AND +uploaded:[%2 TO %3]")
                          .arg(keyword, fromDate, toDate));
    query.setTypes(QList<PortalItemType>() << PortalItemType::WebMap);
    
    m_portal->findItemsAsync(query).then(
    [this](PortalQueryResultSetForItems* webmapResults)
    {
      onFindItemsCompleted(webmapResults);
    });

    Canceling the QFuture will not stop this operation from completing, though the QFuture will report that it is canceled and the completion handler will not be called.

    See Working with QFuture for further details.

    This function was introduced in Esri::ArcGISRuntime 200.4.

    [signal] void Portal::findItemsCompleted(Esri::ArcGISRuntime::PortalQueryResultSetForItems *result)

    Signal emitted when the findItems task is completed. The signal include the result.

    The returned PortalQueryResultSetForItems object has the Portal as its parent.

    See also Returned QObjects Parenting and PortalQueryResultSetForGroups.

    [signal] void Portal::homepageFeaturedContentChanged()

    Signal emitted when the fetchHomepageFeaturedContent task is completed.

    See also PortalItem.

    bool Portal::isLoginRequired() const

    Returns true indicates that the user must login. false indicates that the user must only login if required by the portal.

    [override virtual] void Portal::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 Portal::loadError() const

    Reimplements: Loadable::loadError() const.

    Returns the load error.

    See Loadable.

    See also Error.

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

    Reimplements: Loadable::loadStatus() const.

    Returns the load status.

    See Loadable.

    See also LoadStatus.

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

    Signal emitted when the loadStatus changes for this object.

    See also Loadable.

    Esri::ArcGISRuntime::PortalInfo *Portal::portalInfo() const

    Returns the details about the Portal instance, such as its name, logo, featured items, and supported protocols (http vs https).

    A PortalInfo object represents details of the portal/organization as seen by the current user, anonymous or logged in. If the current user is a member of an organization on this portal, information about the user and organization is included.

    This property will be a nullptr until the portal is loaded.

    Esri::ArcGISRuntime::PortalUser *Portal::portalUser() const

    Returns the registered user of the portal.

    This value is nullptr if no user is signed in due to anonymous access or the portal is not loaded.

    This information is available after successful initialization of the portal with a credential and load completes.

    [override virtual, since Esri::ArcGISRuntime 100.1] Esri::ArcGISRuntime::RequestConfiguration Portal::requestConfiguration() const

    Reimplements: RemoteResource::requestConfiguration() const.

    Returns the RequestConfiguration in use by this Portal object.

    This function was introduced in Esri::ArcGISRuntime 100.1.

    See also setRequestConfiguration().

    [override virtual] void Portal::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.

    void Portal::setCredential(Esri::ArcGISRuntime::Credential *credential)

    Sets the portal's Credential to credential.

    The Credential is used when calling Portal::load().

    See also credential().

    [since Esri::ArcGISRuntime 100.11] void Portal::setCulture(const QString &culture)

    Sets the culture to culture.

    This function was introduced in Esri::ArcGISRuntime 100.11.

    See also culture.

    [override virtual, since Esri::ArcGISRuntime 100.1] void Portal::setRequestConfiguration(const Esri::ArcGISRuntime::RequestConfiguration &requestConfiguration)

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

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

    This function was introduced in Esri::ArcGISRuntime 100.1.

    See also requestConfiguration().

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

    Reimplements: RemoteResource::url() const.

    Returns the URL of the portal.

    If no URL has been set, it defaults to https://www.arcgis.com (ArcGIS Online).

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