Mercurial > irccd
annotate doc/examples/template-plugin.cpp @ 757:97b356010785
Irccd: create (command|jsapi)::registry
Make two list of constructor functions to initialize all command and all
Javascript modules to avoid duplicating efforts in case of change.
While here, update test fixtures to load all of them for simplicity.
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 06 Aug 2018 21:27:00 +0200 |
parents | 6635b9187d71 |
children |
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 ¬ice) |
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 ¬ice) |
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 |