Mercurial > irccd
annotate doc/examples/template-plugin.cpp @ 136:01df93b56dde
Irccd: implement native plugins, #502
- Add brand new DynlibPlugin to load shared libraries as plugins,
- Add a template as documentation.
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 18 May 2016 22:31:24 +0200 |
parents | |
children | 6635b9187d71 |
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 |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 #include <irccd/plugin-dynlib.hpp> // (in irccd_onReload, irccd_onLoad and irccd_onUnload) |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 #include <irccd/server.hpp> |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 #include <irccd/util.hpp> // for util::join (in irccd_onNames) |
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 &, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 const std::shared_ptr<Server> &server, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 const std::string &origin, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 const std::string &channel, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 const std::string &message) |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 std::cout << "onCommand: server=" << server->name() |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 << ", origin=" << origin |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 << ", channel=" << channel |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 << ", message=" << message << std::endl; |
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 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 std::cout << "onConnect: server=" << server->name() << std::endl; |
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 &, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 const std::shared_ptr<Server> &server, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 const std::string &origin, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 const std::string &channel, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 const std::string &mode, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 const std::string &arg) |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 std::cout << "onChannelMode: server=" << server->name() |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 << ", origin=" << origin |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 << ", channel=" << channel |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 << ", mode=" << mode |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 << ", arg=" << arg << std::endl; |
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, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 const std::shared_ptr<Server> &server, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 const std::string &origin, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 const std::string &channel, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 const std::string ¬ice) |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 std::cout << "onChannelNotice: server=" << server->name() |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 << ", origin=" << origin |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 << ", channel=" << channel |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 << ", notice=" << notice << std::endl; |
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 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
72 std::cout << "onInvite: server=" << server->name() << ", origin=" << origin << ", channel=" << channel << std::endl; |
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 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
79 std::cout << "onJoin: server=" << server->name() << ", origin=" << origin << ", channel=" << channel << std::endl; |
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, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
85 const std::shared_ptr<Server> &server, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
86 const std::string &origin, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
87 const std::string &channel, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
88 const std::string &target, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
89 const std::string &reason) |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
90 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
91 std::cout << "onKick: server=" << server->name() |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
92 << ", origin=" << origin |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
93 << ", channel=" << channel |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
94 << ", target=" << channel |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
95 << ", reason=" << reason << std::endl; |
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 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
102 std::cout << "onLoad: plugin=" << plugin.name() << std::endl; |
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, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
108 const std::shared_ptr<Server> &server, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
109 const std::string &origin, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
110 const std::string &channel, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
111 const std::string &message) |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
112 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
113 std::cout << "onMessage: server=" << server->name() |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
114 << ", origin=" << origin |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
115 << ", channel=" << channel |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
116 << ", message=" << message << std::endl; |
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, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
122 const std::shared_ptr<Server> &server, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
123 const std::string &origin, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
124 const std::string &channel, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
125 const std::string &message) |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
126 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
127 std::cout << "onMe: server=" << server->name() |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
128 << ", origin=" << origin |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
129 << ", channel=" << channel |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
130 << ", message=" << message << std::endl; |
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 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
137 std::cout << "onMode: server=" << server->name() << ", origin=" << origin << ", mode=" << mode << std::endl; |
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, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
143 const std::shared_ptr<Server> &server, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
144 const std::string &channel, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
145 const std::vector<std::string> &list) |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
146 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
147 std::cout << "onNames: server=" << server->name() |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
148 << ", channel=" << channel |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
149 << ", list=" << util::join(list.begin(), list.end(), ", ") << std::endl; |
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 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
156 std::cout << "onNick: server=" << server->name() << ", origin=" << origin << ", nick=" << nick << std::endl; |
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 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
163 std::cout << "onNotice: server=" << server->name() << ", origin=" << origin << ", notice=" << notice << std::endl; |
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, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
169 const std::shared_ptr<Server> &server, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
170 const std::string &origin, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
171 const std::string &channel, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
172 const std::string &reason) |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
173 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
174 std::cout << "onPart: server=" << server->name() |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
175 << ", origin=" << origin |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
176 << ", channel=" << channel |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
177 << ", reason=" << reason << std::endl; |
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 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
184 std::cout << "onQuery: server=" << server->name() << ", origin=" << origin << ", message=" << message << std::endl; |
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 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
191 std::cout << "onQueryCommand: server=" << server->name() << ", origin=" << origin << ", message=" << message << std::endl; |
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 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
198 std::cout << "onReload: plugin=" << plugin.name() << std::endl; |
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, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
204 const std::shared_ptr<Server> &server, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
205 const std::string &origin, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
206 const std::string &channel, |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
207 const std::string &topic) |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
208 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
209 std::cout << "onTopic: server=" << server->name() |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
210 << ", origin=" << origin |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
211 << ", channel=" << channel |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
212 << ", topic=" << topic << std::endl; |
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 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
219 std::cout << "onUnload: plugin=" << plugin.name() << std::endl; |
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 { |
01df93b56dde
Irccd: implement native plugins, #502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
226 std::cout << "onWhois: server=" << server->name() << ", info-for=" << info.nick << std::endl; |
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 |