annotate doc/examples/template-plugin.cpp @ 577:3d0dbc0bee7d

Irccd: update references to onChannel(Mode|Notice), onMode - Update hangman, logger and their tests, - Update dynlib_plugin and js_plugin.
author David Demelier <markand@malikania.fr>
date Thu, 30 Nov 2017 13:19:38 +0100
parents 6635b9187d71
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * This example file show how to fill irccd callbacks for a native plugin.
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 * All of the defined callbacks are optional and may be removed.
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
6
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 #include <iostream>
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
8
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
9 #include <irccd/plugin-dynlib.hpp> // (in irccd_onReload, irccd_onLoad and irccd_onUnload)
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 #include <irccd/server.hpp>
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
11 #include <irccd/util.hpp> // for util::join (in irccd_onNames)
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
12
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 using namespace irccd;
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
14
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 extern "C" {
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
16
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 /* --- onCommand ---------------------------------------------------- */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 void irccd_onCommand(Irccd &,
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
20 const std::shared_ptr<Server> &server,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
21 const std::string &origin,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
22 const std::string &channel,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
23 const std::string &message)
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
25 std::cout << "onCommand: server=" << server->name()
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
26 << ", origin=" << origin
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
27 << ", channel=" << channel
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
28 << ", message=" << message << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
30
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 /* --- onConnect ---------------------------------------------------- */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
32
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 void irccd_onConnect(Irccd &, const std::shared_ptr<Server> &server)
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
35 std::cout << "onConnect: server=" << server->name() << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
37
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 /* --- onChannelMode ------------------------------------------------ */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
39
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 void irccd_onChannelMode(Irccd &,
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
41 const std::shared_ptr<Server> &server,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
42 const std::string &origin,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
43 const std::string &channel,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
44 const std::string &mode,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
45 const std::string &arg)
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
47 std::cout << "onChannelMode: server=" << server->name()
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
48 << ", origin=" << origin
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
49 << ", channel=" << channel
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
50 << ", mode=" << mode
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
51 << ", arg=" << arg << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
53
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 /* --- onChannelNotice ---------------------------------------------- */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
55
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 void irccd_onChannelNotice(Irccd &irccd,
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
57 const std::shared_ptr<Server> &server,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
58 const std::string &origin,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
59 const std::string &channel,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
60 const std::string &notice)
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
62 std::cout << "onChannelNotice: server=" << server->name()
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
63 << ", origin=" << origin
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
64 << ", channel=" << channel
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
65 << ", notice=" << notice << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
67
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 /* --- onInvite ----------------------------------------------------- */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
69
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 void irccd_onInvite(Irccd &irccd, const std::shared_ptr<Server> &server, const std::string &origin, const std::string &channel)
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
72 std::cout << "onInvite: server=" << server->name() << ", origin=" << origin << ", channel=" << channel << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
74
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 /* --- onJoin ------------------------------------------------------- */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
76
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 void irccd_onJoin(Irccd &irccd, const std::shared_ptr<Server> &server, const std::string &origin, const std::string &channel)
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
79 std::cout << "onJoin: server=" << server->name() << ", origin=" << origin << ", channel=" << channel << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
81
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 /* --- onKick ------------------------------------------------------- */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
83
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 void irccd_onKick(Irccd &irccd,
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
85 const std::shared_ptr<Server> &server,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
86 const std::string &origin,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
87 const std::string &channel,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
88 const std::string &target,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
89 const std::string &reason)
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
90 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
91 std::cout << "onKick: server=" << server->name()
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
92 << ", origin=" << origin
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
93 << ", channel=" << channel
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
94 << ", target=" << channel
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
95 << ", reason=" << reason << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
96 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
97
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 /* --- onLoad ------------------------------------------------------- */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
99
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 void irccd_onLoad(Irccd &, DynlibPlugin &plugin)
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
101 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
102 std::cout << "onLoad: plugin=" << plugin.name() << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
103 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
104
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
105 /* --- onMessage ---------------------------------------------------- */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
106
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
107 void irccd_onMessage(Irccd &irccd,
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
108 const std::shared_ptr<Server> &server,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
109 const std::string &origin,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
110 const std::string &channel,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
111 const std::string &message)
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
113 std::cout << "onMessage: server=" << server->name()
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
114 << ", origin=" << origin
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
115 << ", channel=" << channel
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
116 << ", message=" << message << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
117 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
118
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
119 /* --- onMe --------------------------------------------------------- */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
120
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
121 void irccd_onMe(Irccd &irccd,
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
122 const std::shared_ptr<Server> &server,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
123 const std::string &origin,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
124 const std::string &channel,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
125 const std::string &message)
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
126 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
127 std::cout << "onMe: server=" << server->name()
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
128 << ", origin=" << origin
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
129 << ", channel=" << channel
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
130 << ", message=" << message << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
131 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
132
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
133 /* --- onMode ------------------------------------------------------- */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
134
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
135 void irccd_onMode(Irccd &irccd, const std::shared_ptr<Server> &server, const std::string &origin, const std::string &mode)
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
136 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
137 std::cout << "onMode: server=" << server->name() << ", origin=" << origin << ", mode=" << mode << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
138 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
139
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
140 /* --- onNames ------------------------------------------------------ */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
141
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
142 void irccd_onNames(Irccd &irccd,
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
143 const std::shared_ptr<Server> &server,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
144 const std::string &channel,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
145 const std::vector<std::string> &list)
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
146 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
147 std::cout << "onNames: server=" << server->name()
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
148 << ", channel=" << channel
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
149 << ", list=" << util::join(list.begin(), list.end(), ", ") << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
150 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
151
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
152 /* --- onNick ------------------------------------------------------- */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
153
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
154 void irccd_onNick(Irccd &irccd, const std::shared_ptr<Server> &server, const std::string &origin, const std::string &nick)
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
155 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
156 std::cout << "onNick: server=" << server->name() << ", origin=" << origin << ", nick=" << nick << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
157 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
158
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
159 /* --- onNotice ----------------------------------------------------- */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
160
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
161 void irccd_onNotice(Irccd &irccd, const std::shared_ptr<Server> &server, const std::string &origin, const std::string &notice)
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
162 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
163 std::cout << "onNotice: server=" << server->name() << ", origin=" << origin << ", notice=" << notice << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
164 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
165
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
166 /* --- onPart ------------------------------------------------------- */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
167
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
168 void irccd_onPart(Irccd &irccd,
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
169 const std::shared_ptr<Server> &server,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
170 const std::string &origin,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
171 const std::string &channel,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
172 const std::string &reason)
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
173 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
174 std::cout << "onPart: server=" << server->name()
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
175 << ", origin=" << origin
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
176 << ", channel=" << channel
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
177 << ", reason=" << reason << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
178 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
179
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
180 /* --- onQuery ------------------------------------------------------ */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
181
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
182 void irccd_onQuery(Irccd &, const std::shared_ptr<Server> &server, const std::string &origin, const std::string &message)
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
183 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
184 std::cout << "onQuery: server=" << server->name() << ", origin=" << origin << ", message=" << message << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
185 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
186
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
187 /* --- onQueryCommand ----------------------------------------------- */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
188
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
189 void irccd_onQueryCommand(Irccd &, const std::shared_ptr<Server> &server, const std::string &origin, const std::string &message)
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
190 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
191 std::cout << "onQueryCommand: server=" << server->name() << ", origin=" << origin << ", message=" << message << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
192 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
193
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
194 /* --- onReload ----------------------------------------------------- */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
195
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
196 void irccd_onReload(Irccd &irccd, DynlibPlugin &plugin)
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
197 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
198 std::cout << "onReload: plugin=" << plugin.name() << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
199 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
200
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
201 /* --- onTopic ------------------------------------------------------ */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
202
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
203 void irccd_onTopic(Irccd &irccd,
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
204 const std::shared_ptr<Server> &server,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
205 const std::string &origin,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
206 const std::string &channel,
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
207 const std::string &topic)
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
208 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
209 std::cout << "onTopic: server=" << server->name()
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
210 << ", origin=" << origin
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
211 << ", channel=" << channel
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
212 << ", topic=" << topic << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
213 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
214
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
215 /* --- onUnload ----------------------------------------------------- */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
216
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
217 void irccd_onUnload(Irccd &irccd, DynlibPlugin &plugin)
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
218 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
219 std::cout << "onUnload: plugin=" << plugin.name() << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
220 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
221
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
222 /* --- onWhois ------------------------------------------------------ */
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
223
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
224 void irccd_onWhois(Irccd &irccd, const std::shared_ptr<Server> &server, const ServerWhois &info)
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
225 {
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
226 std::cout << "onWhois: server=" << server->name() << ", info-for=" << info.nick << std::endl;
136
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
227 }
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
228
01df93b56dde Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff changeset
229 } // !C