From 8cb6f64820b4bf39c64803db21a58e135465ff4f Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Mon, 13 Apr 2020 21:34:47 +0300 Subject: Move smolbote headers to include/smolbote Headers will be installed to include/smolbote/ --- include/filterinterface.h | 36 ------------------------------- include/meson.build | 6 +++++- include/plugininterface.h | 29 ------------------------- include/session.hpp | 41 ------------------------------------ include/smolbote/filterinterface.hpp | 38 +++++++++++++++++++++++++++++++++ include/smolbote/plugininterface.h | 29 +++++++++++++++++++++++++ include/smolbote/session.hpp | 41 ++++++++++++++++++++++++++++++++++++ include/version.h.in | 8 ------- lib/session_formats/session_json.hpp | 2 +- meson.build | 5 +---- src/browser.cpp | 2 +- src/browser.h | 2 +- src/builtins.h | 2 +- src/main.cpp | 1 - src/mainwindow/mainwindow.h | 2 +- src/session/sessiondialog.h | 2 +- src/subwindow/subwindow.h | 2 +- src/version.h.in | 8 +++++++ src/webengine/webview.h | 2 +- staging/adblock/filterlist.h | 2 +- staging/adblock/meson.build | 7 +++--- staging/adblock/plugin/plugin.h | 2 +- 22 files changed, 136 insertions(+), 133 deletions(-) delete mode 100644 include/filterinterface.h delete mode 100644 include/plugininterface.h delete mode 100644 include/session.hpp create mode 100644 include/smolbote/filterinterface.hpp create mode 100644 include/smolbote/plugininterface.h create mode 100644 include/smolbote/session.hpp delete mode 100644 include/version.h.in create mode 100644 src/version.h.in diff --git a/include/filterinterface.h b/include/filterinterface.h deleted file mode 100644 index fb04e25..0000000 --- a/include/filterinterface.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * This file is part of smolbote. It's copyrighted by the contributors recorded - * in the version control history of the file, available from its original - * location: https://library.iserlohn-fortress.net/aqua/smolbote.git - * - * SPDX-License-Identifier: MIT - */ - -#pragma once - -#include -#include - -class Filter -{ -public: - virtual ~Filter() = default; - - virtual void filter(QWebEngineUrlRequestInfo &info) const = 0; - - virtual bool isUpToDate() const = 0; -}; - -// A class to provide filter interfaces -class QIODevice; -class FilterPlugin -{ -public: - virtual ~FilterPlugin() = default; - - virtual Filter* load(QIODevice* from) const = 0; -}; - -#define FilterPluginIid "net.iserlohn-fortress.smolbote.FilterPlugin" -Q_DECLARE_INTERFACE(FilterPlugin, FilterPluginIid) - diff --git a/include/meson.build b/include/meson.build index 70d995a..82ab510 100644 --- a/include/meson.build +++ b/include/meson.build @@ -1,2 +1,6 @@ -plugininterface_include = include_directories('.') +smolbote_interfaces = include_directories('.') + +install_headers('smolbote/plugininterface.h', 'smolbote/filterinterface.hpp', 'smolbote/session.hpp', + subdir: 'smolbote' +) diff --git a/include/plugininterface.h b/include/plugininterface.h deleted file mode 100644 index 4c36d8a..0000000 --- a/include/plugininterface.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * This file is part of smolbote. It's copyrighted by the contributors recorded - * in the version control history of the file, available from its original - * location: https://library.iserlohn-fortress.net/aqua/smolbote.git - * - * SPDX-License-Identifier: MIT - */ - -#pragma once - -#include -#include -#include -#include -#include - -typedef QHash> CommandHash_t; - -class QDialog; -class PluginInterface -{ -public: - virtual ~PluginInterface() = default; - virtual CommandHash_t commands() = 0; - virtual QDialog *createWidget(QWidget *parent = nullptr) const = 0; -}; - -#define PluginInterfaceIid "net.iserlohn-fortress.smolbote.PluginInterface" -Q_DECLARE_INTERFACE(PluginInterface, PluginInterfaceIid) diff --git a/include/session.hpp b/include/session.hpp deleted file mode 100644 index 0146802..0000000 --- a/include/session.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/* - * This file is part of smolbote. It's copyrighted by the contributors recorded - * in the version control history of the file, available from its original - * location: https://library.iserlohn-fortress.net/aqua/smolbote.git - * - * SPDX-License-Identifier: MIT - */ - -#ifndef SMOLBOTE_SESSION_HPP -#define SMOLBOTE_SESSION_HPP - -#include -#include -#include -#include - -class [[nodiscard]] Session -{ -public: - struct WebView { - QString profile; - QString url; - QByteArray history; - }; - - struct SubWindow { - QString profile; - QVector tabs; - }; - - struct MainWindow { - QVector subwindows; - }; - - virtual ~Session() = default; - - [[nodiscard]] virtual QByteArray serialize() const = 0; - [[nodiscard]] virtual QVector get() const = 0; -}; - -#endif // SMOLBOTE_SESSION_HPP diff --git a/include/smolbote/filterinterface.hpp b/include/smolbote/filterinterface.hpp new file mode 100644 index 0000000..9c78c97 --- /dev/null +++ b/include/smolbote/filterinterface.hpp @@ -0,0 +1,38 @@ +/* + * This file is part of smolbote. It's copyrighted by the contributors recorded + * in the version control history of the file, available from its original + * location: https://library.iserlohn-fortress.net/aqua/smolbote.git + * + * SPDX-License-Identifier: MIT + */ + +#ifndef SMOLBOTE_FILTER_HPP +#define SMOLBOTE_FILTER_HPP + +#include +#include + +class Filter +{ +public: + virtual ~Filter() = default; + + virtual void filter(QWebEngineUrlRequestInfo &info) const = 0; + virtual bool isUpToDate() const = 0; +}; + +// A class to provide filter interfaces +class QIODevice; +class FilterPlugin +{ +public: + virtual ~FilterPlugin() = default; + + virtual Filter* load(QIODevice* from) const = 0; +}; + +#define FilterPluginIid "net.iserlohn-fortress.smolbote.FilterPlugin" +Q_DECLARE_INTERFACE(FilterPlugin, FilterPluginIid) + +#endif // SMOLBOTE_FILTER_HPP + diff --git a/include/smolbote/plugininterface.h b/include/smolbote/plugininterface.h new file mode 100644 index 0000000..4c36d8a --- /dev/null +++ b/include/smolbote/plugininterface.h @@ -0,0 +1,29 @@ +/* + * This file is part of smolbote. It's copyrighted by the contributors recorded + * in the version control history of the file, available from its original + * location: https://library.iserlohn-fortress.net/aqua/smolbote.git + * + * SPDX-License-Identifier: MIT + */ + +#pragma once + +#include +#include +#include +#include +#include + +typedef QHash> CommandHash_t; + +class QDialog; +class PluginInterface +{ +public: + virtual ~PluginInterface() = default; + virtual CommandHash_t commands() = 0; + virtual QDialog *createWidget(QWidget *parent = nullptr) const = 0; +}; + +#define PluginInterfaceIid "net.iserlohn-fortress.smolbote.PluginInterface" +Q_DECLARE_INTERFACE(PluginInterface, PluginInterfaceIid) diff --git a/include/smolbote/session.hpp b/include/smolbote/session.hpp new file mode 100644 index 0000000..0146802 --- /dev/null +++ b/include/smolbote/session.hpp @@ -0,0 +1,41 @@ +/* + * This file is part of smolbote. It's copyrighted by the contributors recorded + * in the version control history of the file, available from its original + * location: https://library.iserlohn-fortress.net/aqua/smolbote.git + * + * SPDX-License-Identifier: MIT + */ + +#ifndef SMOLBOTE_SESSION_HPP +#define SMOLBOTE_SESSION_HPP + +#include +#include +#include +#include + +class [[nodiscard]] Session +{ +public: + struct WebView { + QString profile; + QString url; + QByteArray history; + }; + + struct SubWindow { + QString profile; + QVector tabs; + }; + + struct MainWindow { + QVector subwindows; + }; + + virtual ~Session() = default; + + [[nodiscard]] virtual QByteArray serialize() const = 0; + [[nodiscard]] virtual QVector get() const = 0; +}; + +#endif // SMOLBOTE_SESSION_HPP diff --git a/include/version.h.in b/include/version.h.in deleted file mode 100644 index 44f10d9..0000000 --- a/include/version.h.in +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef SMOLBOTE_VERSION_H -#define SMOLBOTE_VERSION_H - -// output of 'git describe --long --abbrev=40': -// x.y.z-0-g0123456789012345678901234567890123456789 -#define poi_Version "@VCS_TAG@" - -#endif // SMOLBOTE_VERSION_H diff --git a/lib/session_formats/session_json.hpp b/lib/session_formats/session_json.hpp index 3332229..142d9ef 100644 --- a/lib/session_formats/session_json.hpp +++ b/lib/session_formats/session_json.hpp @@ -10,7 +10,7 @@ #define SESSION_JSON_HPP #include -#include +#include "smolbote/session.hpp" class JsonSession : public Session { diff --git a/meson.build b/meson.build index 5a62bc1..92a3c72 100644 --- a/meson.build +++ b/meson.build @@ -13,7 +13,7 @@ cdata = configuration_data(kconf) version_h = vcs_tag( command: [find_program('git').path(), 'describe', '--long', '--abbrev=40'], #fallback: defaults to meson.project_version(), - input: 'include/version.h.in', + input: 'src/version.h.in', output: 'version.h' ) @@ -88,9 +88,6 @@ subdir('lang') subdir('doc') subdir('tools') -#subdir('plugins/ConfigurationEditor') -#subdir('plugins/ProfileEditor') - subdir('test/firefox-bookmarks-json-parser') subdir('test/matcherbenchmark') diff --git a/src/browser.cpp b/src/browser.cpp index 3c39ec7..611a94b 100644 --- a/src/browser.cpp +++ b/src/browser.cpp @@ -36,7 +36,7 @@ #include #include #include -#include +#include "smolbote/plugininterface.h" #include #include #include diff --git a/src/browser.h b/src/browser.h index 95ce936..ed585fc 100644 --- a/src/browser.h +++ b/src/browser.h @@ -9,7 +9,7 @@ #ifndef SMOLBOTE_BROWSER_H #define SMOLBOTE_BROWSER_H -#include "session.hpp" +#include "smolbote/session.hpp" #include #include #include diff --git a/src/builtins.h b/src/builtins.h index f805f6b..9534df0 100644 --- a/src/builtins.h +++ b/src/builtins.h @@ -10,7 +10,7 @@ #define SMOLBOTE_BUILTINS_H #include -#include +#include "smolbote/plugininterface.h" typedef std::function::const_iterator, std::vector::const_iterator)> subcommand_func; typedef std::unordered_map command_map; diff --git a/src/main.cpp b/src/main.cpp index 9ceda77..ca85b65 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -20,7 +20,6 @@ #include #include #include -#include #include #include diff --git a/src/mainwindow/mainwindow.h b/src/mainwindow/mainwindow.h index 2b9f82b..40f5c2d 100644 --- a/src/mainwindow/mainwindow.h +++ b/src/mainwindow/mainwindow.h @@ -9,7 +9,7 @@ #ifndef SMOLBOTE_MAINWINDOW_H #define SMOLBOTE_MAINWINDOW_H -#include "session.hpp" +#include "smolbote/session.hpp" #include "subwindow/subwindow.h" #include #include diff --git a/src/session/sessiondialog.h b/src/session/sessiondialog.h index 0a04940..ecbfe46 100644 --- a/src/session/sessiondialog.h +++ b/src/session/sessiondialog.h @@ -9,7 +9,7 @@ #ifndef SMOLBOTE_SESSIONDIALOG_H #define SMOLBOTE_SESSIONDIALOG_H -#include "session.hpp" +#include "smolbote/session.hpp" #include namespace Ui diff --git a/src/subwindow/subwindow.h b/src/subwindow/subwindow.h index 02f50d0..5bd91cb 100644 --- a/src/subwindow/subwindow.h +++ b/src/subwindow/subwindow.h @@ -9,7 +9,7 @@ #ifndef SMOLBOTE_SUBWINDOW_H #define SMOLBOTE_SUBWINDOW_H -#include "session.hpp" +#include "smolbote/session.hpp" #include "tabwidget.h" #include "webengine/webview.h" #include diff --git a/src/version.h.in b/src/version.h.in new file mode 100644 index 0000000..44f10d9 --- /dev/null +++ b/src/version.h.in @@ -0,0 +1,8 @@ +#ifndef SMOLBOTE_VERSION_H +#define SMOLBOTE_VERSION_H + +// output of 'git describe --long --abbrev=40': +// x.y.z-0-g0123456789012345678901234567890123456789 +#define poi_Version "@VCS_TAG@" + +#endif // SMOLBOTE_VERSION_H diff --git a/src/webengine/webview.h b/src/webengine/webview.h index 5748691..e7d771a 100644 --- a/src/webengine/webview.h +++ b/src/webengine/webview.h @@ -11,7 +11,7 @@ #include "webpage.h" #include -#include +#include "smolbote/session.hpp" class WebProfile; class SubWindow; diff --git a/staging/adblock/filterlist.h b/staging/adblock/filterlist.h index 5ac60b6..2e3fba6 100644 --- a/staging/adblock/filterlist.h +++ b/staging/adblock/filterlist.h @@ -6,7 +6,7 @@ * SPDX-License-Identifier: GPL-3.0 */ -#include +#include #include #include #include diff --git a/staging/adblock/meson.build b/staging/adblock/meson.build index 8d06fb8..24e87c4 100644 --- a/staging/adblock/meson.build +++ b/staging/adblock/meson.build @@ -1,14 +1,15 @@ lib_adblockfilter = static_library('adblockfilter', [ 'filterlist.cpp', 'rule.cpp', 'options.cpp' ], - include_directories: plugininterface_include, + include_directories: smolbote_interfaces, dependencies: [ dep_qt5 ] ) AdblockPlusFilterPlugin = shared_library('AdblockPlusPlugin', [ 'plugin/plugin.cpp', - mod_qt5.preprocess(include_directories: plugininterface_include, moc_headers: 'plugin/plugin.h', dependencies: dep_qt5) + mod_qt5.preprocess(include_directories: smolbote_interfaces, + moc_headers: 'plugin/plugin.h', dependencies: dep_qt5) ], - include_directories: plugininterface_include, + include_directories: smolbote_interfaces, link_with: lib_adblockfilter, dependencies: dep_qt5, install: true, diff --git a/staging/adblock/plugin/plugin.h b/staging/adblock/plugin/plugin.h index 1ca51aa..db419bd 100644 --- a/staging/adblock/plugin/plugin.h +++ b/staging/adblock/plugin/plugin.h @@ -9,7 +9,7 @@ #ifndef ADBLOCKPLUSFILTER_PLUGIN_H #define ADBLOCKPLUSFILTER_PLUGIN_H -#include +#include class AdblockPlusFilterPlugin : public QObject, public FilterPlugin { -- cgit v1.2.1