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 {