玉兔远程控制 0.1.0-bate8
载入中...
搜索中...
未找到
DatabaseUrl.h
1// Author: Kang Lin <kl222@126.com>
2
3#pragma once
4#include <QIcon>
5#include "Database.h"
6
7class CDatabaseUrl : public CDatabase
8{
9 Q_OBJECT
10public:
11 explicit CDatabaseUrl(const QString &szSuffix = QString(),
12 QObject *parent = nullptr);
13
14 struct UrlItem {
15 int id;
16 QString szUrl;
17 QString szTitle;
18 QIcon icon;
19 QDateTime visit_time;
20
21 UrlItem()
22 : id(0)
23 , iconId(0)
24 {}
25 int iconId;
26 };
27
28 int AddUrl(const QString& url, const QString& title = QString(), const QIcon& icon = QIcon());
29 bool DeleteUrl(const QString& url);
30 bool DeleteUrl(int id);
31 bool UpdateUrl(const QString& url, const QString& title = QString(), const QIcon& icon = QIcon());
32 bool UpdateUrl(int id, const QString& title = QString(), const QIcon& icon = QIcon());
33 [[nodiscard]] UrlItem GetItem(int id);
34 [[nodiscard]] UrlItem GetItem(const QString& url);
35 [[nodiscard]] int GetId(const QString& url);
36 [[nodiscard]] QList<int> GetDomain(const QString& szDomain);
37 [[nodiscard]] QList<UrlItem> Search(const QString& keyword);
38
39 [[nodiscard]] virtual bool ExportToJson(QJsonObject& obj) override;
40 [[nodiscard]] virtual bool ImportFromJson(const QJsonObject& obj) override;
41
42private:
43 QString m_szTableName;
44 CDatabaseIcon m_iconDB;
45
46 // CDatabase interface
47protected:
48 [[nodiscard]] virtual bool OnInitializeDatabase() override;
49 [[nodiscard]] virtual bool OnInitializeSqliteDatabase() override;
50 [[nodiscard]] virtual bool OnInitializeMySqlDatabase() override;
51};
52
Icon database
Definition Database.h:129
virtual bool OnInitializeDatabase() override
Initialize database
提供打开数据库和初始化数据库等接口
Definition Database.h:21