--- a/libpurple/protocols/ircv3/purpleircv3protocol.c Sat Oct 01 01:50:52 2022 -0500
+++ b/libpurple/protocols/ircv3/purpleircv3protocol.c Sat Oct 01 04:09:51 2022 -0500
@@ -20,11 +20,70 @@
#include "purpleircv3protocol.h"
+#define IRCV3_DEFAULT_SERVER ("irc.libera.chat") +#define IRCV3_DEFAULT_PORT (6697) } PurpleIRCv3ProtocolPrivate;
/******************************************************************************
+ * PurpleProtocol Implementation + *****************************************************************************/ +purple_ircv3_protocol_get_user_splits(G_GNUC_UNUSED PurpleProtocol *protocol) { + PurpleAccountUserSplit *split = NULL; + split = purple_account_user_split_new(_("Server"), IRCV3_DEFAULT_SERVER, + splits = g_list_append(splits, split); +purple_ircv3_protocol_get_account_options(G_GNUC_UNUSED PurpleProtocol *protocol) + PurpleAccountOption *option; + option = purple_account_option_int_new(_("Port"), "port", + options = g_list_append(options, option); + option = purple_account_option_bool_new(_("Use TLS"), "use-tls", TRUE); + options = g_list_append(options, option); + option = purple_account_option_string_new(_("Ident name"), "ident", ""); + options = g_list_append(options, option); + option = purple_account_option_string_new(_("Real name"), "real-name", ""); + options = g_list_append(options, option); + option = purple_account_option_string_new(_("SASL login name"), + "sasl-login-name", ""); + options = g_list_append(options, option); + option = purple_account_option_bool_new(_("Allow plaintext SASL auth over " + "unencrypted connection"), + "plain-sasl-in-clear", FALSE); + options = g_list_append(options, option); + option = purple_account_option_int_new(_("Seconds between sending " + "rate-limit-interval", 2); + options = g_list_append(options, option); + option = purple_account_option_int_new(_("Maximum messages to send at " + "rate-limit-burst", 5); + options = g_list_append(options, option); +/****************************************************************************** *****************************************************************************/
G_DEFINE_DYNAMIC_TYPE_EXTENDED(
@@ -41,6 +100,11 @@
purple_ircv3_protocol_class_init(PurpleIRCv3ProtocolClass *klass) {
+ PurpleProtocolClass *protocol_class = PURPLE_PROTOCOL_CLASS(klass); + protocol_class->get_user_splits = purple_ircv3_protocol_get_user_splits; + protocol_class->get_account_options = + purple_ircv3_protocol_get_account_options; /******************************************************************************