changeset 180:b0909b31eccb

Docs: improve a lot doxygen, #453
author David Demelier <markand@malikania.fr>
date Tue, 31 May 2016 22:13:35 +0200
parents ef527409e638
children 2b4864b2b5f2
files doc/doxygen/CMakeLists.txt doc/doxygen/Doxyfile.in lib/irccd/cmd-help.hpp lib/irccd/cmd-plugin-info.cpp lib/irccd/cmd-plugin-list.cpp lib/irccd/cmd-plugin-load.cpp lib/irccd/cmd-plugin-reload.cpp lib/irccd/cmd-plugin-unload.cpp lib/irccd/cmd-server-info.hpp lib/irccd/cmd-server-invite.hpp lib/irccd/cmd-server-join.hpp lib/irccd/cmd-server-kick.hpp lib/irccd/cmd-server-list.hpp lib/irccd/cmd-server-me.hpp lib/irccd/cmd-server-message.hpp lib/irccd/cmd-server-mode.hpp lib/irccd/cmd-server-nick.hpp lib/irccd/cmd-server-notice.hpp lib/irccd/cmd-server-part.hpp lib/irccd/cmd-server-reconnect.hpp lib/irccd/cmd-server-topic.hpp lib/irccd/cmd-watch.hpp lib/irccd/command.hpp lib/irccd/connection.hpp lib/irccd/fs.hpp lib/irccd/irccd.hpp lib/irccd/logger.hpp lib/irccd/mod-directory.hpp lib/irccd/mod-elapsed-timer.hpp lib/irccd/mod-file.hpp lib/irccd/mod-irccd.hpp lib/irccd/mod-logger.hpp lib/irccd/mod-plugin.hpp lib/irccd/mod-server.hpp lib/irccd/mod-system.hpp lib/irccd/mod-timer.hpp lib/irccd/mod-unicode.hpp lib/irccd/mod-util.hpp lib/irccd/module.hpp lib/irccd/path.hpp lib/irccd/plugin-dynlib.hpp lib/irccd/plugin-js.hpp lib/irccd/plugin.hpp lib/irccd/server-state-connected.hpp lib/irccd/server-state-connecting.hpp lib/irccd/server-state-disconnected.hpp lib/irccd/server-state.hpp lib/irccd/service-command.hpp lib/irccd/service-interrupt.hpp lib/irccd/service-module.hpp lib/irccd/service-plugin.hpp lib/irccd/service-rule.hpp lib/irccd/service-server.hpp lib/irccd/service-transport.hpp lib/irccd/service.hpp lib/irccd/signals.hpp lib/irccd/system.hpp lib/irccd/transport-client.hpp lib/irccd/transport-server.hpp lib/irccd/util.hpp lib/irccd/xdg.hpp
diffstat 61 files changed, 202 insertions(+), 65 deletions(-) [+]
line wrap: on
line diff
--- a/doc/doxygen/CMakeLists.txt	Tue May 31 21:03:01 2016 +0200
+++ b/doc/doxygen/CMakeLists.txt	Tue May 31 22:13:35 2016 +0200
@@ -16,7 +16,8 @@
 
 project(doxygen)
 
-set(DOXYGEN_INPUT ${CMAKE_SOURCE_DIR})
+set(DOXYGEN_INPUT ${CMAKE_SOURCE_DIR}/lib)
+set(DOXYGEN_OUTPUT ${IRCCD_FAKEROOTDIR}/${WITH_DOCDIR}/doxygen)
 
 if (NOT DOXYGEN_DOT_FOUND)
 	set(DOXYGEN_HAVE_DOT "NO")
@@ -27,19 +28,19 @@
 endif ()
 
 configure_file(
-	${doxygen_SOURCE_DIR}/Doxyfile.in
-	${doxygen_BINARY_DIR}/Doxyfile
+	${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in
+	${CMAKE_BINARY_DIR}/Doxyfile
 )
 
 add_custom_target(
 	docs-doxygen
 	COMMENT "Generating doxygen documentation"
 	COMMAND
-		${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/docs/doxygen
+		${CMAKE_COMMAND} -E make_directory ${IRCCD_FAKEROOTDIR}/${WITH_DOCDIR}/doxygen
 	COMMAND
-		${DOXYGEN_EXECUTABLE} ${doxygen_BINARY_DIR}/Doxyfile
+		${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/Doxyfile
 	WORKING_DIRECTORY
 		${CMAKE_SOURCE_DIR}
 )
 
-add_dependencies(docs docs-doxygen)
+add_dependencies(all-docs docs-doxygen)
--- a/doc/doxygen/Doxyfile.in	Tue May 31 21:03:01 2016 +0200
+++ b/doc/doxygen/Doxyfile.in	Tue May 31 22:13:35 2016 +0200
@@ -7,7 +7,7 @@
 #
 # VERSION		- The project version
 # DOXYGEN_INPUT		- The source directory
-# DOXYGEN_OUTPUT	- The output directory (doc/generated/doxygen)
+# DOXYGEN_OUTPUT	- The output directory
 # DOXYGEN_HAVE_DOT	- True if have dot
 # DOXYGEN_DOT_PATH	- The path to dot
 #
@@ -57,7 +57,7 @@
 # entered, it will be relative to the location where doxygen was started. If
 # left blank the current directory will be used.
 
-OUTPUT_DIRECTORY       = @CMAKE_BINARY_DIR@/docs/doxygen
+OUTPUT_DIRECTORY       = @DOXYGEN_OUTPUT@
 
 # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
 # directories (in 2 levels) under the output directory of each output format and
@@ -131,7 +131,7 @@
 # shortest path that makes the file name unique will be used
 # The default value is: YES.
 
-FULL_PATH_NAMES        = YES
+FULL_PATH_NAMES        = NO
 
 # The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
 # Stripping is only done if one of the specified strings matches the left-hand
@@ -742,7 +742,7 @@
 # spaces.
 # Note: If this tag is empty the current directory is searched.
 
-INPUT                  = @DOXYGEN_INPUT@/lib
+INPUT                  = @DOXYGEN_INPUT@
 
 # This tag can be used to specify the character encoding of the source files
 # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@@ -762,7 +762,7 @@
 # *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
 # *.qsf, *.as and *.js.
 
-FILE_PATTERNS          = *.h
+FILE_PATTERNS          = *.hpp
 
 # The RECURSIVE tag can be used to specify whether or not subdirectories should
 # be searched for input files as well.
@@ -777,7 +777,7 @@
 # Note that relative paths are relative to the directory from which doxygen is
 # run.
 
-EXCLUDE                = lib/irccd/server-private.h
+EXCLUDE                = lib/irccd/server-private.hpp
 
 # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
 # directories that are symbolic links (a Unix file system feature) are excluded
--- a/lib/irccd/cmd-help.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-help.hpp	Tue May 31 22:13:35 2016 +0200
@@ -36,8 +36,14 @@
  */
 class Help : public RemoteCommand {
 public:
+	/**
+	 * Constructor.
+	 */
 	IRCCD_EXPORT Help();
 
+	/**
+	 * \copydoc RemoteCommand::args
+	 */
 	IRCCD_EXPORT std::vector<Arg> args() const override;
 
 	/**
--- a/lib/irccd/cmd-plugin-info.cpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-plugin-info.cpp	Tue May 31 22:13:35 2016 +0200
@@ -23,6 +23,7 @@
 #include "plugin.hpp"
 #include "service-plugin.hpp"
 #include "sysconfig.hpp"
+#include "util.hpp"
 
 namespace irccd {
 
@@ -60,8 +61,7 @@
 		{ "version",	plugin->version()	}
 	});
 #else
-	(void)irccd;
-	(void)object;
+	util::unused(irccd, object);
 
 	throw std::runtime_error("JavaScript disabled");
 #endif
--- a/lib/irccd/cmd-plugin-list.cpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-plugin-list.cpp	Tue May 31 22:13:35 2016 +0200
@@ -23,6 +23,7 @@
 #include "plugin.hpp"
 #include "service-plugin.hpp"
 #include "sysconfig.hpp"
+#include "util.hpp"
 
 namespace irccd {
 
@@ -51,8 +52,7 @@
 
 	return response;
 #else
-	(void)irccd;
-	(void)tc;
+	util::unused(irccd, tc);
 
 	throw std::runtime_error("JavaScript disabled");
 #endif
--- a/lib/irccd/cmd-plugin-load.cpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-plugin-load.cpp	Tue May 31 22:13:35 2016 +0200
@@ -20,6 +20,7 @@
 #include "irccd.hpp"
 #include "service-plugin.hpp"
 #include "sysconfig.hpp"
+#include "util.hpp"
 
 namespace irccd {
 
@@ -49,9 +50,7 @@
 
 	return RemoteCommand::exec(irccd, request);
 #else
-	(void)irccd;
-	(void)tc;
-	(void)object;
+	util::unused(irccd, request);
 
 	throw std::runtime_error("JavaScript disabled");
 #endif
--- a/lib/irccd/cmd-plugin-reload.cpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-plugin-reload.cpp	Tue May 31 22:13:35 2016 +0200
@@ -21,6 +21,7 @@
 #include "plugin.hpp"
 #include "service-plugin.hpp"
 #include "sysconfig.hpp"
+#include "util.hpp"
 
 namespace irccd {
 
@@ -48,9 +49,7 @@
 
 	return RemoteCommand::exec(irccd, request);
 #else
-	(void)irccd;
-	(void)tc;
-	(void)object;
+	util::unused(irccd, request);
 
 	throw std::runtime_error("JavaScript disabled");
 #endif
--- a/lib/irccd/cmd-plugin-unload.cpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-plugin-unload.cpp	Tue May 31 22:13:35 2016 +0200
@@ -20,6 +20,7 @@
 #include "irccd.hpp"
 #include "service-plugin.hpp"
 #include "sysconfig.hpp"
+#include "util.hpp"
 
 namespace irccd {
 
@@ -47,9 +48,7 @@
 
 	return RemoteCommand::exec(irccd, request);
 #else
-	(void)irccd;
-	(void)tc;
-	(void)object;
+	util::unused(irccd, request);
 
 	throw std::runtime_error("JavaScript disabled");
 #endif
--- a/lib/irccd/cmd-server-info.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-server-info.hpp	Tue May 31 22:13:35 2016 +0200
@@ -36,6 +36,9 @@
  */
 class ServerInfo : public RemoteCommand {
 public:
+	/**
+	 * Constructor.
+	 */
 	IRCCD_EXPORT ServerInfo();
 
 	/**
--- a/lib/irccd/cmd-server-invite.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-server-invite.hpp	Tue May 31 22:13:35 2016 +0200
@@ -36,6 +36,9 @@
  */
 class ServerInvite : public RemoteCommand {
 public:
+	/**
+	 * Constructor.
+	 */
 	IRCCD_EXPORT ServerInvite();
 
 	/**
--- a/lib/irccd/cmd-server-join.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-server-join.hpp	Tue May 31 22:13:35 2016 +0200
@@ -36,6 +36,9 @@
  */
 class ServerJoin : public RemoteCommand {
 public:
+	/**
+	 * Constructor.
+	 */
 	IRCCD_EXPORT ServerJoin();
 
 	/**
--- a/lib/irccd/cmd-server-kick.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-server-kick.hpp	Tue May 31 22:13:35 2016 +0200
@@ -36,6 +36,9 @@
  */
 class ServerKick : public RemoteCommand {
 public:
+	/**
+	 * Constructor.
+	 */
 	IRCCD_EXPORT ServerKick();
 
 	/**
--- a/lib/irccd/cmd-server-list.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-server-list.hpp	Tue May 31 22:13:35 2016 +0200
@@ -36,6 +36,9 @@
  */
 class ServerList : public RemoteCommand {
 public:
+	/**
+	 * Constructor.
+	 */
 	IRCCD_EXPORT ServerList();
 
 	/**
@@ -43,8 +46,14 @@
 	 */
 	IRCCD_EXPORT std::string help() const override;
 
+	/**
+	 * \copydoc RemoteCommand::exec
+	 */
 	IRCCD_EXPORT json::Value exec(Irccd &irccd, const json::Value &request) const override;
 
+	/**
+	 * \copydoc RemoteCommand::result
+	 */
 	IRCCD_EXPORT void result(Irccdctl &irccdctl, const json::Value &response) const override;
 };
 
--- a/lib/irccd/cmd-server-me.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-server-me.hpp	Tue May 31 22:13:35 2016 +0200
@@ -36,6 +36,9 @@
  */
 class ServerMe : public RemoteCommand {
 public:
+	/**
+	 * Constructor.
+	 */
 	IRCCD_EXPORT ServerMe();
 
 	/**
--- a/lib/irccd/cmd-server-message.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-server-message.hpp	Tue May 31 22:13:35 2016 +0200
@@ -36,6 +36,9 @@
  */
 class ServerMessage : public RemoteCommand {
 public:
+	/**
+	 * Constructor.
+	 */
 	IRCCD_EXPORT ServerMessage();
 
 	/**
--- a/lib/irccd/cmd-server-mode.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-server-mode.hpp	Tue May 31 22:13:35 2016 +0200
@@ -36,6 +36,9 @@
  */
 class ServerMode : public RemoteCommand {
 public:
+	/**
+	 * Constructor.
+	 */
 	IRCCD_EXPORT ServerMode();
 
 	/**
--- a/lib/irccd/cmd-server-nick.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-server-nick.hpp	Tue May 31 22:13:35 2016 +0200
@@ -36,6 +36,9 @@
  */
 class ServerNick : public RemoteCommand {
 public:
+	/**
+	 * Constructor.
+	 */
 	IRCCD_EXPORT ServerNick();
 
 	/**
--- a/lib/irccd/cmd-server-notice.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-server-notice.hpp	Tue May 31 22:13:35 2016 +0200
@@ -36,6 +36,9 @@
  */
 class ServerNotice : public RemoteCommand {
 public:
+	/**
+	 * Constructor.
+	 */
 	IRCCD_EXPORT ServerNotice();
 
 	/**
--- a/lib/irccd/cmd-server-part.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-server-part.hpp	Tue May 31 22:13:35 2016 +0200
@@ -36,6 +36,9 @@
  */
 class ServerPart : public RemoteCommand {
 public:
+	/**
+	 * Constructor.
+	 */
 	IRCCD_EXPORT ServerPart();
 
 	/**
--- a/lib/irccd/cmd-server-reconnect.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-server-reconnect.hpp	Tue May 31 22:13:35 2016 +0200
@@ -36,6 +36,9 @@
  */
 class ServerReconnect : public RemoteCommand {
 public:
+	/**
+	 * Constructor.
+	 */
 	IRCCD_EXPORT ServerReconnect();
 
 	/**
--- a/lib/irccd/cmd-server-topic.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-server-topic.hpp	Tue May 31 22:13:35 2016 +0200
@@ -36,6 +36,9 @@
  */
 class ServerTopic : public RemoteCommand {
 public:
+	/**
+	 * Constructor.
+	 */
 	IRCCD_EXPORT ServerTopic();
 
 	/**
--- a/lib/irccd/cmd-watch.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/cmd-watch.hpp	Tue May 31 22:13:35 2016 +0200
@@ -36,8 +36,14 @@
  */
 class Watch : public RemoteCommand {
 public:
+	/**
+	 * Constructor.
+	 */
 	IRCCD_EXPORT Watch();
 
+	/**
+	 * \copydoc RemoteCommand::options
+	 */
 	IRCCD_EXPORT std::vector<Option> options() const override;
 
 	/**
@@ -48,7 +54,7 @@
 	/**
 	 * \copydoc RemoteCommand::request
 	 */
-	IRCCD_EXPORT json::Value request(Irccdctl &irccdctl, const RemoteCommandRequest &request) const override;
+	IRCCD_EXPORT json::Value request(Irccdctl &irccdctl, const RemoteCommandRequest &args) const override;
 };
 
 } // !command
--- a/lib/irccd/command.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/command.hpp	Tue May 31 22:13:35 2016 +0200
@@ -37,6 +37,12 @@
 class Irccdctl;
 
 /**
+ * \brief Namespace for remote commands.
+ */
+namespace command {
+}
+
+/**
  * \brief Command line arguments to irccdctl.
  *
  * This class contains the resolved arguments from command line that can apply to the command.
@@ -346,7 +352,7 @@
 	 *
 	 * This default implementation just check for an error string and shows it if any.
 	 * 
-	 * \param irccdctl the irccdctl instan e
+	 * \param irccdctl the irccdctl instance
 	 * \param response the JSON response
 	 */
 	IRCCD_EXPORT virtual void result(Irccdctl &irccdctl, const json::Value &response) const;
--- a/lib/irccd/connection.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/connection.hpp	Tue May 31 22:13:35 2016 +0200
@@ -152,7 +152,7 @@
 	void send(std::string msg, int timeout) override;
 
 	/**
-	 * \copydoc Connection::next
+	 * \copydoc Connection::next(int)
 	 */
 	json::Value next(int timeout) override;
 };
--- a/lib/irccd/fs.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/fs.hpp	Tue May 31 22:13:35 2016 +0200
@@ -67,8 +67,8 @@
 		Link		//!< File is link
 	};
 
-	std::string name;	//! name of entry (base name)
-	Type type{Unknown};	//! type of file
+	std::string name;	//!< name of entry (base name)
+	Type type{Unknown};	//!< type of file
 };
 
 /**
--- a/lib/irccd/irccd.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/irccd.hpp	Tue May 31 22:13:35 2016 +0200
@@ -33,6 +33,9 @@
 
 #include "sysconfig.hpp"
 
+/**
+ * \brief Main irccd namespace
+ */
 namespace irccd {
 
 class CommandService;
--- a/lib/irccd/logger.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/logger.hpp	Tue May 31 22:13:35 2016 +0200
@@ -66,7 +66,7 @@
 	 *
 	 * This function is called only if NDEBUG is not defined.
 	 *
-	 * \param data the data
+	 * \param line the data
 	 * \see log::debug
 	 */
 	virtual void debug(const std::string &line) = 0;
@@ -76,7 +76,7 @@
 	 *
 	 * The function is called only if verbose is true.
 	 *
-	 * \param data the data
+	 * \param line the data
 	 * \see log::info
 	 */
 	virtual void info(const std::string &line) = 0;
@@ -86,7 +86,7 @@
 	 *
 	 * This function is always called.
 	 *
-	 * \param data the data
+	 * \param line the data
 	 * \see log::warning
 	 */
 	virtual void warning(const std::string &line) = 0;
--- a/lib/irccd/mod-directory.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/mod-directory.hpp	Tue May 31 22:13:35 2016 +0200
@@ -32,6 +32,7 @@
 
 /**
  * \brief Irccd.Directory JavaScript API.
+ * \ingroup modules
  */
 class DirectoryModule : public Module {
 public:
--- a/lib/irccd/mod-elapsed-timer.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/mod-elapsed-timer.hpp	Tue May 31 22:13:35 2016 +0200
@@ -30,6 +30,7 @@
 
 /**
  * \brief Irccd.ElapsedTimer JavaScript API.
+ * \ingroup modules
  */
 class ElapsedTimerModule : public Module {
 public:
--- a/lib/irccd/mod-file.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/mod-file.hpp	Tue May 31 22:13:35 2016 +0200
@@ -175,6 +175,7 @@
 
 /**
  * \brief Irccd.File JavaScript API.
+ * \ingroup modules
  */
 class FileModule : public Module {
 public:
--- a/lib/irccd/mod-irccd.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/mod-irccd.hpp	Tue May 31 22:13:35 2016 +0200
@@ -66,7 +66,8 @@
 };
 
 /**
- * Irccd JavaScript API.
+ * \brief Irccd JavaScript API.
+ * \ingroup modules
  */
 class IrccdModule : public Module {
 public:
--- a/lib/irccd/mod-logger.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/mod-logger.hpp	Tue May 31 22:13:35 2016 +0200
@@ -30,6 +30,7 @@
 
 /**
  * \brief Irccd.Logger JavaScript API.
+ * \ingroup modules
  */
 class LoggerModule : public Module {
 public:
--- a/lib/irccd/mod-plugin.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/mod-plugin.hpp	Tue May 31 22:13:35 2016 +0200
@@ -51,6 +51,7 @@
 
 /**
  * \brief Irccd.Plugin JavaScript API.
+ * \ingroup modules
  */
 class PluginModule : public Module {
 public:
--- a/lib/irccd/mod-server.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/mod-server.hpp	Tue May 31 22:13:35 2016 +0200
@@ -54,7 +54,7 @@
 	 * \param ctx the context
 	 * \param server the server
 	 */
-	IRCCD_EXPORT static void push(Context *ctx, std::shared_ptr<Server>);
+	IRCCD_EXPORT static void push(Context *ctx, std::shared_ptr<Server> server);
 
 	/**
 	 * Require a server. Raise a JavaScript error if not a Server.
@@ -70,6 +70,7 @@
 
 /**
  * \brief Irccd.Server JavaScript API.
+ * \ingroup modules
  */
 class ServerModule : public Module {
 public:
--- a/lib/irccd/mod-system.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/mod-system.hpp	Tue May 31 22:13:35 2016 +0200
@@ -30,6 +30,7 @@
 
 /**
  * \brief Irccd.System JavaScript API.
+ * \ingroup modules
  */
 class SystemModule : public Module {
 public:
--- a/lib/irccd/mod-timer.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/mod-timer.hpp	Tue May 31 22:13:35 2016 +0200
@@ -30,6 +30,7 @@
 
 /**
  * \brief Irccd.Timer JavaScript API.
+ * \ingroup modules
  */
 class TimerModule : public Module {
 public:
--- a/lib/irccd/mod-unicode.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/mod-unicode.hpp	Tue May 31 22:13:35 2016 +0200
@@ -30,6 +30,7 @@
 
 /**
  * \brief Irccd.Unicode JavaScript API.
+ * \ingroup modules
  */
 class UnicodeModule : public Module {
 public:
--- a/lib/irccd/mod-util.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/mod-util.hpp	Tue May 31 22:13:35 2016 +0200
@@ -30,6 +30,7 @@
 
 /**
  * \brief Irccd.Util JavaScript API.
+ * \ingroup modules
  */
 class UtilModule : public Module {
 public:
--- a/lib/irccd/module.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/module.hpp	Tue May 31 22:13:35 2016 +0200
@@ -24,6 +24,11 @@
  * \brief JavaScript API module.
  */
 
+/**
+ * \defgroup modules JavaScript modules
+ * \brief Modules for the JavaScript API.
+ */
+
 #include <cassert>
 
 #include "sysconfig.hpp"
--- a/lib/irccd/path.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/path.hpp	Tue May 31 22:13:35 2016 +0200
@@ -31,10 +31,13 @@
 
 namespace irccd {
 
+/**
+ * \brief Namespace for paths.
+ */
 namespace path {
 
 /**
- * PATH separator, either : or ;.
+ * brief PATH separator, either : or ;.
  */
 extern const char Separator;
 
--- a/lib/irccd/plugin-dynlib.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/plugin-dynlib.hpp	Tue May 31 22:13:35 2016 +0200
@@ -31,6 +31,7 @@
 
 /**
  * \brief Dynlib based plugin.
+ * \ingroup plugins
  */
 class DynlibPlugin : public Plugin {
 private:
--- a/lib/irccd/plugin-js.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/plugin-js.hpp	Tue May 31 22:13:35 2016 +0200
@@ -20,7 +20,7 @@
 #define IRCCD_PLUGIN_JS_HPP
 
 /**
- * \file plugin-hs.hpp
+ * \file plugin-js.hpp
  * \brief JavaScript plugins for irccd.
  */
 
@@ -35,6 +35,7 @@
 
 /**
  * \brief JavaScript plugins for irccd.
+ * \ingroup plugins
  */
 class JsPlugin : public Plugin {
 private:
--- a/lib/irccd/plugin.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/plugin.hpp	Tue May 31 22:13:35 2016 +0200
@@ -24,6 +24,11 @@
  * \brief Irccd plugins
  */
 
+/**
+ * \defgroup plugins Plugins
+ * \brief Plugin management.
+ */
+
 #include <memory>
 #include <string>
 #include <unordered_map>
@@ -49,11 +54,10 @@
 using PluginFormats = std::unordered_map<std::string, std::string>;
 
 /**
- * \class Plugin
- * \brief JavaScript plugin
+ * \ingroup plugins
+ * \brief Abstract plugin.
  *
- * A plugin is identified by name and can be loaded and unloaded
- * at runtime.
+ * A plugin is identified by name and can be loaded and unloaded at runtime.
  */
 class Plugin : public std::enable_shared_from_this<Plugin> {
 private:
@@ -276,6 +280,7 @@
 	/**
 	 * On successful connection.
 	 *
+	 * \param irccd the irccd instance
 	 * \param server the server
 	 */
 	virtual void onConnect(Irccd &irccd, const std::shared_ptr<Server> &server)
--- a/lib/irccd/server-state-connected.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/server-state-connected.hpp	Tue May 31 22:13:35 2016 +0200
@@ -32,6 +32,7 @@
 
 /**
  * \brief Connected state.
+ * \ingroup states
  */
 class Connected : public ServerState {
 public:
--- a/lib/irccd/server-state-connecting.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/server-state-connecting.hpp	Tue May 31 22:13:35 2016 +0200
@@ -33,6 +33,7 @@
 
 /**
  * \brief Connecting state.
+ * \ingroup states
  */
 class Connecting : public ServerState {
 private:
--- a/lib/irccd/server-state-disconnected.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/server-state-disconnected.hpp	Tue May 31 22:13:35 2016 +0200
@@ -33,6 +33,7 @@
 
 /**
  * \brief Disconnected state.
+ * \ingroup states
  */
 class Disconnected : public ServerState {
 private:
--- a/lib/irccd/server-state.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/server-state.hpp	Tue May 31 22:13:35 2016 +0200
@@ -24,6 +24,11 @@
  * \brief Server state.
  */
 
+/**
+ * \defgroup states Server states
+ * \brief States for Server class.
+ */
+
 #include "elapsed-timer.hpp"
 #include "net.hpp"
 #include "sysconfig.hpp"
@@ -33,6 +38,12 @@
 class Server;
 
 /**
+ * \brief Namespace for server states.
+ */
+namespace state {
+}
+
+/**
  * \class ServerState
  * \brief Server current state.
  */
--- a/lib/irccd/service-command.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/service-command.hpp	Tue May 31 22:13:35 2016 +0200
@@ -35,6 +35,7 @@
 
 /**
  * \brief Store remote commands.
+ * \ingroup services
  */
 class CommandService {
 private:
--- a/lib/irccd/service-interrupt.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/service-interrupt.hpp	Tue May 31 22:13:35 2016 +0200
@@ -30,6 +30,7 @@
 
 /**
  * \brief Interrupt irccd event loop.
+ * \ingroup services
  */
 class InterruptService : public Service {
 private:
--- a/lib/irccd/service-module.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/service-module.hpp	Tue May 31 22:13:35 2016 +0200
@@ -35,6 +35,7 @@
 
 /**
  * \brief Store and manage JavaScript modules.
+ * \ingroup services
  */
 class ModuleService {
 private:
--- a/lib/irccd/service-plugin.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/service-plugin.hpp	Tue May 31 22:13:35 2016 +0200
@@ -36,6 +36,7 @@
 
 /**
  * \brief Manage plugins.
+ * \ingroup services
  */
 class PluginService {
 private:
--- a/lib/irccd/service-rule.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/service-rule.hpp	Tue May 31 22:13:35 2016 +0200
@@ -32,6 +32,7 @@
 
 /**
  * \brief Store and solve rules.
+ * \ingroup services
  */
 class RuleService {
 private:
--- a/lib/irccd/service-server.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/service-server.hpp	Tue May 31 22:13:35 2016 +0200
@@ -38,6 +38,7 @@
 
 /**
  * \brief Manage IRC servers.
+ * \ingroup services
  */
 class ServerService : public Service {
 private:
--- a/lib/irccd/service-transport.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/service-transport.hpp	Tue May 31 22:13:35 2016 +0200
@@ -39,6 +39,7 @@
 
 /**
  * \brief manage transport servers and clients.
+ * \ingroup services
  */
 class TransportService : public Service {
 private:
@@ -86,4 +87,4 @@
 
 } // !irccd
 
-#endif // !IRCCD_SERVICE_TRANSPORT_HPP
\ No newline at end of file
+#endif // !IRCCD_SERVICE_TRANSPORT_HPP
--- a/lib/irccd/service.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/service.hpp	Tue May 31 22:13:35 2016 +0200
@@ -24,6 +24,11 @@
  * \brief Selectable service.
  */
 
+/**
+ * \defgroup services Irccd services
+ * \brief Irccd services.
+ */
+
 #include "net.hpp"
 #include "sysconfig.hpp"
 #include "util.hpp"
--- a/lib/irccd/signals.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/signals.hpp	Tue May 31 22:13:35 2016 +0200
@@ -25,15 +25,15 @@
 #include <vector>
 
 /**
- * @file signals.h
- * @brief Similar Qt signal subsystem for irccd
+ * \file signals.hpp
+ * \brief Similar Qt signal subsystem for irccd
  */
 
 namespace irccd {
 
 /**
- * @class SignalConnection
- * @brief Stores the reference to the callable
+ * \class SignalConnection
+ * \brief Stores the reference to the callable
  *
  * This class can be stored to remove a registered function from a Signal, be
  * careful to not mix connections between different signals as they are just
@@ -47,7 +47,7 @@
 	/**
 	 * Create a signal connection.
 	 *
-	 * @param id the id
+	 * \param id the id
 	 */
 	inline SignalConnection(unsigned id) noexcept
 		: m_id(id)
@@ -57,7 +57,7 @@
 	/**
 	 * Get the reference object.
 	 *
-	 * @return the id
+	 * \return the id
 	 */
 	inline unsigned id() const noexcept
 	{
@@ -66,8 +66,8 @@
 };
 
 /**
- * @class Signal
- * @brief Stores and call registered functions
+ * \class Signal
+ * \brief Stores and call registered functions
  *
  * This class is intended to be use as a public field in the desired object.
  *
@@ -94,8 +94,8 @@
 	/**
 	 * Register a new function to the signal.
 	 *
-	 * @param function the function
-	 * @return the connection in case you want to remove it
+	 * \param function the function
+	 * \return the connection in case you want to remove it
 	 */
 	inline SignalConnection connect(Function function) noexcept
 	{
@@ -104,9 +104,8 @@
 		if (!m_stack.empty()) {
 			id = m_stack.top();
 			m_stack.pop();
-		} else {
+		} else
 			id = m_max ++;
-		}
 
 		m_functions.emplace(id, std::move(function));
 
@@ -116,8 +115,8 @@
 	/**
 	 * Disconnect a connection.
 	 *
-	 * @param connection the connection
-	 * @warning Be sure that the connection belongs to that signal
+	 * \param connection the connection
+	 * \warning Be sure that the connection belongs to that signal
 	 */
 	inline void disconnect(const SignalConnection &connection) noexcept
 	{
@@ -144,7 +143,7 @@
 	/**
 	 * Call every functions.
 	 *
-	 * @param args the arguments to pass to the signal
+	 * \param args the arguments to pass to the signal
 	 */
 	void operator()(Args... args) const
 	{
--- a/lib/irccd/system.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/system.hpp	Tue May 31 22:13:35 2016 +0200
@@ -31,6 +31,9 @@
 
 namespace irccd {
 
+/**
+ * \brief Namespace for system functions.
+ */
 namespace sys {
 
 /**
--- a/lib/irccd/transport-client.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/transport-client.hpp	Tue May 31 22:13:35 2016 +0200
@@ -68,14 +68,24 @@
 	Signal<> onDie;
 
 protected:
-	std::string m_input;
-	std::string m_output;
+	std::string m_input;	//!< input buffer
+	std::string m_output;	//!< output buffer
 
-	/* Parse input buffer */
-	void parse(const std::string &);
+	/**
+	 * Parse input buffer.
+	 *
+	 * \param buffer the buffer.
+	 */
+	void parse(const std::string &buffer);
 
-	/* Do I/O */
+	/**
+	 * Start receiving data.
+	 */
 	virtual void receive() = 0;
+
+	/**
+	 * Start sending data.
+	 */
 	virtual void send() = 0;
 
 public:
--- a/lib/irccd/transport-server.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/transport-server.hpp	Tue May 31 22:13:35 2016 +0200
@@ -88,6 +88,9 @@
  */
 class TransportServerIp : public TransportServer {
 protected:
+	/**
+	 * The TCP/IP socket.
+	 */
 	net::SocketTcp<net::address::Ip> m_socket;
 
 public:
@@ -103,7 +106,7 @@
 	IRCCD_EXPORT TransportServerIp(int domain, const std::string &address, int port, bool ipv6only = true);
 
 	/**
-	 * \copydoc TransportServer::socket
+	 * \copydoc TransportServer::handle
 	 */
 	IRCCD_EXPORT net::Handle handle() noexcept override;
 
@@ -138,7 +141,7 @@
 	IRCCD_EXPORT ~TransportServerUnix();
 
 	/**
-	 * \copydoc TransportServer::socket
+	 * \copydoc TransportServer::handle
 	 */
 	IRCCD_EXPORT net::Handle handle() noexcept override;
 
--- a/lib/irccd/util.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/util.hpp	Tue May 31 22:13:35 2016 +0200
@@ -39,6 +39,9 @@
 
 namespace irccd {
 
+/**
+ * \brief Namespace for utilities.
+ */
 namespace util {
 
 /**
@@ -77,6 +80,9 @@
 		IrcAttrs	= (1 << 4)	//!< IRC escape codes
 	};
 
+	/**
+	 * Flags for selecting templates.
+	 */
 	std::uint8_t flags{Date | Keywords | Env | IrcAttrs};
 
 	/**
--- a/lib/irccd/xdg.hpp	Tue May 31 21:03:01 2016 +0200
+++ b/lib/irccd/xdg.hpp	Tue May 31 22:13:35 2016 +0200
@@ -20,7 +20,7 @@
 #define IRCCD_XDG_H
 
 /**
- * \file xdg.h
+ * \file xdg.hpp
  * \brief Read XDG standard specifications
  */