4 #include <platformu_global.h>
13 #include <QSqlDatabase>
17 #include <QSqlTableModel>
18 #include <QSqlTableModel>
21 #include <QVariantList>
24 #include <publication.h>
25 #include <subscription.h>
27 #include <vremthread.h>
28 #include "platformu_global.h"
30 #define DATABASEDEVICE "SQLBase"
43 #define MAX_RETRY_OPENDB 3
45 typedef enum dbtype{ postgres = 0, mysql = 1, sqlite = 2 } DBType;
53 typedef QList<SqlRow> QSqlRowList;
61 typedef QList<VremMYSqlRecord> QDataLoggerRecord;
68 QString databaseIP, databasePort, databaseName, databaseUser, databasePasswd;
70 QSqlTableModel *sub_model, *key_model;
74 virtual void ReloadTables(
void) = 0;
75 QSqlTableModel *newDbTable(QString tableName);
78 SQLBase (QString DatabaseIP, QString DatabasePort, QString DatabaseName, QString DatabaseUser,
79 QString DatabasePasswd,
QObject *parent = 0);
84 QString OpenDatabase(QString DatabaseIP, QString DatabasePort, QString DatabaseName, QString DatabaseUser, QString DatabasePasswd);
85 void ScratchDataTable(QString DataTable);
90 QSqlDatabase &getDB(
void);
92 QList<SqlRow> getAllRows(
void);
93 qint64 GetCurrentGMT(
void);
94 qint64 GetGMTFromLocal( QDateTime time);
97 bool AddDataBySub(QString subName, VremVArray va);
99 QSqlTableModel *getSubMap(
void );
102 static QDateTime EarliestPossibleDate(
void);
108 virtual QString OpenDatabase(
void) = 0;
112 virtual void ScratchSubscriber(QString subscriber) = 0;
117 virtual QString getSubFromTable( QString table) = 0;
118 virtual QString getTableFromSub( QString sub) = 0;
119 virtual QDataLoggerRecord GetDataRecordsFromTrendTable(QString table, QDateTime fromLocalTime, QDateTime toLocalTime) = 0;
120 virtual VremMYSqlRecord GetLastDataRecordsFromTrendTable(QString table, QDateTime fromLocalTime, QDateTime toLocalTime) = 0;
121 virtual VremMYSqlRecord GetLastDataRecordsFromTrendTable(QString table, QDateTime toLocalTime) = 0;
122 virtual VremMYSqlRecord GetLastDataRecordsFromTrendTable(QString table) = 0;
123 virtual bool DeleteDataRecordsFromTrendTable(QString table, QDateTime beforeLocalTime) = 0;
124 virtual bool AddData( QString dataTable,
const VremVArray &instance1) = 0;
125 virtual bool ChangeProperties(QString subscriber, VremVArray propertys) = 0;
126 virtual VremVArray GetProperties( QString subscription) = 0;
128 void AddDataBySubscriptionName( QString &name, VremVArray &data);
129 virtual DBType getDBType() = 0;
131 QHash<QString,QString> getAllTracking(
void);
135 void SignalValuesAdded( QString Table, QDateTime time);
138 void SlotAddDataBySubscriptionName( QString name, VremVArray data)
140 AddDataBySubscriptionName( name, data);
The PublicationRegistration Multiverse Cloud.
Definition: publicationregistration.h:29
The SQLBase class.
Definition: sqlbase.h:38
virtual void ScratchSql(void)=0
starts a new database
virtual bool ClearAllData(QString dataTable)=0
virtual QString TrendThis(QString subscription)=0
returns the table name for this trend, creates the trend if not there
The Subscription class A platform subscriber must use or inheit this class.
Definition: subscription.h:43