# HG changeset patch
# Node ID a234611e255b9e32aa31b10ed890a60088967bce
# Parent  c2357ee3655101a195079f390d425740fcde00cf
diff --git a/libpurple/connection.c b/libpurple/connection.c
--- a/libpurple/connection.c
+++ b/libpurple/connection.c
@@ -29,7 +29,6 @@
 #include "purpleaccount.h"
 #include "purpleenums.h"
 #include "purpleprivate.h"
-#include "purpleprotocolserver.h"
 #include "request.h"
 #include "signals.h"
 #include "util.h"
diff --git a/libpurple/meson.build b/libpurple/meson.build
--- a/libpurple/meson.build
+++ b/libpurple/meson.build
@@ -64,7 +64,6 @@
 	'purpleprotocolfiletransfer.c',
 	'purpleprotocolmanager.c',
 	'purpleprotocolroster.c',
-	'purpleprotocolserver.c',
 	'purpleprotocolwhiteboard.c',
 	'purpleproxyinfo.c',
 	'purplesavedpresence.c',
@@ -159,7 +158,6 @@
 	'purpleprotocolfiletransfer.h',
 	'purpleprotocolmanager.h',
 	'purpleprotocolroster.h',
-	'purpleprotocolserver.h',
 	'purpleprotocolwhiteboard.h',
 	'purpleproxyinfo.h',
 	'purplesavedpresence.h',
diff --git a/libpurple/purpleaccount.c b/libpurple/purpleaccount.c
--- a/libpurple/purpleaccount.c
+++ b/libpurple/purpleaccount.c
@@ -37,7 +37,6 @@
 #include "purplenotificationmanager.h"
 #include "purpleprivate.h"
 #include "purpleprotocolmanager.h"
-#include "purpleprotocolserver.h"
 #include "request.h"
 #include "request/purplerequestfieldbool.h"
 #include "request/purplerequestfieldstring.h"
@@ -1567,12 +1566,11 @@
 }
 
 void
-purple_account_change_password(PurpleAccount *account, const char *orig_pw,
+purple_account_change_password(PurpleAccount *account,
+                               G_GNUC_UNUSED const char *orig_pw,
                                const char *new_pw)
 {
 	PurpleCredentialManager *manager = NULL;
-	PurpleProtocol *protocol = NULL;
-	PurpleConnection *gc = purple_account_get_connection(account);
 
 	/* just going to fire and forget this for now as not many protocols even
 	 * implement the change password stuff.
@@ -1580,15 +1578,6 @@
 	manager = purple_credential_manager_get_default();
 	purple_credential_manager_write_password_async(manager, account, new_pw,
 	                                               NULL, NULL, NULL);
-
-	if(gc != NULL) {
-		protocol = purple_connection_get_protocol(gc);
-	}
-
-	if(PURPLE_IS_PROTOCOL_SERVER(protocol)) {
-		purple_protocol_server_change_passwd(PURPLE_PROTOCOL_SERVER(protocol),
-		                                     gc, orig_pw, new_pw);
-	}
 }
 
 const PurpleConnectionErrorInfo *
diff --git a/libpurple/purpleprotocolserver.c b/libpurple/purpleprotocolserver.c
deleted file mode 100644
--- a/libpurple/purpleprotocolserver.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Purple - Internet Messaging Library
- * Copyright (C) Pidgin Developers <devel@pidgin.im>
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here. Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This library is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * This library is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this library; if not, see <https://www.gnu.org/licenses/>.
- */
-
-#include "purpleprotocolserver.h"
-
-/******************************************************************************
- * GObject Implementation
- *****************************************************************************/
-G_DEFINE_INTERFACE(PurpleProtocolServer, purple_protocol_server,
-                   PURPLE_TYPE_PROTOCOL)
-
-static void
-purple_protocol_server_default_init(G_GNUC_UNUSED PurpleProtocolServerInterface *iface)
-{
-}
-
-/******************************************************************************
- * Public API
- *****************************************************************************/
-void
-purple_protocol_server_set_info(PurpleProtocolServer *protocol_server,
-                                PurpleConnection *connection,
-                                const gchar *info)
-{
-	PurpleProtocolServerInterface *iface = NULL;
-
-	g_return_if_fail(PURPLE_IS_PROTOCOL_SERVER(protocol_server));
-	g_return_if_fail(PURPLE_IS_CONNECTION(connection));
-
-	iface = PURPLE_PROTOCOL_SERVER_GET_IFACE(protocol_server);
-	if(iface != NULL && iface->set_info != NULL) {
-		iface->set_info(protocol_server, connection, info);
-	}
-}
-
-void
-purple_protocol_server_get_info(PurpleProtocolServer *protocol_server,
-                                PurpleConnection *connection, const gchar *who)
-{
-	PurpleProtocolServerInterface *iface = NULL;
-
-	g_return_if_fail(PURPLE_IS_PROTOCOL_SERVER(protocol_server));
-	g_return_if_fail(PURPLE_IS_CONNECTION(connection));
-	g_return_if_fail(who != NULL);
-
-	iface = PURPLE_PROTOCOL_SERVER_GET_IFACE(protocol_server);
-	if(iface != NULL && iface->get_info != NULL) {
-		iface->get_info(protocol_server, connection, who);
-	}
-}
-
-void
-purple_protocol_server_set_idle(PurpleProtocolServer *protocol_server,
-                                PurpleConnection *connection, gint idletime)
-{
-	PurpleProtocolServerInterface *iface = NULL;
-
-	g_return_if_fail(PURPLE_IS_PROTOCOL_SERVER(protocol_server));
-	g_return_if_fail(PURPLE_IS_CONNECTION(connection));
-
-	iface = PURPLE_PROTOCOL_SERVER_GET_IFACE(protocol_server);
-	if(iface != NULL && iface->set_idle != NULL) {
-		iface->set_idle(protocol_server, connection, idletime);
-	}
-}
-
-void
-purple_protocol_server_change_passwd(PurpleProtocolServer *protocol_server,
-                                     PurpleConnection *connection,
-                                     const gchar *old_pass,
-                                     const gchar *new_pass)
-{
-	PurpleProtocolServerInterface *iface = NULL;
-
-	g_return_if_fail(PURPLE_IS_PROTOCOL_SERVER(protocol_server));
-	g_return_if_fail(PURPLE_IS_CONNECTION(connection));
-	g_return_if_fail(old_pass != NULL);
-	g_return_if_fail(new_pass != NULL);
-
-	iface = PURPLE_PROTOCOL_SERVER_GET_IFACE(protocol_server);
-	if(iface != NULL && iface->change_passwd != NULL) {
-		iface->change_passwd(protocol_server, connection, old_pass, new_pass);
-	}
-}
-
-gint
-purple_protocol_server_send_raw(PurpleProtocolServer *protocol_server,
-                                PurpleConnection *connection,
-                                const gchar *buf, gint len)
-{
-	PurpleProtocolServerInterface *iface = NULL;
-
-	g_return_val_if_fail(PURPLE_IS_PROTOCOL_SERVER(protocol_server), -1);
-	g_return_val_if_fail(PURPLE_IS_CONNECTION(connection), -1);
-
-	iface = PURPLE_PROTOCOL_SERVER_GET_IFACE(protocol_server);
-	if(iface != NULL && iface->send_raw != NULL) {
-		return iface->send_raw(protocol_server, connection, buf, len);
-	}
-
-	return -1;
-}
diff --git a/libpurple/purpleprotocolserver.h b/libpurple/purpleprotocolserver.h
deleted file mode 100644
--- a/libpurple/purpleprotocolserver.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Purple - Internet Messaging Library
- * Copyright (C) Pidgin Developers <devel@pidgin.im>
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here. Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This library is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * This library is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this library; if not, see <https://www.gnu.org/licenses/>.
- */
-
-#if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION)
-# error "only <purple.h> may be included directly"
-#endif
-
-#ifndef PURPLE_PROTOCOL_SERVER_H
-#define PURPLE_PROTOCOL_SERVER_H
-
-#include <glib.h>
-#include <glib-object.h>
-
-#include "connection.h"
-#include "purpleaccount.h"
-#include "purplemessage.h"
-#include "purpleprotocol.h"
-#include "purpleversion.h"
-
-#define PURPLE_TYPE_PROTOCOL_SERVER (purple_protocol_server_get_type())
-
-PURPLE_AVAILABLE_IN_3_0
-G_DECLARE_INTERFACE(PurpleProtocolServer, purple_protocol_server, PURPLE,
-                    PROTOCOL_SERVER, PurpleProtocol)
-
-G_BEGIN_DECLS
-
-/**
- * PurpleProtocolServer:
- *
- * #PurpleProtocolServer describes the API for protocols that have a central
- * server.
- *
- * Since: 3.0
- */
-
-struct _PurpleProtocolServerInterface {
-	/*< private >*/
-	GTypeInterface parent;
-
-	/*< public >*/
-	void (*set_info)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *info);
-	void (*get_info)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *who);
-
-	void (*set_idle)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, gint idletime);
-
-	void (*change_passwd)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *old_pass, const gchar *new_pass);
-
-	gint (*send_raw)(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *buf, gint len);
-
-	/*< private >*/
-	gpointer reserved[8];
-};
-
-/**
- * purple_protocol_server_set_info:
- * @protocol_server: The #PurpleProtocolServer instance.
- * @connection: The #PurpleConnection instance.
- * @info: The user info to set.
- *
- * Sets the user info, sometimes referred to as a user profile to @info.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void purple_protocol_server_set_info(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *info);
-
-/**
- * purple_protocol_server_get_info:
- * @protocol_server: The #PurpleProtocolServer instance.
- * @connection: The #PurpleConnection instance.
- * @who: The name of the user whose information you're asking for.
- *
- * Gets the user info or profile for @who and displays it in a protocol
- * specific way.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void purple_protocol_server_get_info(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *who);
-
-/**
- * purple_protocol_server_set_idle:
- * @protocol_server: The #PurpleProtocolServer instance.
- * @connection: The #PurpleConnection instance.
- * @idletime: The number of seconds that the user has been idle.
- *
- * Tells @protocol_server to set the user's idle time to @idletime.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void purple_protocol_server_set_idle(PurpleProtocolServer *protocol_server, PurpleConnection *connection, gint idletime);
-
-/**
- * purple_protocol_server_change_passwd:
- * @protocol_server: The #PurpleProtocolServer instance.
- * @connection: The #PurpleConnection instance.
- * @old_pass: The user's old password.
- * @new_pass: The new password for the user.
- *
- * Changes the user's password from @old_pass to @new_pass.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void purple_protocol_server_change_passwd(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *old_pass, const gchar *new_pass);
-
-/**
- * purple_protocol_server_send_raw:
- * @protocol_server: The #PurpleProtocolServer instance.
- * @connection: The #PurpleConnection instance.
- * @buf: The raw protocol data to send.
- * @len: The length of @buf in bytes.
- *
- * Sends raw data over the protocol. This should only be called when you know
- * the exact underlying protocol.
- *
- * Returns: The number of bytes that was sent.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gint purple_protocol_server_send_raw(PurpleProtocolServer *protocol_server, PurpleConnection *connection, const gchar *buf, gint len);
-
-G_END_DECLS
-
-#endif /* PURPLE_PROTOCOL_SERVER_H */
-
diff --git a/pidgin/plugins/xmppconsole/meson.build b/pidgin/plugins/xmppconsole/meson.build
--- a/pidgin/plugins/xmppconsole/meson.build
+++ b/pidgin/plugins/xmppconsole/meson.build
@@ -1,3 +1,5 @@
+subdir_done()
+
 xmppconsole_resource = gnome.compile_resources('xmppconsoleresources',
     'xmppconsole.gresource.xml',
     c_name : 'xmppconsole')
diff --git a/po/POTFILES.in b/po/POTFILES.in
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -47,7 +47,6 @@
 libpurple/purplepresence.c
 libpurple/purpleprotocol.c
 libpurple/purpleprotocolmanager.c
-libpurple/purpleprotocolserver.c
 libpurple/purpleprotocolwhiteboard.c
 libpurple/purplesqlitehistoryadapter.c
 libpurple/purpleui.c
