annotate plugins/links/links.hpp @ 809:8460b4a34191

misc: reorganize namespaces, closes #952 @4h
author David Demelier <markand@malikania.fr>
date Fri, 16 Nov 2018 12:25:00 +0100
parents ca16ca53c347
children 06cc2f95f479
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
768
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * links.hpp -- links plugin
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 * Copyright (c) 2013-2018 David Demelier <markand@malikania.fr>
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #ifndef IRCCD_LINKS_HPP
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 #define IRCCD_LINKS_HPP
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 /**
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 * \file links.hpp
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 * \brief Links plugin.
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 */
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
26
790
ca16ca53c347 windows: many fixes under MinGW-w64
David Demelier <markand@malikania.fr>
parents: 773
diff changeset
27 #include <irccd/daemon/dynlib_plugin.hpp>
768
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
28
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 namespace irccd {
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
30
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 /**
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 * \brief Links plugin.
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 */
809
8460b4a34191 misc: reorganize namespaces, closes #952 @4h
David Demelier <markand@malikania.fr>
parents: 790
diff changeset
34 class links_plugin : public daemon::plugin {
768
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
36 // options.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
37 static inline unsigned conf_timeout{30U};
768
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
38
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
39 // formats.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
40 static inline std::string format_info{"#{title}"};
768
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
41
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 public:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
43 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
44 * Inherited constructors.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
45 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
46 using plugin::plugin;
768
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
47
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
48 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
49 * \copydoc plugin::get_name
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
50 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
51 auto get_name() const noexcept -> std::string_view override;
768
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
52
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
53 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
54 * \copydoc plugin::get_author
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
55 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
56 auto get_author() const noexcept -> std::string_view override;
768
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
57
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
58 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
59 * \copydoc plugin::get_license
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
60 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
61 auto get_license() const noexcept -> std::string_view override;
768
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
62
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
63 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
64 * \copydoc plugin::get_summary
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
65 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
66 auto get_summary() const noexcept -> std::string_view override;
768
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
67
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
68 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
69 * \copydoc plugin::get_version
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
70 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
71 auto get_version() const noexcept -> std::string_view override;
768
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
72
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
73 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
74 * \copydoc plugin::set_options
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
75 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
76 void set_options(const map&) override;
768
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
77
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
78 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
79 * \copydoc plugin::set_formats
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
80 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
81 void set_formats(const map&) override;
768
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
82
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
83 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
84 * \copydoc plugin::handle_message
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
85 */
809
8460b4a34191 misc: reorganize namespaces, closes #952 @4h
David Demelier <markand@malikania.fr>
parents: 790
diff changeset
86 void handle_message(daemon::bot&, const daemon::message_event&) override;
768
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
87
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
88 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
89 * Export ABI.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
90 *
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
91 * \return the compiled version
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
92 */
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
93 static auto abi() -> version;
768
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
94
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
95 /**
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
96 * Create the plugin
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
97 *
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
98 * \param id the plugin id
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
99 * \return the compiled version
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 768
diff changeset
100 */
809
8460b4a34191 misc: reorganize namespaces, closes #952 @4h
David Demelier <markand@malikania.fr>
parents: 790
diff changeset
101 static auto init(std::string) -> std::unique_ptr<daemon::plugin>;
768
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 };
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
103
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
104 } // !irccd
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
105
d8bf53170fb6 Plugin links: fix various errors, closes #912 @2h
David Demelier <markand@malikania.fr>
parents:
diff changeset
106 #endif // !IRCCD_LINKS_HPP