Mercurial > irccd
annotate plugins/links/links.hpp @ 816:42992b30f928
irccd: remove options print
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 16 Nov 2018 20:16:00 +0100 |
parents | 8460b4a34191 |
children | 06cc2f95f479 |
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 |