Mercurial > irccd
changeset 690:849c4337c18e
Misc: headers reduction
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 17 Apr 2018 12:22:15 +0200 |
parents | c0c2926a35df |
children | c2626336a93e |
files | irccd/main.cpp libcommon/irccd/fs_util.hpp libcommon/irccd/socket_acceptor.hpp libcommon/irccd/socket_stream.hpp libcommon/irccd/string_util.cpp libcommon/irccd/string_util.hpp libcommon/irccd/system.hpp libirccd-js/irccd/js/js_plugin.hpp libirccd/irccd/daemon/command.hpp libirccd/irccd/daemon/dynlib_plugin.cpp libirccd/irccd/daemon/dynlib_plugin.hpp libirccd/irccd/daemon/irc.hpp libirccd/irccd/daemon/irccd.cpp libirccd/irccd/daemon/irccd.hpp libirccd/irccd/daemon/logger.hpp libirccd/irccd/daemon/plugin.hpp libirccd/irccd/daemon/rule.cpp libirccd/irccd/daemon/rule.hpp libirccd/irccd/daemon/server_util.hpp tests/src/libirccd/dynlib-plugin/main.cpp |
diffstat | 20 files changed, 129 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- a/irccd/main.cpp Tue Apr 17 12:21:37 2018 +0200 +++ b/irccd/main.cpp Tue Apr 17 12:22:15 2018 +0200 @@ -85,6 +85,8 @@ std::unique_ptr<irccd> instance; +// {{{ usage + void usage() { std::cerr << "usage: irccd [options...]\n\n"; @@ -97,6 +99,10 @@ std::exit(1); } +// }}} + +// {{{ version + void version(const option::result& options) { std::cout << IRCCD_VERSION << std::endl; @@ -120,6 +126,10 @@ std::exit(0); } +// }}} + +// {{{ init + void init(int& argc, char**& argv) { // Needed for some components. @@ -132,6 +142,10 @@ ++ argv; } +// }}} + +// {{{ parse + option::result parse(int& argc, char**& argv) { // Parse command line options. @@ -170,6 +184,10 @@ return result; } +// }}} + +// {{{ open + config open(const option::result& result) { auto it = result.find("-c"); @@ -185,6 +203,8 @@ return *cfg; } +// }}} + } // !namespace } // !irccd
--- a/libcommon/irccd/fs_util.hpp Tue Apr 17 12:21:37 2018 +0200 +++ b/libcommon/irccd/fs_util.hpp Tue Apr 17 12:22:15 2018 +0200 @@ -36,6 +36,8 @@ */ namespace fs_util { +// {{{ base_name + /** * Get the base name from a path. * @@ -49,6 +51,10 @@ return boost::filesystem::path(path).filename().string(); } +// }}} + +// {{{ dir_name + /** * Get the parent directory from a path. * @@ -62,6 +68,10 @@ return boost::filesystem::path(path).parent_path().string(); } +// }}} + +// {{{ find_if + /** * Search an item recursively. * @@ -94,6 +104,10 @@ : find(boost::filesystem::directory_iterator(base)); } +// }}} + +// {{{ find + /** * Find a file by name recursively. * @@ -126,6 +140,8 @@ }); } +// }}} + } // !fs_util } // !irccd
--- a/libcommon/irccd/socket_acceptor.hpp Tue Apr 17 12:21:37 2018 +0200 +++ b/libcommon/irccd/socket_acceptor.hpp Tue Apr 17 12:22:15 2018 +0200 @@ -26,9 +26,6 @@ #include <irccd/sysconfig.hpp> -#include <memory> -#include <system_error> - #include <boost/asio.hpp> #include "acceptor.hpp"
--- a/libcommon/irccd/socket_stream.hpp Tue Apr 17 12:21:37 2018 +0200 +++ b/libcommon/irccd/socket_stream.hpp Tue Apr 17 12:22:15 2018 +0200 @@ -29,7 +29,6 @@ #include <cstddef> #include <cassert> #include <string> -#include <system_error> #include <utility> #include <boost/asio.hpp>
--- a/libcommon/irccd/string_util.cpp Tue Apr 17 12:21:37 2018 +0200 +++ b/libcommon/irccd/string_util.cpp Tue Apr 17 12:22:15 2018 +0200 @@ -26,6 +26,7 @@ # include <memory> #endif +#include <cassert> #include <iomanip> #include "string_util.hpp" @@ -36,6 +37,8 @@ namespace string_util { +// {{{ subst + namespace { const std::unordered_map<std::string, int> irc_colors{ @@ -372,9 +375,13 @@ return oss.str(); } -std::string strip(std::string str) +// }}} + +// {{{ strip + +std::string strip(std::string str) noexcept { - auto test = [] (char c) { return !std::isspace(c); }; + const auto test = [] (auto c) { return !std::isspace(c); }; str.erase(str.begin(), std::find_if(str.begin(), str.end(), test)); str.erase(std::find_if(str.rbegin(), str.rend(), test).base(), str.end()); @@ -382,6 +389,10 @@ return str; } +// }}} + +// {{{ split + std::vector<std::string> split(const std::string& list, const std::string& delimiters, int max) { std::vector<std::string> result; @@ -413,6 +424,10 @@ return result; } +// }}} + +// {{{ is_boolean + bool is_boolean(std::string value) noexcept { std::transform(value.begin(), value.end(), value.begin(), [] (auto c) { @@ -422,6 +437,8 @@ return value == "1" || value == "YES" || value == "TRUE" || value == "ON"; } +// }}} + } // !string_util } // !util
--- a/libcommon/irccd/string_util.hpp Tue Apr 17 12:21:37 2018 +0200 +++ b/libcommon/irccd/string_util.hpp Tue Apr 17 12:22:15 2018 +0200 @@ -26,7 +26,6 @@ #include "sysconfig.hpp" -#include <cassert> #include <ctime> #include <initializer_list> #include <limits> @@ -42,12 +41,18 @@ namespace irccd { +/** + * \file string_util.hpp + * \brief String utilities. + */ namespace string_util { +// {{{ subst + /** * \brief Disable or enable some features. */ -enum class subst_flags : std::uint8_t { +enum class subst_flags : unsigned { date = (1 << 0), //!< date templates keywords = (1 << 1), //!< keywords env = (1 << 2), //!< environment variables @@ -150,7 +155,7 @@ * - <strong>\${name}</strong>: name will be substituted from the environment * variable, * - <strong>\@{attributes}</strong>: the attributes will be substituted to IRC - * colors (see below), + * or shell colors (see below), * - <strong>%</strong>, any format accepted by strftime(3). * * ## Attributes @@ -187,13 +192,21 @@ */ IRCCD_EXPORT std::string format(std::string text, const subst& params = {}); +// }}} + +// {{{ strip + /** * Remove leading and trailing spaces. * * \param str the string * \return the removed white spaces */ -IRCCD_EXPORT std::string strip(std::string str); +IRCCD_EXPORT std::string strip(std::string str) noexcept; + +// }}} + +// {{{ split /** * Split a string by delimiters. @@ -205,6 +218,10 @@ */ IRCCD_EXPORT std::vector<std::string> split(const std::string& list, const std::string& delimiters, int max = -1); +// }}} + +// {{{ join + /** * Join values by a separator and return a string. * @@ -254,9 +271,12 @@ return join(list.begin(), list.end(), delim); } +// }}} + +// {{{ is_identifier + /** - * Server and identities must have strict names. This function can - * be used to ensure that they are valid. + * Check if a string is a valid irccd identifier. * * \param name the identifier name * \return true if is valid @@ -266,6 +286,10 @@ return std::regex_match(name, std::regex("[A-Za-z0-9-_]+")); } +// }}} + +// {{{ is_boolean + /** * Check if the value is a boolean, 1, yes and true are accepted. * @@ -275,6 +299,10 @@ */ IRCCD_EXPORT bool is_boolean(std::string value) noexcept; +// }}} + +// {{{ sprintf + /** * \cond HIDDEN_SYMBOLS */ @@ -286,7 +314,7 @@ } template <typename Arg, typename... Args> -void sprintf(boost::format& fmter, const Arg& arg, const Args&... args) +inline void sprintf(boost::format& fmter, const Arg& arg, const Args&... args) { fmter % arg; sprintf(fmter, args...); @@ -317,6 +345,10 @@ return fmter.str(); } +// }}} + +// {{{ to_int + /** * Convert the given string into a signed integer. * @@ -341,6 +373,10 @@ return static_cast<T>(v); } +// }}} + +// {{{ to_uint + /** * Convert the given string into a unsigned integer. * @@ -366,6 +402,8 @@ return static_cast<T>(v); } +// }}} + } // !string_util } // !irccd
--- a/libcommon/irccd/system.hpp Tue Apr 17 12:21:37 2018 +0200 +++ b/libcommon/irccd/system.hpp Tue Apr 17 12:22:15 2018 +0200 @@ -28,8 +28,6 @@ #include <string> #include <vector> -#include <boost/filesystem.hpp> - #include "sysconfig.hpp" namespace irccd {
--- a/libirccd-js/irccd/js/js_plugin.hpp Tue Apr 17 12:21:37 2018 +0200 +++ b/libirccd-js/irccd/js/js_plugin.hpp Tue Apr 17 12:22:15 2018 +0200 @@ -27,6 +27,7 @@ #include <vector> #include <irccd/daemon/plugin.hpp> +#include <irccd/daemon/server.hpp> #include "duktape.hpp"
--- a/libirccd/irccd/daemon/command.hpp Tue Apr 17 12:21:37 2018 +0200 +++ b/libirccd/irccd/daemon/command.hpp Tue Apr 17 12:22:15 2018 +0200 @@ -26,6 +26,8 @@ #include <irccd/sysconfig.hpp> +#include <string> + #include "json.hpp" namespace irccd {
--- a/libirccd/irccd/daemon/dynlib_plugin.cpp Tue Apr 17 12:21:37 2018 +0200 +++ b/libirccd/irccd/daemon/dynlib_plugin.cpp Tue Apr 17 12:22:15 2018 +0200 @@ -16,7 +16,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include <cctype> #include <algorithm> #include <boost/dll.hpp> @@ -39,7 +38,7 @@ std::string symbol(std::string id) noexcept { - std::transform(id.begin(), id.end(), id.begin(), [] (auto c) { + std::transform(id.begin(), id.end(), id.begin(), [] (auto c) noexcept { return c == '-' ? '_' : c; });
--- a/libirccd/irccd/daemon/dynlib_plugin.hpp Tue Apr 17 12:21:37 2018 +0200 +++ b/libirccd/irccd/daemon/dynlib_plugin.hpp Tue Apr 17 12:22:15 2018 +0200 @@ -24,8 +24,6 @@ * \brief Native plugin implementation. */ -#include <boost/dll.hpp> - #include "plugin.hpp" namespace irccd {
--- a/libirccd/irccd/daemon/irc.hpp Tue Apr 17 12:21:37 2018 +0200 +++ b/libirccd/irccd/daemon/irc.hpp Tue Apr 17 12:22:15 2018 +0200 @@ -26,7 +26,6 @@ #include <irccd/sysconfig.hpp> -#include <deque> #include <functional> #include <string> #include <utility>
--- a/libirccd/irccd/daemon/irccd.cpp Tue Apr 17 12:21:37 2018 +0200 +++ b/libirccd/irccd/daemon/irccd.cpp Tue Apr 17 12:22:15 2018 +0200 @@ -16,6 +16,8 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#include <fstream> + #include <irccd/string_util.hpp> #include <irccd/system.hpp>
--- a/libirccd/irccd/daemon/irccd.hpp Tue Apr 17 12:21:37 2018 +0200 +++ b/libirccd/irccd/daemon/irccd.hpp Tue Apr 17 12:22:15 2018 +0200 @@ -27,6 +27,7 @@ #include <irccd/sysconfig.hpp> #include <memory> +#include <system_error> #include <boost/asio.hpp>
--- a/libirccd/irccd/daemon/logger.hpp Tue Apr 17 12:21:37 2018 +0200 +++ b/libirccd/irccd/daemon/logger.hpp Tue Apr 17 12:22:15 2018 +0200 @@ -28,6 +28,7 @@ #include <memory> #include <sstream> +#include <string> #include <utility> namespace irccd {
--- a/libirccd/irccd/daemon/plugin.hpp Tue Apr 17 12:21:37 2018 +0200 +++ b/libirccd/irccd/daemon/plugin.hpp Tue Apr 17 12:22:15 2018 +0200 @@ -34,15 +34,29 @@ #include <cassert> #include <memory> #include <string> +#include <system_error> #include <unordered_map> #include <vector> -#include "server.hpp" - namespace irccd { class irccd; +class connect_event; +class disconnect_event; +class invite_event; +class join_event; +class kick_event; +class me_event; +class message_event; +class mode_event; +class names_event; +class nick_event; +class notice_event; +class part_event; +class topic_event; +class whois_event; + /** * \brief Configuration map extract from config file. */
--- a/libirccd/irccd/daemon/rule.cpp Tue Apr 17 12:21:37 2018 +0200 +++ b/libirccd/irccd/daemon/rule.cpp Tue Apr 17 12:22:15 2018 +0200 @@ -44,7 +44,7 @@ const std::string& plugin, const std::string& event) const noexcept { - const auto tolower = [] (auto str) { + const auto tolower = [] (auto str) noexcept { std::transform(str.begin(), str.end(), str.begin(), ::tolower); return str; };
--- a/libirccd/irccd/daemon/rule.hpp Tue Apr 17 12:21:37 2018 +0200 +++ b/libirccd/irccd/daemon/rule.hpp Tue Apr 17 12:22:15 2018 +0200 @@ -29,8 +29,7 @@ #include <cassert> #include <set> #include <string> - -#include <boost/system/system_error.hpp> +#include <system_error> namespace irccd {
--- a/libirccd/irccd/daemon/server_util.hpp Tue Apr 17 12:21:37 2018 +0200 +++ b/libirccd/irccd/daemon/server_util.hpp Tue Apr 17 12:22:15 2018 +0200 @@ -56,7 +56,8 @@ * Example: `!reminder help' may invoke the command event if a plugin reminder * exists. */ -struct message_pack { +class message_pack { +public: /** * \brief Describe which type of message has been received */
--- a/tests/src/libirccd/dynlib-plugin/main.cpp Tue Apr 17 12:21:37 2018 +0200 +++ b/tests/src/libirccd/dynlib-plugin/main.cpp Tue Apr 17 12:22:15 2018 +0200 @@ -25,6 +25,7 @@ */ #include <irccd/daemon/dynlib_plugin.hpp> +#include <irccd/daemon/server.hpp> #include <irccd/daemon/irccd.hpp> namespace irccd {