Wed, 04 Sep 2024 00:27:44 -0500
Add support for CTCP ACTION
Testing Done:
Received a `CTCP ACTION` in a chat and verified it was styled properly. Also received a `CTCP VERSION` to verify it was rendered like a normal message.
Bugs closed: PIDGIN-17921
Reviewed at https://reviews.imfreedom.org/r/3462/
|
41750
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
1 | IRCV3_SOURCES = [ |
|
41783
5ea6c18ef7a8
Add the ability to connect to IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41774
diff
changeset
|
2 | 'purpleircv3connection.c', |
|
41916
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
3 | 'purpleircv3core.c', |
|
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
4 | 'purpleircv3messagehandlers.c', |
|
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
5 | 'purpleircv3protocol.c', |
|
42320
21cab78fb7d2
IRCv3: Move from ProtocolIM to ProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
42229
diff
changeset
|
6 | 'purpleircv3protocolconversation.c', |
|
41916
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
7 | ] |
|
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
8 | |
|
4ee9cb957595
Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41822
diff
changeset
|
9 | IRCV3_HEADERS = [ |
|
41783
5ea6c18ef7a8
Add the ability to connect to IRCv3
Gary Kramlich <grim@reaperworld.com>
parents:
41774
diff
changeset
|
10 | 'purpleircv3connection.h', |
|
41774
170078e728c0
Implement a parser for ircv3 and add unit tests to it.
Gary Kramlich <grim@reaperworld.com>
parents:
41750
diff
changeset
|
11 | 'purpleircv3core.h', |
|
41796
ebe4ff278b02
Use the parser on ircv3 messages and handle pings
Gary Kramlich <grim@reaperworld.com>
parents:
41783
diff
changeset
|
12 | 'purpleircv3messagehandlers.h', |
|
41750
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
13 | 'purpleircv3protocol.h', |
|
42320
21cab78fb7d2
IRCv3: Move from ProtocolIM to ProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
42229
diff
changeset
|
14 | 'purpleircv3protocolconversation.h', |
|
41750
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
15 | ] |
|
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
16 | |
|
42229
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
17 | if not DYNAMIC_IRCV3 |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
18 | subdir_done() |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
19 | endif |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
20 | |
|
42920
897667cab3ce
Add support for CTCP ACTION
Gary Kramlich <grim@reaperworld.com>
parents:
42883
diff
changeset
|
21 | ibis_dep = dependency('ibis', version : '>= 0.7.1') |
|
42769
c488d7af2923
Move the IRCv3 protocol plugin to our new Ibis library
Gary Kramlich <grim@reaperworld.com>
parents:
42652
diff
changeset
|
22 | |
|
42229
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
23 | ircv3_filebase = f'purple-@purple_major_version@-ircv3' |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
24 | |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
25 | ircv3_includes = include_directories('.') |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
26 | ircv3_include_base = purple_include_base / 'protocols/ircv3' |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
27 | |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
28 | |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
29 | ircv3_resources = gnome.compile_resources('ircv3resource', |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
30 | 'resources/ircv3.gresource.xml', |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
31 | source_dir : 'resources', |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
32 | c_name : 'purple_ircv3') |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
33 | IRCV3_SOURCES += ircv3_resources |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
34 | |
|
42791
250ab0bca4e3
IRCv3: Remove all the development stuff
Gary Kramlich <grim@reaperworld.com>
parents:
42786
diff
changeset
|
35 | shared_library('ircv3', IRCV3_SOURCES + IRCV3_HEADERS, |
|
42229
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
36 | c_args : ['-DPURPLE_IRCV3_COMPILATION', '-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Purple-IRCv3"'], |
|
42472
409148c5c5b7
Add symbol visibility on IRCv3 protocol plugin
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42372
diff
changeset
|
37 | gnu_symbol_visibility : 'hidden', |
|
42769
c488d7af2923
Move the IRCv3 protocol plugin to our new Ibis library
Gary Kramlich <grim@reaperworld.com>
parents:
42652
diff
changeset
|
38 | dependencies : [birb_dep, libpurple_dep, glib, gio, hasl, ibis_dep], |
|
42229
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
39 | install : true, |
|
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
40 | install_dir : PURPLE_PLUGINDIR) |
|
41750
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
41 | |
|
42229
605f8cba9704
Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents:
42081
diff
changeset
|
42 | devenv.append('PURPLE_PLUGIN_PATH', meson.current_build_dir()) |