Switched ConnectionConfig to QString from std::string to fit better into Qt framework
This commit is contained in:
parent
bcfd82c27d
commit
082293e58a
20 changed files with 1077 additions and 211 deletions
|
|
@ -1,6 +1,9 @@
|
|||
#ifndef CONNECTION_H
|
||||
#define CONNECTION_H
|
||||
|
||||
#include <QByteArray>
|
||||
#include <QDataStream>
|
||||
#include <QMetaType>
|
||||
#include <QUuid>
|
||||
#include <QVector>
|
||||
#include <vector>
|
||||
|
|
@ -66,44 +69,44 @@ public:
|
|||
void setUuid(const QUuid &uuid);
|
||||
const QUuid &uuid() const;
|
||||
|
||||
void setName(std::string desc);
|
||||
const std::string& name() const;
|
||||
void setName(const QString& desc);
|
||||
const QString& name() const;
|
||||
|
||||
void setHost(std::string host);
|
||||
const std::string& host() const;
|
||||
void setHost(const QString& host);
|
||||
const QString& host() const;
|
||||
|
||||
void setHostAddr(std::string v);
|
||||
const std::string& hostAddr() const;
|
||||
void setHostAddr(const QString& v);
|
||||
const QString& hostAddr() const;
|
||||
|
||||
void setPort(unsigned short port);
|
||||
unsigned short port() const;
|
||||
|
||||
void setUser(std::string v);
|
||||
const std::string& user() const;
|
||||
void setUser(const QString& v);
|
||||
const QString& user() const;
|
||||
|
||||
void setPassword(std::string v);
|
||||
const std::string& password() const;
|
||||
void setPassword(const QString& v);
|
||||
const QString& password() const;
|
||||
|
||||
void setDbname(std::string v);
|
||||
const std::string& dbname() const;
|
||||
void setDbname(const QString& v);
|
||||
const QString& dbname() const;
|
||||
|
||||
void setSslMode(SslMode m);
|
||||
SslMode sslMode() const;
|
||||
|
||||
void setSslCert(std::string v);
|
||||
const std::string& sslCert() const;
|
||||
void setSslCert(const QString& v);
|
||||
const QString& sslCert() const;
|
||||
|
||||
void setSslKey(std::string v);
|
||||
const std::string& sslKey() const;
|
||||
void setSslKey(const QString& v);
|
||||
const QString& sslKey() const;
|
||||
|
||||
void setSslRootCert(std::string v);
|
||||
const std::string& sslRootCert() const;
|
||||
void setSslRootCert(const QString& v);
|
||||
const QString& sslRootCert() const;
|
||||
|
||||
void setSslCrl(std::string v);
|
||||
const std::string& sslCrl() const;
|
||||
void setSslCrl(const QString& v);
|
||||
const QString& sslCrl() const;
|
||||
|
||||
const char * const * getKeywords() const;
|
||||
const char * const * getValues() const;
|
||||
// const char * const * getKeywords() const;
|
||||
// const char * const * getValues() const;
|
||||
|
||||
bool isSameDatabase(const ConnectionConfig &rhs) const;
|
||||
|
||||
|
|
@ -115,38 +118,55 @@ public:
|
|||
bool operator==(QUuid id) const { return m_uuid == id; }
|
||||
|
||||
QString makeLongDescription() const;
|
||||
std::string encodedPassword() const;
|
||||
void setEncodedPassword(const std::string &encodedPassword);
|
||||
QByteArray encodedPassword() const;
|
||||
void setEncodedPassword(const QByteArray &encodedPassword);
|
||||
|
||||
void write(QDataStream &out) const;
|
||||
void read(QDataStream &in);
|
||||
|
||||
/** Escapes a value for inclusion in a keyword value connection string.
|
||||
*
|
||||
* Unlikely it will be everneeded outside this class except for unit testing :)
|
||||
*/
|
||||
static QString escapeConnectionStringValue(const QString &value);
|
||||
QString connectionString() const;
|
||||
private:
|
||||
QUuid m_uuid;
|
||||
std::string m_name;
|
||||
std::string m_host;
|
||||
std::string m_hostaddr;
|
||||
std::string m_port = "5432";
|
||||
QString m_name;
|
||||
QString m_host;
|
||||
QString m_hostaddr;
|
||||
uint16_t m_port = 5432;
|
||||
|
||||
std::string m_user;
|
||||
std::string m_password; ///< TODO do we want to keep this here or should we remember it seperatly?
|
||||
std::string m_dbname;
|
||||
QString m_user;
|
||||
QString m_password; ///< Note this is not saved in the DB only the m_encodedPassword is safed.
|
||||
QString m_dbname;
|
||||
|
||||
std::string m_sslMode;
|
||||
std::string m_sslCert;
|
||||
std::string m_sslKey;
|
||||
std::string m_sslRootCert;
|
||||
std::string m_sslCrl;
|
||||
SslMode m_sslMode = SslMode::prefer;
|
||||
QString m_sslCert;
|
||||
QString m_sslKey;
|
||||
QString m_sslRootCert;
|
||||
QString m_sslCrl;
|
||||
|
||||
std::string m_applicationName;
|
||||
std::string m_encodedPassword;
|
||||
QString m_applicationName;
|
||||
QByteArray m_encodedPassword;
|
||||
|
||||
bool m_dirty = false;
|
||||
ConnectionGroup* m_group = nullptr;
|
||||
|
||||
|
||||
static void strToEnv(QProcessEnvironment &env, const QString &var, const std::string &val);
|
||||
static void strToEnv(QProcessEnvironment &env, const QString &var, const QString &val);
|
||||
|
||||
// static std::vector<const char*> s_keywords;
|
||||
// mutable std::vector<const char*> m_values;
|
||||
|
||||
|
||||
static std::vector<const char*> s_keywords;
|
||||
mutable std::vector<const char*> m_values;
|
||||
};
|
||||
|
||||
Q_DECLARE_METATYPE(ConnectionConfig)
|
||||
|
||||
QDataStream &operator<<(QDataStream &out, const ConnectionConfig &cc);
|
||||
|
||||
QDataStream &operator>>(QDataStream &in, ConnectionConfig &cc);
|
||||
|
||||
|
||||
#endif // CONNECTION_H
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue