/** * @RDE_HEADER@ * SideBar * $Id$ * $HeadURL$ * $Author$ * Created by Norbert Thoden, NLSE, 2018-10-08 */ #pragma once // Own #include "portal_export.h" #include // Qt #include namespace Esri { namespace ArcGISRuntime { class Error; class PortalQueryResultSetForItems; class PortalQueryResultSetForGroups; } } class QModelIndex; class QStandardItem; //---------------------------------------------------------------------------- namespace SituationMap { class SITUATIONMAPPORTAL_EXPORT Portal : public QObject { using BaseClass = QObject; Q_OBJECT public: explicit Portal(QObject *parent = nullptr); virtual ~Portal(); bool init(); bool fetchData(); signals: protected Q_SLOTS: void onPortalErrorOccurred(const Esri::ArcGISRuntime::Error &error); void onPortalDoneLoading(const Esri::ArcGISRuntime::Error &loadError); void onBasemapsChanged(); void onFeaturedGroupsChanged(); void onFeaturedItemsChanged(); void onHomepageFeatureContentChanged(); void onFindItemsCompleted(Esri::ArcGISRuntime::PortalQueryResultSetForItems* result); void onFindGroupsCompleted(Esri::ArcGISRuntime::PortalQueryResultSetForGroups* result); private: private: class Private; /** * The private d-pointer to not break BC when changing internals of this class */ Private *d = nullptr; LOGGER_T m_logger; ///< Interface of the Logging-Facility }; } // namespace SituationMap