comparison tests/src/libirccd/dynlib-plugin/test_plugin.cpp @ 611:9fbd1700435b

Tests: reoganize hierarchy
author David Demelier <markand@malikania.fr>
date Fri, 15 Dec 2017 15:37:58 +0100
parents tests/src/dynlib-plugin/test_plugin.cpp@9d4da384f5d6
children 27587ff92a64
comparison
equal deleted inserted replaced
610:22b3cd6f991f 611:9fbd1700435b
1 /*
2 * test_plugin.cpp -- basic exported plugin test
3 *
4 * Copyright (c) 2013-2017 David Demelier <markand@malikania.fr>
5 *
6 * Permission to use, copy, modify, and/or distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.
9 *
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 */
18
19 #include <boost/dll.hpp>
20
21 #include <irccd/daemon/plugin.hpp>
22
23 namespace irccd {
24
25 class test_plugin : public plugin {
26 public:
27 using plugin::plugin;
28
29 void on_command(irccd&, const message_event& event) override
30 {
31 event.server->message("test", "on_command");
32 }
33
34 void on_connect(irccd&, const connect_event& event) override
35 {
36 event.server->message("test", "on_connect");
37 }
38
39 void on_invite(irccd&, const invite_event& event) override
40 {
41 event.server->message("test", "on_invite");
42 }
43
44 void on_join(irccd&, const join_event& event) override
45 {
46 event.server->message("test", "on_join");
47 }
48
49 void on_kick(irccd&, const kick_event& event) override
50 {
51 event.server->message("test", "on_kick");
52 }
53
54 void on_message(irccd&, const message_event& event) override
55 {
56 event.server->message("test", "on_message");
57 }
58
59 void on_me(irccd&, const me_event& event) override
60 {
61 event.server->message("test", "on_me");
62 }
63
64 void on_mode(irccd&, const mode_event& event) override
65 {
66 event.server->message("test", "on_mode");
67 }
68
69 void on_names(irccd&, const names_event& event) override
70 {
71 event.server->message("test", "on_names");
72 }
73
74 void on_nick(irccd&, const nick_event& event) override
75 {
76 event.server->message("test", "on_nick");
77 }
78
79 void on_notice(irccd&, const notice_event& event) override
80 {
81 event.server->message("test", "on_notice");
82 }
83
84 void on_part(irccd&, const part_event& event) override
85 {
86 event.server->message("test", "on_part");
87 }
88
89 void on_topic(irccd&, const topic_event& event) override
90 {
91 event.server->message("test", "on_topic");
92 }
93
94 void on_whois(irccd&, const whois_event& event) override
95 {
96 event.server->message("test", "on_whois");
97 }
98 };
99
100 } // !irccd
101
102 extern "C" {
103
104 BOOST_SYMBOL_EXPORT
105 std::unique_ptr<irccd::plugin> irccd_testplugin_load(std::string name, std::string path)
106 {
107 return std::make_unique<irccd::test_plugin>(name, path);
108 }
109
110 } // !C