annotate tests/dynlib_plugin/test_plugin.cpp @ 518:b557017ad3f0

Tests: unify test files for directory/file tests
author David Demelier <markand@malikania.fr>
date Fri, 27 Oct 2017 08:52:39 +0200
parents 458e34f16c1f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * test_plugin.cpp -- basic exported plugin test
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 * Copyright (c) 2013-2017 David Demelier <markand@malikania.fr>
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #include <boost/dll.hpp>
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 #include <plugin.hpp>
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
22
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 namespace irccd {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
24
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 class test_plugin : public plugin {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 public:
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 using plugin::plugin;
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
28
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 void on_command(irccd&, const message_event& event) override
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 event.server->message("test", "on_command");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
33
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 void on_connect(irccd&, const connect_event& event) override
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 event.server->message("test", "on_connect");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
38
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 void on_channel_mode(irccd&, const channel_mode_event& event) override
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 event.server->message("test", "on_channel_mode");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
43
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 void on_channel_notice(irccd&, const channel_notice_event& event) override
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 event.server->message("test", "on_channel_notice");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
48
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 void on_invite(irccd&, const invite_event& event) override
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 event.server->message("test", "on_invite");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
53
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 void on_join(irccd&, const join_event& event) override
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 event.server->message("test", "on_join");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
58
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 void on_kick(irccd&, const kick_event& event) override
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 event.server->message("test", "on_kick");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
63
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 void on_message(irccd&, const message_event& event) override
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 event.server->message("test", "on_message");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
68
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 void on_me(irccd&, const me_event& event) override
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 event.server->message("test", "on_me");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
73
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 void on_mode(irccd&, const mode_event& event) override
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 event.server->message("test", "on_mode");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
78
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 void on_names(irccd&, const names_event& event) override
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 event.server->message("test", "on_names");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
83
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 void on_nick(irccd&, const nick_event& event) override
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 event.server->message("test", "on_nick");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
88
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 void on_notice(irccd&, const notice_event& event) override
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
90 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 event.server->message("test", "on_notice");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
93
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
94 void on_part(irccd&, const part_event& event) override
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
96 event.server->message("test", "on_part");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
98
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
99 void on_query(irccd&, const query_event& event) override
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
101 event.server->message("test", "on_query");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
103
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
104 void on_query_command(irccd&, const query_event& event) override
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
105 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
106 event.server->message("test", "on_query_command");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
107 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
108
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
109 void on_topic(irccd&, const topic_event& event) override
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
110 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
111 event.server->message("test", "on_topic");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
113
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
114 void on_whois(irccd&, const whois_event& event) override
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
115 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
116 event.server->message("test", "on_whois");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
117 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
118 };
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
119
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
120 } // !irccd
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
121
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
122 extern "C" {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
123
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
124 BOOST_SYMBOL_EXPORT
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
125 std::unique_ptr<irccd::plugin> irccd_testplugin_load(std::string name, std::string path)
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
126 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
127 return std::make_unique<irccd::test_plugin>(name, path);
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
128 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
129
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
130 } // !C