From 8e640722c62692818ab840d50b3758f89a41a54e Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Wed, 25 Nov 2015 16:48:41 -0500 Subject: Imported Upstream version 3.0.7 --- Plugins/DbAndroid/dbandroidshellconnection.h | 59 ++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Plugins/DbAndroid/dbandroidshellconnection.h (limited to 'Plugins/DbAndroid/dbandroidshellconnection.h') diff --git a/Plugins/DbAndroid/dbandroidshellconnection.h b/Plugins/DbAndroid/dbandroidshellconnection.h new file mode 100644 index 0000000..1c0ae0f --- /dev/null +++ b/Plugins/DbAndroid/dbandroidshellconnection.h @@ -0,0 +1,59 @@ +#ifndef DBANDROIDSHELLCONNECTION_H +#define DBANDROIDSHELLCONNECTION_H + +#include "dbandroidconnection.h" +#include "csvformat.h" + +#include + +class DbAndroid; +class AdbManager; + +class DbAndroidShellConnection : public DbAndroidConnection +{ + Q_OBJECT + + public: + DbAndroidShellConnection(DbAndroid* plugin, QObject *parent = 0); + ~DbAndroidShellConnection(); + + bool connectToAndroid(const DbAndroidUrl& url); + void disconnectFromAndroid(); + bool isConnected() const; + QString getDbName() const; + QStringList getDbList(); + QStringList getAppList(); + bool isAppOkay() const; + bool deleteDatabase(const QString& dbName); + ExecutionResult executeQuery(const QString& query); + + private: + enum class DataType + { + UNKNOWN = -1, + _NULL = 0, + INTEGER = 1, + REAL = 2, + TEXT = 3, + BLOB = 4 + }; + + QStringList findColumns(const QStringList& originalArgs, const QString& query); + QString appendTypeQueryPart(const QString& query, const QStringList& columnNames); + void extractResultData(const QList >& deserialized, bool firstHalfForTypes, ExecutionResult& results); + QVariant valueFromString(const QByteArray& bytes, const QByteArray& type); + + DbAndroid* plugin = nullptr; + AdbManager* adbManager = nullptr; + bool connected = false; + DbAndroidUrl connectionUrl; + bool appOkay = false; + mutable QMutex appOkMutex; + + static const CsvFormat CSV_FORMAT; + + private slots: + void checkForDisconnection(const QStringList& devices); +}; + +#endif // DBANDROIDSHELLCONNECTION_H -- cgit v1.2.3