#ifndef OPENDATABASE_H #define OPENDATABASE_H #include #include "connectionconfig.h" #include "expected.h" class PgsqlDatabaseCatalogue; class TypeSelectionItemModel; /** Instances of this class represent a single database on which atleast one * window is opened. This class is used to track details about that database. */ class OpenDatabase : public QObject { Q_OBJECT public: static Expected createOpenDatabase(const ConnectionConfig &cfg); OpenDatabase(const OpenDatabase &) = delete; OpenDatabase& operator=(const OpenDatabase &) = delete; ~OpenDatabase(); PgsqlDatabaseCatalogue* catalogue(); TypeSelectionItemModel* typeSelectionModel(); signals: public slots: private: ConnectionConfig m_config; PgsqlDatabaseCatalogue *m_catalogue; TypeSelectionItemModel *m_typeSelectionModel = nullptr; OpenDatabase(const ConnectionConfig& cfg, QObject *parent = 0); bool Init(); }; #endif // OPENDATABASE_H