aboutsummaryrefslogtreecommitdiffstats
path: root/Plugins/DbAndroid/dbandroidurl.h
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2015-11-25 16:48:41 -0500
committerLibravatarUnit 193 <unit193@ubuntu.com>2015-11-25 16:48:41 -0500
commit8e640722c62692818ab840d50b3758f89a41a54e (patch)
tree38197eb1688a5afc338081ea17e15f938976e422 /Plugins/DbAndroid/dbandroidurl.h
parent9618f0ebbf4b88045247c01ce8c8f58203508ebf (diff)
Imported Upstream version 3.0.7upstream/3.0.7
Diffstat (limited to 'Plugins/DbAndroid/dbandroidurl.h')
-rw-r--r--Plugins/DbAndroid/dbandroidurl.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/Plugins/DbAndroid/dbandroidurl.h b/Plugins/DbAndroid/dbandroidurl.h
new file mode 100644
index 0000000..594b21c
--- /dev/null
+++ b/Plugins/DbAndroid/dbandroidurl.h
@@ -0,0 +1,59 @@
+#ifndef DBANDROIDURL_H
+#define DBANDROIDURL_H
+
+#include "dbandroidmode.h"
+#include <QString>
+#include <QUrl>
+
+class DbAndroidUrl
+{
+ public:
+ DbAndroidUrl();
+ DbAndroidUrl(const DbAndroidUrl& other);
+ explicit DbAndroidUrl(DbAndroidMode enforcedMode);
+ explicit DbAndroidUrl(const QString& path, bool obfuscatedPassword = true);
+ ~DbAndroidUrl();
+
+ QString toUrlString(bool obfuscatedPassword = true) const;
+ QUrl toUrl(bool obfuscatedPassword = true) const;
+ QString getDisplayName() const;
+
+ int getPort() const;
+ void setPort(int value);
+
+ QString getDbName() const;
+ void setDbName(const QString& value);
+
+ DbAndroidMode getMode() const;
+ void setEnforcedMode(DbAndroidMode mode);
+ bool isValid(bool validateConnectionIrrelevantParts = true) const;
+ bool isHostValid() const;
+ bool isNull() const;
+
+ QString getPassword(bool obfuscated = false) const;
+ void setPassword(const QString& value, bool obfuscated = false);
+
+ QString getHost() const;
+ void setHost(const QString& value);
+
+ QString getDevice() const;
+ void setDevice(const QString& value);
+
+ QString getApplication() const;
+ void setApplication(const QString& value);
+
+ private:
+ void parse(const QString& path, bool obfuscatedPassword = false);
+
+ static const constexpr char* SCHEME = "android";
+
+ DbAndroidMode enforcedMode = DbAndroidMode::null;
+ QString host;
+ QString device;
+ int port = -1;
+ QString dbName;
+ QString password;
+ QString application;
+};
+
+#endif // DBANDROIDURL_H