# HG changeset patch
# Node ID f5b058dc371bb385f142462ba3205fc0b4dfb3c0
# Parent  006b071042ed1841c83c1ed943672ff0482f8aad
diff --git a/libpurple/accounts.c b/libpurple/accounts.c
--- a/libpurple/accounts.c
+++ b/libpurple/accounts.c
@@ -23,15 +23,16 @@
 #include <glib/gi18n-lib.h>
 
 #include "accounts.h"
+
 #include "core.h"
 #include "debug.h"
 #include "network.h"
 #include "prefs.h"
 #include "purpleaccountmanager.h"
+#include "purpleaccountprivate.h"
 #include "purpleconversationmanager.h"
 #include "purplecredentialmanager.h"
 #include "purpleenums.h"
-#include "purpleprivate.h"
 #include "signals.h"
 #include "util.h"
 
diff --git a/libpurple/connection.c b/libpurple/connection.c
--- a/libpurple/connection.c
+++ b/libpurple/connection.c
@@ -23,12 +23,13 @@
 #include <glib/gi18n-lib.h>
 
 #include "connection.h"
+#include "purpleconnectionprivate.h"
+
 #include "debug.h"
 #include "prefs.h"
 #include "proxy.h"
 #include "purpleaccount.h"
 #include "purpleenums.h"
-#include "purpleprivate.h"
 #include "request.h"
 #include "signals.h"
 #include "util.h"
diff --git a/libpurple/core.c b/libpurple/core.c
--- a/libpurple/core.c
+++ b/libpurple/core.c
@@ -26,6 +26,7 @@
 #define G_SETTINGS_ENABLE_BACKEND
 #include <gio/gsettingsbackend.h>
 
+#include "accounts.h"
 #include "connection.h"
 #include "core.h"
 #include "debug.h"
@@ -34,14 +35,20 @@
 #include "prefs.h"
 #include "proxy.h"
 #include "purpleaccountmanager.h"
+#include "purpleaccountmanagerprivate.h"
+#include "purplecontactmanagerprivate.h"
+#include "purpleconversationmanagerprivate.h"
 #include "purpleconversation.h"
 #include "purplecredentialmanager.h"
+#include "purplecredentialmanagerprivate.h"
 #include "purplehistorymanager.h"
 #include "purpleidlemanagerprivate.h"
 #include "purplemessage.h"
+#include "purplenotificationmanagerprivate.h"
 #include "purplepath.h"
 #include "purplepresencemanagerprivate.h"
-#include "purpleprivate.h"
+#include "purpleprotocolmanagerprivate.h"
+#include "purplewhiteboardmanagerprivate.h"
 #include "signals.h"
 #include "util.h"
 #ifdef _WIN32
diff --git a/libpurple/meson.build b/libpurple/meson.build
--- a/libpurple/meson.build
+++ b/libpurple/meson.build
@@ -178,10 +178,20 @@
 ]
 
 purple_private_headers = [
+	'purpleaccountprivate.h',
+	'purpleaccountmanagerprivate.h',
+	'purpleconnectionprivate.h',
+	'purplecontactmanagerprivate.h',
+	'purpleconversationmanagerprivate.h',
+	'purplecredentialmanagerprivate.h',
+	'purplecredentialproviderprivate.h',
 	'purplefiletransfermanagerprivate.h',
+	'purplehistoryadapterprivate.h',
 	'purpleidlemanagerprivate.h',
+	'purplenotificationmanagerprivate.h',
 	'purplepresencemanagerprivate.h',
-	'purpleprivate.h',
+	'purpleprotocolmanagerprivate.h',
+	'purplewhiteboardmanagerprivate.h',
 ]
 
 purple_request_headers = [
diff --git a/libpurple/network.c b/libpurple/network.c
--- a/libpurple/network.c
+++ b/libpurple/network.c
@@ -20,8 +20,6 @@
  * this library; if not, see <https://www.gnu.org/licenses/>.
  */
 
-#include "purpleprivate.h"
-
 #include <gio/gio.h>
 
 #include <fcntl.h>
diff --git a/libpurple/purpleaccount.c b/libpurple/purpleaccount.c
--- a/libpurple/purpleaccount.c
+++ b/libpurple/purpleaccount.c
@@ -23,6 +23,7 @@
 #include <glib/gi18n-lib.h>
 
 #include "purpleaccount.h"
+#include "purpleaccountprivate.h"
 
 #include "accounts.h"
 #include "core.h"
@@ -30,12 +31,12 @@
 #include "network.h"
 #include "prefs.h"
 #include "purpleaddcontactrequest.h"
+#include "purpleconnectionprivate.h"
 #include "purpleconversationmanager.h"
 #include "purplecredentialmanager.h"
 #include "purplenotification.h"
 #include "purplenotificationconnectionerror.h"
 #include "purplenotificationmanager.h"
-#include "purpleprivate.h"
 #include "purpleprotocolmanager.h"
 #include "request.h"
 #include "request/purplerequestfieldbool.h"
diff --git a/libpurple/purpleaccountmanager.c b/libpurple/purpleaccountmanager.c
--- a/libpurple/purpleaccountmanager.c
+++ b/libpurple/purpleaccountmanager.c
@@ -21,7 +21,7 @@
  */
 
 #include "purpleaccountmanager.h"
-#include "purpleprivate.h"
+#include "purpleaccountmanagerprivate.h"
 
 #include "accounts.h"
 #include "core.h"
diff --git a/libpurple/purpleprivate.h b/libpurple/purpleaccountmanagerprivate.h
rename from libpurple/purpleprivate.h
rename to libpurple/purpleaccountmanagerprivate.h
--- a/libpurple/purpleprivate.h
+++ b/libpurple/purpleaccountmanagerprivate.h
@@ -24,47 +24,15 @@
 # error "only <purple.h> may be included directly"
 #endif
 
-#ifndef PURPLE_PRIVATE_H
-#define PURPLE_PRIVATE_H
+#ifndef PURPLE_ACCOUNT_MANAGER_PRIVATE_H
+#define PURPLE_ACCOUNT_MANAGER_PRIVATE_H
 
 #include <glib.h>
-#include <glib/gstdio.h>
-
-#include "core.h"
-#include "accounts.h"
-#include "connection.h"
-#include "purplecredentialprovider.h"
-#include "purplehistoryadapter.h"
-#include "purpleversion.h"
-#include "xmlnode.h"
 
 G_BEGIN_DECLS
 
 /**
- * _purple_account_to_xmlnode:
- * @account:  The account
- *
- * Get an XML description of an account.
- *
- * Returns:  The XML description of the account.
- */
-G_GNUC_INTERNAL
-PurpleXmlNode *_purple_account_to_xmlnode(PurpleAccount *account);
-
-/**
- * _purple_connection_wants_to_die:
- * @gc:  The connection to check
- *
- * Checks if a connection is disconnecting, and should not attempt to reconnect.
- *
- * Note: This function should only be called by purple_account_set_enabled()
- *       in account.c.
- */
-G_GNUC_INTERNAL
-gboolean _purple_connection_wants_to_die(PurpleConnection *gc);
-
-/**
- * purple_account_manager_startup:
+ * purple_account_manager_startup: (skip)
  *
  * Starts up the account manager by creating the default instance.
  *
@@ -74,7 +42,7 @@
 void purple_account_manager_startup(void);
 
 /**
- * purple_account_manager_shutdown:
+ * purple_account_manager_shutdown: (skip)
  *
  * Shuts down the account manager by destroying the default instance.
  *
@@ -83,203 +51,6 @@
 G_GNUC_INTERNAL
 void purple_account_manager_shutdown(void);
 
-/**
- * purple_contact_manager_startup:
- *
- * Starts up the contact manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_startup(void);
-
-/**
- * purple_contact_manager_shutdown:
- *
- * Shuts down the contact manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_shutdown(void);
-
-/**
- * purple_conversation_manager_startup:
- *
- * Starts up the conversation manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_startup(void);
-
-/**
- * purple_conversation_manager_shutdown:
- *
- * Shuts down the conversation manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_shutdown(void);
-
-/**
- * purple_credential_manager_startup:
- * @core: The core instance.
- *
- * Starts up the credential manager by creating the default instance for @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_startup(PurpleCore *core);
-
-/**
- * purple_credential_manager_shutdown:
- * @core: The core instance.
- *
- * Shuts down the credential manager by destroying the default instance for
- * @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_shutdown(PurpleCore *core);
-
-/**
- * purple_protocol_manager_startup:
- *
- * Starts up the protocol manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_startup(void);
-
-/**
- * purple_protocol_manager_shutdown:
- *
- * Shuts down the protocol manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_shutdown(void);
-
-/**
- * purple_credential_provider_activate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells a @provider that it has become the active provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_activate(PurpleCredentialProvider *provider);
-
-/**
- * purple_credential_provider_deactivate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells @provider that another #PurpleCredentialProvider has become the active
- * provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_deactivate(PurpleCredentialProvider *provider);
-
-/**
- * purple_history_adapter_activate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to become the active adapter. If @adapter can not become active
- * it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_activate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_history_adapter_deactivate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to stop being the active adapter. If @adapter can not
- * deactivate it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_deactivate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_notification_manager_startup:
- *
- * Starts up the notification manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_startup(void);
-
-/**
- * purple_notification_manager_shutdown:
- *
- * Shuts down the notification manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_shutdown(void);
-
-/**
- * purple_whiteboard_manager_startup:
- *
- * Starts up the whiteboard manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_startup(void);
-
-/**
- * purple_whiteboard_manager_shutdown:
- *
- * Shuts down the whiteboard manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_shutdown(void);
-
-/**
- * purple_account_set_enabled_plain:
- * @account: The instance.
- * @enabled: Whether or not the account is enabled.
- *
- * This is a temporary method until we overhaul serialization of accounts.
- *
- * This method sets the enabled state of an account without any side effects.
- * Its primary usage is when loading accounts from disk, as without this, the
- * account attempts to connect immediately.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_set_enabled_plain(PurpleAccount *account, gboolean enabled);
-
 G_END_DECLS
 
-#endif /* PURPLE_PRIVATE_H */
-
+#endif /* PURPLE_ACCOUNT_MANAGER_PRIVATE_H */
diff --git a/libpurple/purpleprivate.h b/libpurple/purpleaccountprivate.h
copy from libpurple/purpleprivate.h
copy to libpurple/purpleaccountprivate.h
--- a/libpurple/purpleprivate.h
+++ b/libpurple/purpleaccountprivate.h
@@ -24,24 +24,18 @@
 # error "only <purple.h> may be included directly"
 #endif
 
-#ifndef PURPLE_PRIVATE_H
-#define PURPLE_PRIVATE_H
+#ifndef PURPLE_ACCOUNT_PRIVATE_H
+#define PURPLE_ACCOUNT_PRIVATE_H
 
 #include <glib.h>
-#include <glib/gstdio.h>
 
-#include "core.h"
-#include "accounts.h"
-#include "connection.h"
-#include "purplecredentialprovider.h"
-#include "purplehistoryadapter.h"
-#include "purpleversion.h"
+#include "purpleaccount.h"
 #include "xmlnode.h"
 
 G_BEGIN_DECLS
 
 /**
- * _purple_account_to_xmlnode:
+ * _purple_account_to_xmlnode: (skip)
  * @account:  The account
  *
  * Get an XML description of an account.
@@ -52,219 +46,7 @@
 PurpleXmlNode *_purple_account_to_xmlnode(PurpleAccount *account);
 
 /**
- * _purple_connection_wants_to_die:
- * @gc:  The connection to check
- *
- * Checks if a connection is disconnecting, and should not attempt to reconnect.
- *
- * Note: This function should only be called by purple_account_set_enabled()
- *       in account.c.
- */
-G_GNUC_INTERNAL
-gboolean _purple_connection_wants_to_die(PurpleConnection *gc);
-
-/**
- * purple_account_manager_startup:
- *
- * Starts up the account manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_startup(void);
-
-/**
- * purple_account_manager_shutdown:
- *
- * Shuts down the account manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_shutdown(void);
-
-/**
- * purple_contact_manager_startup:
- *
- * Starts up the contact manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_startup(void);
-
-/**
- * purple_contact_manager_shutdown:
- *
- * Shuts down the contact manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_shutdown(void);
-
-/**
- * purple_conversation_manager_startup:
- *
- * Starts up the conversation manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_startup(void);
-
-/**
- * purple_conversation_manager_shutdown:
- *
- * Shuts down the conversation manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_shutdown(void);
-
-/**
- * purple_credential_manager_startup:
- * @core: The core instance.
- *
- * Starts up the credential manager by creating the default instance for @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_startup(PurpleCore *core);
-
-/**
- * purple_credential_manager_shutdown:
- * @core: The core instance.
- *
- * Shuts down the credential manager by destroying the default instance for
- * @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_shutdown(PurpleCore *core);
-
-/**
- * purple_protocol_manager_startup:
- *
- * Starts up the protocol manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_startup(void);
-
-/**
- * purple_protocol_manager_shutdown:
- *
- * Shuts down the protocol manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_shutdown(void);
-
-/**
- * purple_credential_provider_activate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells a @provider that it has become the active provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_activate(PurpleCredentialProvider *provider);
-
-/**
- * purple_credential_provider_deactivate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells @provider that another #PurpleCredentialProvider has become the active
- * provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_deactivate(PurpleCredentialProvider *provider);
-
-/**
- * purple_history_adapter_activate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to become the active adapter. If @adapter can not become active
- * it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_activate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_history_adapter_deactivate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to stop being the active adapter. If @adapter can not
- * deactivate it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_deactivate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_notification_manager_startup:
- *
- * Starts up the notification manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_startup(void);
-
-/**
- * purple_notification_manager_shutdown:
- *
- * Shuts down the notification manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_shutdown(void);
-
-/**
- * purple_whiteboard_manager_startup:
- *
- * Starts up the whiteboard manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_startup(void);
-
-/**
- * purple_whiteboard_manager_shutdown:
- *
- * Shuts down the whiteboard manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_shutdown(void);
-
-/**
- * purple_account_set_enabled_plain:
+ * purple_account_set_enabled_plain: (skip)
  * @account: The instance.
  * @enabled: Whether or not the account is enabled.
  *
@@ -281,5 +63,4 @@
 
 G_END_DECLS
 
-#endif /* PURPLE_PRIVATE_H */
-
+#endif /* PURPLE_ACCOUNT_PRIVATE_H */
diff --git a/libpurple/purpleprivate.h b/libpurple/purpleconnectionprivate.h
copy from libpurple/purpleprivate.h
copy to libpurple/purpleconnectionprivate.h
--- a/libpurple/purpleprivate.h
+++ b/libpurple/purpleconnectionprivate.h
@@ -24,36 +24,18 @@
 # error "only <purple.h> may be included directly"
 #endif
 
-#ifndef PURPLE_PRIVATE_H
-#define PURPLE_PRIVATE_H
+#ifndef PURPLE_CONVERSATION_MANAGER_PRIVATE_H
+#define PURPLE_CONVERSATION_MANAGER_PRIVATE_H
 
 #include <glib.h>
-#include <glib/gstdio.h>
 
-#include "core.h"
-#include "accounts.h"
 #include "connection.h"
-#include "purplecredentialprovider.h"
-#include "purplehistoryadapter.h"
-#include "purpleversion.h"
-#include "xmlnode.h"
 
 G_BEGIN_DECLS
 
 /**
- * _purple_account_to_xmlnode:
- * @account:  The account
- *
- * Get an XML description of an account.
- *
- * Returns:  The XML description of the account.
- */
-G_GNUC_INTERNAL
-PurpleXmlNode *_purple_account_to_xmlnode(PurpleAccount *account);
-
-/**
- * _purple_connection_wants_to_die:
- * @gc:  The connection to check
+ * _purple_connection_wants_to_die: (skip)
+ * @connection: The connection to check
  *
  * Checks if a connection is disconnecting, and should not attempt to reconnect.
  *
@@ -61,225 +43,8 @@
  *       in account.c.
  */
 G_GNUC_INTERNAL
-gboolean _purple_connection_wants_to_die(PurpleConnection *gc);
-
-/**
- * purple_account_manager_startup:
- *
- * Starts up the account manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_startup(void);
-
-/**
- * purple_account_manager_shutdown:
- *
- * Shuts down the account manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_shutdown(void);
-
-/**
- * purple_contact_manager_startup:
- *
- * Starts up the contact manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_startup(void);
-
-/**
- * purple_contact_manager_shutdown:
- *
- * Shuts down the contact manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_shutdown(void);
-
-/**
- * purple_conversation_manager_startup:
- *
- * Starts up the conversation manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_startup(void);
-
-/**
- * purple_conversation_manager_shutdown:
- *
- * Shuts down the conversation manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_shutdown(void);
-
-/**
- * purple_credential_manager_startup:
- * @core: The core instance.
- *
- * Starts up the credential manager by creating the default instance for @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_startup(PurpleCore *core);
-
-/**
- * purple_credential_manager_shutdown:
- * @core: The core instance.
- *
- * Shuts down the credential manager by destroying the default instance for
- * @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_shutdown(PurpleCore *core);
-
-/**
- * purple_protocol_manager_startup:
- *
- * Starts up the protocol manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_startup(void);
-
-/**
- * purple_protocol_manager_shutdown:
- *
- * Shuts down the protocol manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_shutdown(void);
-
-/**
- * purple_credential_provider_activate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells a @provider that it has become the active provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_activate(PurpleCredentialProvider *provider);
-
-/**
- * purple_credential_provider_deactivate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells @provider that another #PurpleCredentialProvider has become the active
- * provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_deactivate(PurpleCredentialProvider *provider);
-
-/**
- * purple_history_adapter_activate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to become the active adapter. If @adapter can not become active
- * it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_activate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_history_adapter_deactivate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to stop being the active adapter. If @adapter can not
- * deactivate it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_deactivate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_notification_manager_startup:
- *
- * Starts up the notification manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_startup(void);
-
-/**
- * purple_notification_manager_shutdown:
- *
- * Shuts down the notification manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_shutdown(void);
-
-/**
- * purple_whiteboard_manager_startup:
- *
- * Starts up the whiteboard manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_startup(void);
-
-/**
- * purple_whiteboard_manager_shutdown:
- *
- * Shuts down the whiteboard manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_shutdown(void);
-
-/**
- * purple_account_set_enabled_plain:
- * @account: The instance.
- * @enabled: Whether or not the account is enabled.
- *
- * This is a temporary method until we overhaul serialization of accounts.
- *
- * This method sets the enabled state of an account without any side effects.
- * Its primary usage is when loading accounts from disk, as without this, the
- * account attempts to connect immediately.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_set_enabled_plain(PurpleAccount *account, gboolean enabled);
+gboolean _purple_connection_wants_to_die(PurpleConnection *connection);
 
 G_END_DECLS
 
-#endif /* PURPLE_PRIVATE_H */
-
+#endif /* PURPLE_CONVERSATION_MANAGER_PRIVATE_H */
diff --git a/libpurple/purplecontactmanager.c b/libpurple/purplecontactmanager.c
--- a/libpurple/purplecontactmanager.c
+++ b/libpurple/purplecontactmanager.c
@@ -25,9 +25,9 @@
 #include <birb.h>
 
 #include "purplecontactmanager.h"
+#include "purplecontactmanagerprivate.h"
 
 #include "purplegdkpixbuf.h"
-#include "purpleprivate.h"
 #include "purpleprotocolroster.h"
 #include "util.h"
 
diff --git a/libpurple/purpleprivate.h b/libpurple/purplecontactmanagerprivate.h
copy from libpurple/purpleprivate.h
copy to libpurple/purplecontactmanagerprivate.h
--- a/libpurple/purpleprivate.h
+++ b/libpurple/purplecontactmanagerprivate.h
@@ -24,67 +24,15 @@
 # error "only <purple.h> may be included directly"
 #endif
 
-#ifndef PURPLE_PRIVATE_H
-#define PURPLE_PRIVATE_H
+#ifndef PURPLE_CONTACT_MANAGER_PRIVATE_H
+#define PURPLE_CONTACT_MANAGER_PRIVATE_H
 
 #include <glib.h>
-#include <glib/gstdio.h>
-
-#include "core.h"
-#include "accounts.h"
-#include "connection.h"
-#include "purplecredentialprovider.h"
-#include "purplehistoryadapter.h"
-#include "purpleversion.h"
-#include "xmlnode.h"
 
 G_BEGIN_DECLS
 
 /**
- * _purple_account_to_xmlnode:
- * @account:  The account
- *
- * Get an XML description of an account.
- *
- * Returns:  The XML description of the account.
- */
-G_GNUC_INTERNAL
-PurpleXmlNode *_purple_account_to_xmlnode(PurpleAccount *account);
-
-/**
- * _purple_connection_wants_to_die:
- * @gc:  The connection to check
- *
- * Checks if a connection is disconnecting, and should not attempt to reconnect.
- *
- * Note: This function should only be called by purple_account_set_enabled()
- *       in account.c.
- */
-G_GNUC_INTERNAL
-gboolean _purple_connection_wants_to_die(PurpleConnection *gc);
-
-/**
- * purple_account_manager_startup:
- *
- * Starts up the account manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_startup(void);
-
-/**
- * purple_account_manager_shutdown:
- *
- * Shuts down the account manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_shutdown(void);
-
-/**
- * purple_contact_manager_startup:
+ * purple_contact_manager_startup: (skip)
  *
  * Starts up the contact manager by creating the default instance.
  *
@@ -94,7 +42,7 @@
 void purple_contact_manager_startup(void);
 
 /**
- * purple_contact_manager_shutdown:
+ * purple_contact_manager_shutdown: (skip)
  *
  * Shuts down the contact manager by destroying the default instance.
  *
@@ -103,183 +51,6 @@
 G_GNUC_INTERNAL
 void purple_contact_manager_shutdown(void);
 
-/**
- * purple_conversation_manager_startup:
- *
- * Starts up the conversation manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_startup(void);
-
-/**
- * purple_conversation_manager_shutdown:
- *
- * Shuts down the conversation manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_shutdown(void);
-
-/**
- * purple_credential_manager_startup:
- * @core: The core instance.
- *
- * Starts up the credential manager by creating the default instance for @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_startup(PurpleCore *core);
-
-/**
- * purple_credential_manager_shutdown:
- * @core: The core instance.
- *
- * Shuts down the credential manager by destroying the default instance for
- * @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_shutdown(PurpleCore *core);
-
-/**
- * purple_protocol_manager_startup:
- *
- * Starts up the protocol manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_startup(void);
-
-/**
- * purple_protocol_manager_shutdown:
- *
- * Shuts down the protocol manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_shutdown(void);
-
-/**
- * purple_credential_provider_activate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells a @provider that it has become the active provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_activate(PurpleCredentialProvider *provider);
-
-/**
- * purple_credential_provider_deactivate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells @provider that another #PurpleCredentialProvider has become the active
- * provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_deactivate(PurpleCredentialProvider *provider);
-
-/**
- * purple_history_adapter_activate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to become the active adapter. If @adapter can not become active
- * it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_activate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_history_adapter_deactivate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to stop being the active adapter. If @adapter can not
- * deactivate it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_deactivate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_notification_manager_startup:
- *
- * Starts up the notification manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_startup(void);
-
-/**
- * purple_notification_manager_shutdown:
- *
- * Shuts down the notification manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_shutdown(void);
-
-/**
- * purple_whiteboard_manager_startup:
- *
- * Starts up the whiteboard manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_startup(void);
-
-/**
- * purple_whiteboard_manager_shutdown:
- *
- * Shuts down the whiteboard manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_shutdown(void);
-
-/**
- * purple_account_set_enabled_plain:
- * @account: The instance.
- * @enabled: Whether or not the account is enabled.
- *
- * This is a temporary method until we overhaul serialization of accounts.
- *
- * This method sets the enabled state of an account without any side effects.
- * Its primary usage is when loading accounts from disk, as without this, the
- * account attempts to connect immediately.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_set_enabled_plain(PurpleAccount *account, gboolean enabled);
-
 G_END_DECLS
 
-#endif /* PURPLE_PRIVATE_H */
-
+#endif /* PURPLE_CONTACT_MANAGER_PRIVATE_H */
diff --git a/libpurple/purpleconversation.c b/libpurple/purpleconversation.c
--- a/libpurple/purpleconversation.c
+++ b/libpurple/purpleconversation.c
@@ -30,9 +30,9 @@
 #include "purpleenums.h"
 #include "purplehistorymanager.h"
 #include "purplemarkup.h"
-#include "purpleprivate.h"
 #include "purpleprotocolconversation.h"
 #include "purpletags.h"
+#include "request.h"
 #include "signals.h"
 #include "util.h"
 
diff --git a/libpurple/purpleconversationmanager.c b/libpurple/purpleconversationmanager.c
--- a/libpurple/purpleconversationmanager.c
+++ b/libpurple/purpleconversationmanager.c
@@ -21,10 +21,10 @@
  */
 
 #include "purpleconversationmanager.h"
+#include "purpleconversationmanagerprivate.h"
 
 #include "core.h"
 #include "purplecontact.h"
-#include "purpleprivate.h"
 #include "purpleui.h"
 #include "util.h"
 
diff --git a/libpurple/purpleprivate.h b/libpurple/purpleconversationmanagerprivate.h
copy from libpurple/purpleprivate.h
copy to libpurple/purpleconversationmanagerprivate.h
--- a/libpurple/purpleprivate.h
+++ b/libpurple/purpleconversationmanagerprivate.h
@@ -24,87 +24,15 @@
 # error "only <purple.h> may be included directly"
 #endif
 
-#ifndef PURPLE_PRIVATE_H
-#define PURPLE_PRIVATE_H
+#ifndef PURPLE_CONVERSATION_MANAGER_PRIVATE_H
+#define PURPLE_CONVERSATION_MANAGER_PRIVATE_H
 
 #include <glib.h>
-#include <glib/gstdio.h>
-
-#include "core.h"
-#include "accounts.h"
-#include "connection.h"
-#include "purplecredentialprovider.h"
-#include "purplehistoryadapter.h"
-#include "purpleversion.h"
-#include "xmlnode.h"
 
 G_BEGIN_DECLS
 
 /**
- * _purple_account_to_xmlnode:
- * @account:  The account
- *
- * Get an XML description of an account.
- *
- * Returns:  The XML description of the account.
- */
-G_GNUC_INTERNAL
-PurpleXmlNode *_purple_account_to_xmlnode(PurpleAccount *account);
-
-/**
- * _purple_connection_wants_to_die:
- * @gc:  The connection to check
- *
- * Checks if a connection is disconnecting, and should not attempt to reconnect.
- *
- * Note: This function should only be called by purple_account_set_enabled()
- *       in account.c.
- */
-G_GNUC_INTERNAL
-gboolean _purple_connection_wants_to_die(PurpleConnection *gc);
-
-/**
- * purple_account_manager_startup:
- *
- * Starts up the account manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_startup(void);
-
-/**
- * purple_account_manager_shutdown:
- *
- * Shuts down the account manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_shutdown(void);
-
-/**
- * purple_contact_manager_startup:
- *
- * Starts up the contact manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_startup(void);
-
-/**
- * purple_contact_manager_shutdown:
- *
- * Shuts down the contact manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_shutdown(void);
-
-/**
- * purple_conversation_manager_startup:
+ * purple_conversation_manager_startup: (skip)
  *
  * Starts up the conversation manager by creating the default instance.
  *
@@ -114,7 +42,7 @@
 void purple_conversation_manager_startup(void);
 
 /**
- * purple_conversation_manager_shutdown:
+ * purple_conversation_manager_shutdown: (skip)
  *
  * Shuts down the conversation manager by destroying the default instance.
  *
@@ -123,163 +51,6 @@
 G_GNUC_INTERNAL
 void purple_conversation_manager_shutdown(void);
 
-/**
- * purple_credential_manager_startup:
- * @core: The core instance.
- *
- * Starts up the credential manager by creating the default instance for @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_startup(PurpleCore *core);
-
-/**
- * purple_credential_manager_shutdown:
- * @core: The core instance.
- *
- * Shuts down the credential manager by destroying the default instance for
- * @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_shutdown(PurpleCore *core);
-
-/**
- * purple_protocol_manager_startup:
- *
- * Starts up the protocol manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_startup(void);
-
-/**
- * purple_protocol_manager_shutdown:
- *
- * Shuts down the protocol manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_shutdown(void);
-
-/**
- * purple_credential_provider_activate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells a @provider that it has become the active provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_activate(PurpleCredentialProvider *provider);
-
-/**
- * purple_credential_provider_deactivate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells @provider that another #PurpleCredentialProvider has become the active
- * provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_deactivate(PurpleCredentialProvider *provider);
-
-/**
- * purple_history_adapter_activate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to become the active adapter. If @adapter can not become active
- * it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_activate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_history_adapter_deactivate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to stop being the active adapter. If @adapter can not
- * deactivate it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_deactivate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_notification_manager_startup:
- *
- * Starts up the notification manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_startup(void);
-
-/**
- * purple_notification_manager_shutdown:
- *
- * Shuts down the notification manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_shutdown(void);
-
-/**
- * purple_whiteboard_manager_startup:
- *
- * Starts up the whiteboard manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_startup(void);
-
-/**
- * purple_whiteboard_manager_shutdown:
- *
- * Shuts down the whiteboard manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_shutdown(void);
-
-/**
- * purple_account_set_enabled_plain:
- * @account: The instance.
- * @enabled: Whether or not the account is enabled.
- *
- * This is a temporary method until we overhaul serialization of accounts.
- *
- * This method sets the enabled state of an account without any side effects.
- * Its primary usage is when loading accounts from disk, as without this, the
- * account attempts to connect immediately.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_set_enabled_plain(PurpleAccount *account, gboolean enabled);
-
 G_END_DECLS
 
-#endif /* PURPLE_PRIVATE_H */
-
+#endif /* PURPLE_CONVERSATION_MANAGER_PRIVATE_H */
diff --git a/libpurple/purplecredentialmanager.c b/libpurple/purplecredentialmanager.c
--- a/libpurple/purplecredentialmanager.c
+++ b/libpurple/purplecredentialmanager.c
@@ -23,14 +23,15 @@
 #include <glib/gi18n-lib.h>
 
 #include "purplecredentialmanager.h"
+#include "purplecredentialmanagerprivate.h"
 
 #include "core.h"
 #include "debug.h"
 #include "prefs.h"
+#include "purplecredentialproviderprivate.h"
 #include "purplenoopcredentialprovider.h"
 #include "purplenotification.h"
 #include "purplenotificationmanager.h"
-#include "purpleprivate.h"
 #include "signals.h"
 #include "util.h"
 
diff --git a/libpurple/purpleprivate.h b/libpurple/purplecredentialmanagerprivate.h
copy from libpurple/purpleprivate.h
copy to libpurple/purplecredentialmanagerprivate.h
--- a/libpurple/purpleprivate.h
+++ b/libpurple/purplecredentialmanagerprivate.h
@@ -24,107 +24,17 @@
 # error "only <purple.h> may be included directly"
 #endif
 
-#ifndef PURPLE_PRIVATE_H
-#define PURPLE_PRIVATE_H
+#ifndef PURPLE_CREDENTIAL_MANAGER_PRIVATE_H
+#define PURPLE_CREDENTIAL_MANAGER_PRIVATE_H
 
 #include <glib.h>
-#include <glib/gstdio.h>
 
 #include "core.h"
-#include "accounts.h"
-#include "connection.h"
-#include "purplecredentialprovider.h"
-#include "purplehistoryadapter.h"
-#include "purpleversion.h"
-#include "xmlnode.h"
 
 G_BEGIN_DECLS
 
 /**
- * _purple_account_to_xmlnode:
- * @account:  The account
- *
- * Get an XML description of an account.
- *
- * Returns:  The XML description of the account.
- */
-G_GNUC_INTERNAL
-PurpleXmlNode *_purple_account_to_xmlnode(PurpleAccount *account);
-
-/**
- * _purple_connection_wants_to_die:
- * @gc:  The connection to check
- *
- * Checks if a connection is disconnecting, and should not attempt to reconnect.
- *
- * Note: This function should only be called by purple_account_set_enabled()
- *       in account.c.
- */
-G_GNUC_INTERNAL
-gboolean _purple_connection_wants_to_die(PurpleConnection *gc);
-
-/**
- * purple_account_manager_startup:
- *
- * Starts up the account manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_startup(void);
-
-/**
- * purple_account_manager_shutdown:
- *
- * Shuts down the account manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_shutdown(void);
-
-/**
- * purple_contact_manager_startup:
- *
- * Starts up the contact manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_startup(void);
-
-/**
- * purple_contact_manager_shutdown:
- *
- * Shuts down the contact manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_shutdown(void);
-
-/**
- * purple_conversation_manager_startup:
- *
- * Starts up the conversation manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_startup(void);
-
-/**
- * purple_conversation_manager_shutdown:
- *
- * Shuts down the conversation manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_shutdown(void);
-
-/**
- * purple_credential_manager_startup:
+ * purple_credential_manager_startup: (skip)
  * @core: The core instance.
  *
  * Starts up the credential manager by creating the default instance for @core.
@@ -135,7 +45,7 @@
 void purple_credential_manager_startup(PurpleCore *core);
 
 /**
- * purple_credential_manager_shutdown:
+ * purple_credential_manager_shutdown: (skip)
  * @core: The core instance.
  *
  * Shuts down the credential manager by destroying the default instance for
@@ -146,140 +56,6 @@
 G_GNUC_INTERNAL
 void purple_credential_manager_shutdown(PurpleCore *core);
 
-/**
- * purple_protocol_manager_startup:
- *
- * Starts up the protocol manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_startup(void);
-
-/**
- * purple_protocol_manager_shutdown:
- *
- * Shuts down the protocol manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_shutdown(void);
-
-/**
- * purple_credential_provider_activate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells a @provider that it has become the active provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_activate(PurpleCredentialProvider *provider);
-
-/**
- * purple_credential_provider_deactivate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells @provider that another #PurpleCredentialProvider has become the active
- * provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_deactivate(PurpleCredentialProvider *provider);
-
-/**
- * purple_history_adapter_activate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to become the active adapter. If @adapter can not become active
- * it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_activate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_history_adapter_deactivate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to stop being the active adapter. If @adapter can not
- * deactivate it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_deactivate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_notification_manager_startup:
- *
- * Starts up the notification manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_startup(void);
-
-/**
- * purple_notification_manager_shutdown:
- *
- * Shuts down the notification manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_shutdown(void);
-
-/**
- * purple_whiteboard_manager_startup:
- *
- * Starts up the whiteboard manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_startup(void);
-
-/**
- * purple_whiteboard_manager_shutdown:
- *
- * Shuts down the whiteboard manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_shutdown(void);
-
-/**
- * purple_account_set_enabled_plain:
- * @account: The instance.
- * @enabled: Whether or not the account is enabled.
- *
- * This is a temporary method until we overhaul serialization of accounts.
- *
- * This method sets the enabled state of an account without any side effects.
- * Its primary usage is when loading accounts from disk, as without this, the
- * account attempts to connect immediately.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_set_enabled_plain(PurpleAccount *account, gboolean enabled);
-
 G_END_DECLS
 
-#endif /* PURPLE_PRIVATE_H */
-
+#endif /* PURPLE_CREDENTIAL_MANAGER_PRIVATE_H */
diff --git a/libpurple/purplecredentialprovider.c b/libpurple/purplecredentialprovider.c
--- a/libpurple/purplecredentialprovider.c
+++ b/libpurple/purplecredentialprovider.c
@@ -21,8 +21,7 @@
  */
 
 #include "purplecredentialprovider.h"
-
-#include "purpleprivate.h"
+#include "purplecredentialproviderprivate.h"
 
 typedef struct {
 	gchar *id;
diff --git a/libpurple/purpleprivate.h b/libpurple/purplecredentialproviderprivate.h
copy from libpurple/purpleprivate.h
copy to libpurple/purplecredentialproviderprivate.h
--- a/libpurple/purpleprivate.h
+++ b/libpurple/purplecredentialproviderprivate.h
@@ -24,150 +24,17 @@
 # error "only <purple.h> may be included directly"
 #endif
 
-#ifndef PURPLE_PRIVATE_H
-#define PURPLE_PRIVATE_H
+#ifndef PURPLE_CONVERSATION_PROVIDER_PRIVATE_H
+#define PURPLE_CONVERSATION_PROVIDER_PRIVATE_H
 
 #include <glib.h>
-#include <glib/gstdio.h>
 
-#include "core.h"
-#include "accounts.h"
-#include "connection.h"
 #include "purplecredentialprovider.h"
-#include "purplehistoryadapter.h"
-#include "purpleversion.h"
-#include "xmlnode.h"
 
 G_BEGIN_DECLS
 
 /**
- * _purple_account_to_xmlnode:
- * @account:  The account
- *
- * Get an XML description of an account.
- *
- * Returns:  The XML description of the account.
- */
-G_GNUC_INTERNAL
-PurpleXmlNode *_purple_account_to_xmlnode(PurpleAccount *account);
-
-/**
- * _purple_connection_wants_to_die:
- * @gc:  The connection to check
- *
- * Checks if a connection is disconnecting, and should not attempt to reconnect.
- *
- * Note: This function should only be called by purple_account_set_enabled()
- *       in account.c.
- */
-G_GNUC_INTERNAL
-gboolean _purple_connection_wants_to_die(PurpleConnection *gc);
-
-/**
- * purple_account_manager_startup:
- *
- * Starts up the account manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_startup(void);
-
-/**
- * purple_account_manager_shutdown:
- *
- * Shuts down the account manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_shutdown(void);
-
-/**
- * purple_contact_manager_startup:
- *
- * Starts up the contact manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_startup(void);
-
-/**
- * purple_contact_manager_shutdown:
- *
- * Shuts down the contact manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_shutdown(void);
-
-/**
- * purple_conversation_manager_startup:
- *
- * Starts up the conversation manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_startup(void);
-
-/**
- * purple_conversation_manager_shutdown:
- *
- * Shuts down the conversation manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_shutdown(void);
-
-/**
- * purple_credential_manager_startup:
- * @core: The core instance.
- *
- * Starts up the credential manager by creating the default instance for @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_startup(PurpleCore *core);
-
-/**
- * purple_credential_manager_shutdown:
- * @core: The core instance.
- *
- * Shuts down the credential manager by destroying the default instance for
- * @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_shutdown(PurpleCore *core);
-
-/**
- * purple_protocol_manager_startup:
- *
- * Starts up the protocol manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_startup(void);
-
-/**
- * purple_protocol_manager_shutdown:
- *
- * Shuts down the protocol manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_shutdown(void);
-
-/**
- * purple_credential_provider_activate:
+ * purple_credential_provider_activate: (skip)
  * @provider: The #PurpleCredentialProvider instance.
  *
  * Tells a @provider that it has become the active provider.
@@ -178,7 +45,7 @@
 void purple_credential_provider_activate(PurpleCredentialProvider *provider);
 
 /**
- * purple_credential_provider_deactivate:
+ * purple_credential_provider_deactivate: (skip)
  * @provider: The #PurpleCredentialProvider instance.
  *
  * Tells @provider that another #PurpleCredentialProvider has become the active
@@ -189,97 +56,6 @@
 G_GNUC_INTERNAL
 void purple_credential_provider_deactivate(PurpleCredentialProvider *provider);
 
-/**
- * purple_history_adapter_activate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to become the active adapter. If @adapter can not become active
- * it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_activate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_history_adapter_deactivate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to stop being the active adapter. If @adapter can not
- * deactivate it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_deactivate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_notification_manager_startup:
- *
- * Starts up the notification manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_startup(void);
-
-/**
- * purple_notification_manager_shutdown:
- *
- * Shuts down the notification manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_shutdown(void);
-
-/**
- * purple_whiteboard_manager_startup:
- *
- * Starts up the whiteboard manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_startup(void);
-
-/**
- * purple_whiteboard_manager_shutdown:
- *
- * Shuts down the whiteboard manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_shutdown(void);
-
-/**
- * purple_account_set_enabled_plain:
- * @account: The instance.
- * @enabled: Whether or not the account is enabled.
- *
- * This is a temporary method until we overhaul serialization of accounts.
- *
- * This method sets the enabled state of an account without any side effects.
- * Its primary usage is when loading accounts from disk, as without this, the
- * account attempts to connect immediately.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_set_enabled_plain(PurpleAccount *account, gboolean enabled);
-
 G_END_DECLS
 
-#endif /* PURPLE_PRIVATE_H */
-
+#endif /* PURPLE_CONVERSATION_PROVIDER_PRIVATE_H */
diff --git a/libpurple/purplehistoryadapter.c b/libpurple/purplehistoryadapter.c
--- a/libpurple/purplehistoryadapter.c
+++ b/libpurple/purplehistoryadapter.c
@@ -21,8 +21,7 @@
  */
 
 #include "purplehistoryadapter.h"
-
-#include "purpleprivate.h"
+#include "purplehistoryadapterprivate.h"
 
 typedef struct {
 	gchar *id;
diff --git a/libpurple/purpleprivate.h b/libpurple/purplehistoryadapterprivate.h
copy from libpurple/purpleprivate.h
copy to libpurple/purplehistoryadapterprivate.h
--- a/libpurple/purpleprivate.h
+++ b/libpurple/purplehistoryadapterprivate.h
@@ -24,173 +24,15 @@
 # error "only <purple.h> may be included directly"
 #endif
 
-#ifndef PURPLE_PRIVATE_H
-#define PURPLE_PRIVATE_H
+#ifndef PURPLE_HISTORY_ADAPTER_PRIVATE_H
+#define PURPLE_HISTORY_ADAPTER_PRIVATE_H
 
 #include <glib.h>
-#include <glib/gstdio.h>
-
-#include "core.h"
-#include "accounts.h"
-#include "connection.h"
-#include "purplecredentialprovider.h"
-#include "purplehistoryadapter.h"
-#include "purpleversion.h"
-#include "xmlnode.h"
 
 G_BEGIN_DECLS
 
 /**
- * _purple_account_to_xmlnode:
- * @account:  The account
- *
- * Get an XML description of an account.
- *
- * Returns:  The XML description of the account.
- */
-G_GNUC_INTERNAL
-PurpleXmlNode *_purple_account_to_xmlnode(PurpleAccount *account);
-
-/**
- * _purple_connection_wants_to_die:
- * @gc:  The connection to check
- *
- * Checks if a connection is disconnecting, and should not attempt to reconnect.
- *
- * Note: This function should only be called by purple_account_set_enabled()
- *       in account.c.
- */
-G_GNUC_INTERNAL
-gboolean _purple_connection_wants_to_die(PurpleConnection *gc);
-
-/**
- * purple_account_manager_startup:
- *
- * Starts up the account manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_startup(void);
-
-/**
- * purple_account_manager_shutdown:
- *
- * Shuts down the account manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_shutdown(void);
-
-/**
- * purple_contact_manager_startup:
- *
- * Starts up the contact manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_startup(void);
-
-/**
- * purple_contact_manager_shutdown:
- *
- * Shuts down the contact manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_shutdown(void);
-
-/**
- * purple_conversation_manager_startup:
- *
- * Starts up the conversation manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_startup(void);
-
-/**
- * purple_conversation_manager_shutdown:
- *
- * Shuts down the conversation manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_shutdown(void);
-
-/**
- * purple_credential_manager_startup:
- * @core: The core instance.
- *
- * Starts up the credential manager by creating the default instance for @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_startup(PurpleCore *core);
-
-/**
- * purple_credential_manager_shutdown:
- * @core: The core instance.
- *
- * Shuts down the credential manager by destroying the default instance for
- * @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_shutdown(PurpleCore *core);
-
-/**
- * purple_protocol_manager_startup:
- *
- * Starts up the protocol manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_startup(void);
-
-/**
- * purple_protocol_manager_shutdown:
- *
- * Shuts down the protocol manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_shutdown(void);
-
-/**
- * purple_credential_provider_activate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells a @provider that it has become the active provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_activate(PurpleCredentialProvider *provider);
-
-/**
- * purple_credential_provider_deactivate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells @provider that another #PurpleCredentialProvider has become the active
- * provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_deactivate(PurpleCredentialProvider *provider);
-
-/**
- * purple_history_adapter_activate:
+ * purple_history_adapter_activate: (skip)
  * @adapter: The #PurpleHistoryAdapter instance.
  * @error: A return address for a #GError.
  *
@@ -207,7 +49,7 @@
 gboolean purple_history_adapter_activate(PurpleHistoryAdapter *adapter, GError **error);
 
 /**
- * purple_history_adapter_deactivate:
+ * purple_history_adapter_deactivate: (skip)
  * @adapter: The #PurpleHistoryAdapter instance.
  * @error: A return address for a #GError.
  *
@@ -223,63 +65,6 @@
 PURPLE_AVAILABLE_IN_3_0
 gboolean purple_history_adapter_deactivate(PurpleHistoryAdapter *adapter, GError **error);
 
-/**
- * purple_notification_manager_startup:
- *
- * Starts up the notification manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_startup(void);
-
-/**
- * purple_notification_manager_shutdown:
- *
- * Shuts down the notification manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_shutdown(void);
-
-/**
- * purple_whiteboard_manager_startup:
- *
- * Starts up the whiteboard manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_startup(void);
-
-/**
- * purple_whiteboard_manager_shutdown:
- *
- * Shuts down the whiteboard manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_shutdown(void);
-
-/**
- * purple_account_set_enabled_plain:
- * @account: The instance.
- * @enabled: Whether or not the account is enabled.
- *
- * This is a temporary method until we overhaul serialization of accounts.
- *
- * This method sets the enabled state of an account without any side effects.
- * Its primary usage is when loading accounts from disk, as without this, the
- * account attempts to connect immediately.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_set_enabled_plain(PurpleAccount *account, gboolean enabled);
-
 G_END_DECLS
 
-#endif /* PURPLE_PRIVATE_H */
-
+#endif /* PURPLE_HISTORY_ADAPTER_PRIVATE_H */
diff --git a/libpurple/purplehistorymanager.c b/libpurple/purplehistorymanager.c
--- a/libpurple/purplehistorymanager.c
+++ b/libpurple/purplehistorymanager.c
@@ -23,10 +23,10 @@
 #include <glib/gi18n-lib.h>
 
 #include "purplehistorymanager.h"
+
 #include "purplehistoryadapter.h"
+#include "purplehistoryadapterprivate.h"
 #include "purplesqlitehistoryadapter.h"
-
-#include "purpleprivate.h"
 #include "debug.h"
 #include "util.h"
 
diff --git a/libpurple/purplemessage.c b/libpurple/purplemessage.c
--- a/libpurple/purplemessage.c
+++ b/libpurple/purplemessage.c
@@ -24,7 +24,6 @@
 
 #include "debug.h"
 #include "purplemessage.h"
-#include "purpleprivate.h"
 #include "util.h"
 
 struct _PurpleMessage {
diff --git a/libpurple/purplenotificationmanager.c b/libpurple/purplenotificationmanager.c
--- a/libpurple/purplenotificationmanager.c
+++ b/libpurple/purplenotificationmanager.c
@@ -23,9 +23,9 @@
 #include <glib/gi18n-lib.h>
 
 #include "purplenotificationmanager.h"
+#include "purplenotificationmanagerprivate.h"
 
 #include "purplenotificationconnectionerror.h"
-#include "purpleprivate.h"
 
 enum {
 	PROP_0,
diff --git a/libpurple/purpleprivate.h b/libpurple/purplenotificationmanagerprivate.h
copy from libpurple/purpleprivate.h
copy to libpurple/purplenotificationmanagerprivate.h
--- a/libpurple/purpleprivate.h
+++ b/libpurple/purplenotificationmanagerprivate.h
@@ -24,207 +24,15 @@
 # error "only <purple.h> may be included directly"
 #endif
 
-#ifndef PURPLE_PRIVATE_H
-#define PURPLE_PRIVATE_H
+#ifndef PURPLE_NOTIFICATION_MANAGER_PRIVATE_H
+#define PURPLE_NOTIFICATION_MANAGER_PRIVATE_H
 
 #include <glib.h>
-#include <glib/gstdio.h>
-
-#include "core.h"
-#include "accounts.h"
-#include "connection.h"
-#include "purplecredentialprovider.h"
-#include "purplehistoryadapter.h"
-#include "purpleversion.h"
-#include "xmlnode.h"
 
 G_BEGIN_DECLS
 
 /**
- * _purple_account_to_xmlnode:
- * @account:  The account
- *
- * Get an XML description of an account.
- *
- * Returns:  The XML description of the account.
- */
-G_GNUC_INTERNAL
-PurpleXmlNode *_purple_account_to_xmlnode(PurpleAccount *account);
-
-/**
- * _purple_connection_wants_to_die:
- * @gc:  The connection to check
- *
- * Checks if a connection is disconnecting, and should not attempt to reconnect.
- *
- * Note: This function should only be called by purple_account_set_enabled()
- *       in account.c.
- */
-G_GNUC_INTERNAL
-gboolean _purple_connection_wants_to_die(PurpleConnection *gc);
-
-/**
- * purple_account_manager_startup:
- *
- * Starts up the account manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_startup(void);
-
-/**
- * purple_account_manager_shutdown:
- *
- * Shuts down the account manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_shutdown(void);
-
-/**
- * purple_contact_manager_startup:
- *
- * Starts up the contact manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_startup(void);
-
-/**
- * purple_contact_manager_shutdown:
- *
- * Shuts down the contact manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_shutdown(void);
-
-/**
- * purple_conversation_manager_startup:
- *
- * Starts up the conversation manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_startup(void);
-
-/**
- * purple_conversation_manager_shutdown:
- *
- * Shuts down the conversation manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_shutdown(void);
-
-/**
- * purple_credential_manager_startup:
- * @core: The core instance.
- *
- * Starts up the credential manager by creating the default instance for @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_startup(PurpleCore *core);
-
-/**
- * purple_credential_manager_shutdown:
- * @core: The core instance.
- *
- * Shuts down the credential manager by destroying the default instance for
- * @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_shutdown(PurpleCore *core);
-
-/**
- * purple_protocol_manager_startup:
- *
- * Starts up the protocol manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_startup(void);
-
-/**
- * purple_protocol_manager_shutdown:
- *
- * Shuts down the protocol manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_shutdown(void);
-
-/**
- * purple_credential_provider_activate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells a @provider that it has become the active provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_activate(PurpleCredentialProvider *provider);
-
-/**
- * purple_credential_provider_deactivate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells @provider that another #PurpleCredentialProvider has become the active
- * provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_deactivate(PurpleCredentialProvider *provider);
-
-/**
- * purple_history_adapter_activate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to become the active adapter. If @adapter can not become active
- * it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_activate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_history_adapter_deactivate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to stop being the active adapter. If @adapter can not
- * deactivate it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_deactivate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_notification_manager_startup:
+ * purple_notification_manager_startup: (skip)
  *
  * Starts up the notification manager by creating the default instance.
  *
@@ -234,7 +42,7 @@
 void purple_notification_manager_startup(void);
 
 /**
- * purple_notification_manager_shutdown:
+ * purple_notification_manager_shutdown: (skip)
  *
  * Shuts down the notification manager by destroying the default instance.
  *
@@ -243,43 +51,6 @@
 G_GNUC_INTERNAL
 void purple_notification_manager_shutdown(void);
 
-/**
- * purple_whiteboard_manager_startup:
- *
- * Starts up the whiteboard manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_startup(void);
-
-/**
- * purple_whiteboard_manager_shutdown:
- *
- * Shuts down the whiteboard manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_shutdown(void);
-
-/**
- * purple_account_set_enabled_plain:
- * @account: The instance.
- * @enabled: Whether or not the account is enabled.
- *
- * This is a temporary method until we overhaul serialization of accounts.
- *
- * This method sets the enabled state of an account without any side effects.
- * Its primary usage is when loading accounts from disk, as without this, the
- * account attempts to connect immediately.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_set_enabled_plain(PurpleAccount *account, gboolean enabled);
-
 G_END_DECLS
 
-#endif /* PURPLE_PRIVATE_H */
-
+#endif /* PURPLE_NOTIFICATION_MANAGER_PRIVATE_H */
diff --git a/libpurple/purplepresence.c b/libpurple/purplepresence.c
--- a/libpurple/purplepresence.c
+++ b/libpurple/purplepresence.c
@@ -28,7 +28,6 @@
 
 #include "debug.h"
 #include "purpleenums.h"
-#include "purpleprivate.h"
 #include "util.h"
 
 struct _PurplePresence {
diff --git a/libpurple/purpleprotocolmanager.c b/libpurple/purpleprotocolmanager.c
--- a/libpurple/purpleprotocolmanager.c
+++ b/libpurple/purpleprotocolmanager.c
@@ -23,7 +23,7 @@
 #include <glib/gi18n-lib.h>
 
 #include "purpleprotocolmanager.h"
-#include "purpleprivate.h"
+#include "purpleprotocolmanagerprivate.h"
 
 enum {
 	PROP_0,
diff --git a/libpurple/purpleprivate.h b/libpurple/purpleprotocolmanagerprivate.h
copy from libpurple/purpleprivate.h
copy to libpurple/purpleprotocolmanagerprivate.h
--- a/libpurple/purpleprivate.h
+++ b/libpurple/purpleprotocolmanagerprivate.h
@@ -24,130 +24,15 @@
 # error "only <purple.h> may be included directly"
 #endif
 
-#ifndef PURPLE_PRIVATE_H
-#define PURPLE_PRIVATE_H
+#ifndef PURPLE_PROTOCOL_MANAGER_PRIVATE_H
+#define PURPLE_PROTOCOL_MANAGER_PRIVATE_H
 
 #include <glib.h>
-#include <glib/gstdio.h>
-
-#include "core.h"
-#include "accounts.h"
-#include "connection.h"
-#include "purplecredentialprovider.h"
-#include "purplehistoryadapter.h"
-#include "purpleversion.h"
-#include "xmlnode.h"
 
 G_BEGIN_DECLS
 
 /**
- * _purple_account_to_xmlnode:
- * @account:  The account
- *
- * Get an XML description of an account.
- *
- * Returns:  The XML description of the account.
- */
-G_GNUC_INTERNAL
-PurpleXmlNode *_purple_account_to_xmlnode(PurpleAccount *account);
-
-/**
- * _purple_connection_wants_to_die:
- * @gc:  The connection to check
- *
- * Checks if a connection is disconnecting, and should not attempt to reconnect.
- *
- * Note: This function should only be called by purple_account_set_enabled()
- *       in account.c.
- */
-G_GNUC_INTERNAL
-gboolean _purple_connection_wants_to_die(PurpleConnection *gc);
-
-/**
- * purple_account_manager_startup:
- *
- * Starts up the account manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_startup(void);
-
-/**
- * purple_account_manager_shutdown:
- *
- * Shuts down the account manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_shutdown(void);
-
-/**
- * purple_contact_manager_startup:
- *
- * Starts up the contact manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_startup(void);
-
-/**
- * purple_contact_manager_shutdown:
- *
- * Shuts down the contact manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_shutdown(void);
-
-/**
- * purple_conversation_manager_startup:
- *
- * Starts up the conversation manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_startup(void);
-
-/**
- * purple_conversation_manager_shutdown:
- *
- * Shuts down the conversation manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_shutdown(void);
-
-/**
- * purple_credential_manager_startup:
- * @core: The core instance.
- *
- * Starts up the credential manager by creating the default instance for @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_startup(PurpleCore *core);
-
-/**
- * purple_credential_manager_shutdown:
- * @core: The core instance.
- *
- * Shuts down the credential manager by destroying the default instance for
- * @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_shutdown(PurpleCore *core);
-
-/**
- * purple_protocol_manager_startup:
+ * purple_protocol_manager_startup: (skip)
  *
  * Starts up the protocol manager by creating the default instance.
  *
@@ -157,7 +42,7 @@
 void purple_protocol_manager_startup(void);
 
 /**
- * purple_protocol_manager_shutdown:
+ * purple_protocol_manager_shutdown: (skip)
  *
  * Shuts down the protocol manager by destroying the default instance.
  *
@@ -166,120 +51,6 @@
 G_GNUC_INTERNAL
 void purple_protocol_manager_shutdown(void);
 
-/**
- * purple_credential_provider_activate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells a @provider that it has become the active provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_activate(PurpleCredentialProvider *provider);
-
-/**
- * purple_credential_provider_deactivate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells @provider that another #PurpleCredentialProvider has become the active
- * provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_deactivate(PurpleCredentialProvider *provider);
-
-/**
- * purple_history_adapter_activate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to become the active adapter. If @adapter can not become active
- * it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_activate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_history_adapter_deactivate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to stop being the active adapter. If @adapter can not
- * deactivate it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_deactivate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_notification_manager_startup:
- *
- * Starts up the notification manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_startup(void);
-
-/**
- * purple_notification_manager_shutdown:
- *
- * Shuts down the notification manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_shutdown(void);
-
-/**
- * purple_whiteboard_manager_startup:
- *
- * Starts up the whiteboard manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_startup(void);
-
-/**
- * purple_whiteboard_manager_shutdown:
- *
- * Shuts down the whiteboard manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_whiteboard_manager_shutdown(void);
-
-/**
- * purple_account_set_enabled_plain:
- * @account: The instance.
- * @enabled: Whether or not the account is enabled.
- *
- * This is a temporary method until we overhaul serialization of accounts.
- *
- * This method sets the enabled state of an account without any side effects.
- * Its primary usage is when loading accounts from disk, as without this, the
- * account attempts to connect immediately.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_set_enabled_plain(PurpleAccount *account, gboolean enabled);
-
 G_END_DECLS
 
-#endif /* PURPLE_PRIVATE_H */
-
+#endif /* PURPLE_PROTOCOL_MANAGER_PRIVATE_H */
diff --git a/libpurple/purplesqlitehistoryadapter.c b/libpurple/purplesqlitehistoryadapter.c
--- a/libpurple/purplesqlitehistoryadapter.c
+++ b/libpurple/purplesqlitehistoryadapter.c
@@ -27,7 +27,6 @@
 #include "purplesqlitehistoryadapter.h"
 
 #include "purpleaccount.h"
-#include "purpleprivate.h"
 #include "purplesqlite3.h"
 
 struct _PurpleSqliteHistoryAdapter {
diff --git a/libpurple/purplewhiteboardmanager.c b/libpurple/purplewhiteboardmanager.c
--- a/libpurple/purplewhiteboardmanager.c
+++ b/libpurple/purplewhiteboardmanager.c
@@ -23,7 +23,7 @@
 #include <glib/gi18n-lib.h>
 
 #include "purplewhiteboardmanager.h"
-#include "purpleprivate.h"
+#include "purplewhiteboardmanagerprivate.h"
 
 enum {
 	PROP_0,
diff --git a/libpurple/purpleprivate.h b/libpurple/purplewhiteboardmanagerprivate.h
copy from libpurple/purpleprivate.h
copy to libpurple/purplewhiteboardmanagerprivate.h
--- a/libpurple/purpleprivate.h
+++ b/libpurple/purplewhiteboardmanagerprivate.h
@@ -24,227 +24,15 @@
 # error "only <purple.h> may be included directly"
 #endif
 
-#ifndef PURPLE_PRIVATE_H
-#define PURPLE_PRIVATE_H
+#ifndef PURPLE_WHITEBOARD_MANAGER_PRIVATE_H
+#define PURPLE_WHITEBOARD_MANAGER_PRIVATE_H
 
 #include <glib.h>
-#include <glib/gstdio.h>
-
-#include "core.h"
-#include "accounts.h"
-#include "connection.h"
-#include "purplecredentialprovider.h"
-#include "purplehistoryadapter.h"
-#include "purpleversion.h"
-#include "xmlnode.h"
 
 G_BEGIN_DECLS
 
 /**
- * _purple_account_to_xmlnode:
- * @account:  The account
- *
- * Get an XML description of an account.
- *
- * Returns:  The XML description of the account.
- */
-G_GNUC_INTERNAL
-PurpleXmlNode *_purple_account_to_xmlnode(PurpleAccount *account);
-
-/**
- * _purple_connection_wants_to_die:
- * @gc:  The connection to check
- *
- * Checks if a connection is disconnecting, and should not attempt to reconnect.
- *
- * Note: This function should only be called by purple_account_set_enabled()
- *       in account.c.
- */
-G_GNUC_INTERNAL
-gboolean _purple_connection_wants_to_die(PurpleConnection *gc);
-
-/**
- * purple_account_manager_startup:
- *
- * Starts up the account manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_startup(void);
-
-/**
- * purple_account_manager_shutdown:
- *
- * Shuts down the account manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_manager_shutdown(void);
-
-/**
- * purple_contact_manager_startup:
- *
- * Starts up the contact manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_startup(void);
-
-/**
- * purple_contact_manager_shutdown:
- *
- * Shuts down the contact manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_contact_manager_shutdown(void);
-
-/**
- * purple_conversation_manager_startup:
- *
- * Starts up the conversation manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_startup(void);
-
-/**
- * purple_conversation_manager_shutdown:
- *
- * Shuts down the conversation manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_conversation_manager_shutdown(void);
-
-/**
- * purple_credential_manager_startup:
- * @core: The core instance.
- *
- * Starts up the credential manager by creating the default instance for @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_startup(PurpleCore *core);
-
-/**
- * purple_credential_manager_shutdown:
- * @core: The core instance.
- *
- * Shuts down the credential manager by destroying the default instance for
- * @core.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_manager_shutdown(PurpleCore *core);
-
-/**
- * purple_protocol_manager_startup:
- *
- * Starts up the protocol manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_startup(void);
-
-/**
- * purple_protocol_manager_shutdown:
- *
- * Shuts down the protocol manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_protocol_manager_shutdown(void);
-
-/**
- * purple_credential_provider_activate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells a @provider that it has become the active provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_activate(PurpleCredentialProvider *provider);
-
-/**
- * purple_credential_provider_deactivate:
- * @provider: The #PurpleCredentialProvider instance.
- *
- * Tells @provider that another #PurpleCredentialProvider has become the active
- * provider.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_credential_provider_deactivate(PurpleCredentialProvider *provider);
-
-/**
- * purple_history_adapter_activate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to become the active adapter. If @adapter can not become active
- * it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_activate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_history_adapter_deactivate:
- * @adapter: The #PurpleHistoryAdapter instance.
- * @error: A return address for a #GError.
- *
- * Asks @adapter to stop being the active adapter. If @adapter can not
- * deactivate it should return %FALSE and set @error.
- *
- * NOTE: This is public only for tests. Do not use outside of libpurple.
- *
- * Returns: %TRUE on success otherwise %FALSE with @error set.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean purple_history_adapter_deactivate(PurpleHistoryAdapter *adapter, GError **error);
-
-/**
- * purple_notification_manager_startup:
- *
- * Starts up the notification manager by creating the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_startup(void);
-
-/**
- * purple_notification_manager_shutdown:
- *
- * Shuts down the notification manager by destroying the default instance.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_notification_manager_shutdown(void);
-
-/**
- * purple_whiteboard_manager_startup:
+ * purple_whiteboard_manager_startup: (skip)
  *
  * Starts up the whiteboard manager by creating the default instance.
  *
@@ -254,7 +42,7 @@
 void purple_whiteboard_manager_startup(void);
 
 /**
- * purple_whiteboard_manager_shutdown:
+ * purple_whiteboard_manager_shutdown: (skip)
  *
  * Shuts down the whiteboard manager by destroying the default instance.
  *
@@ -263,23 +51,6 @@
 G_GNUC_INTERNAL
 void purple_whiteboard_manager_shutdown(void);
 
-/**
- * purple_account_set_enabled_plain:
- * @account: The instance.
- * @enabled: Whether or not the account is enabled.
- *
- * This is a temporary method until we overhaul serialization of accounts.
- *
- * This method sets the enabled state of an account without any side effects.
- * Its primary usage is when loading accounts from disk, as without this, the
- * account attempts to connect immediately.
- *
- * Since: 3.0
- */
-G_GNUC_INTERNAL
-void purple_account_set_enabled_plain(PurpleAccount *account, gboolean enabled);
-
 G_END_DECLS
 
-#endif /* PURPLE_PRIVATE_H */
-
+#endif /* PURPLE_WHITEBOARD_MANAGER_PRIVATE_H */
diff --git a/libpurple/request.c b/libpurple/request.c
--- a/libpurple/request.c
+++ b/libpurple/request.c
@@ -27,7 +27,6 @@
 #include "request.h"
 #include "debug.h"
 #include "purplekeyvaluepair.h"
-#include "purpleprivate.h"
 #include "util.h"
 
 static PurpleRequestUiOps *request_ui_ops = NULL;
diff --git a/libpurple/request/purplerequestfield.c b/libpurple/request/purplerequestfield.c
--- a/libpurple/request/purplerequestfield.c
+++ b/libpurple/request/purplerequestfield.c
@@ -23,7 +23,6 @@
 #include <glib/gi18n-lib.h>
 
 #include "request.h"
-#include "purpleprivate.h"
 
 typedef struct {
 	char *id;
diff --git a/libpurple/request/purplerequestgroup.c b/libpurple/request/purplerequestgroup.c
--- a/libpurple/request/purplerequestgroup.c
+++ b/libpurple/request/purplerequestgroup.c
@@ -24,7 +24,6 @@
 
 #include "purplerequestgroup.h"
 #include "purplerequestpage.h"
-#include "purpleprivate.h"
 
 struct _PurpleRequestGroup {
 	GObject parent;
diff --git a/libpurple/request/purplerequestpage.c b/libpurple/request/purplerequestpage.c
--- a/libpurple/request/purplerequestpage.c
+++ b/libpurple/request/purplerequestpage.c
@@ -23,12 +23,12 @@
 #include <glib/gi18n-lib.h>
 
 #include "purplerequestpage.h"
+
 #include "request/purplerequestfieldaccount.h"
 #include "request/purplerequestfieldbool.h"
 #include "request/purplerequestfieldchoice.h"
 #include "request/purplerequestfieldint.h"
 #include "request/purplerequestfieldstring.h"
-#include "purpleprivate.h"
 
 struct _PurpleRequestPage {
 	GObject parent;
diff --git a/libpurple/tests/test_history_adapter.c b/libpurple/tests/test_history_adapter.c
--- a/libpurple/tests/test_history_adapter.c
+++ b/libpurple/tests/test_history_adapter.c
@@ -23,7 +23,7 @@
 #include "test_ui.h"
 
 #define PURPLE_GLOBAL_HEADER_INSIDE
-#include "../purpleprivate.h"
+#include "../purplehistoryadapterprivate.h"
 #undef PURPLE_GLOBAL_HEADER_INSIDE
 
 /******************************************************************************
diff --git a/libpurple/tests/test_history_manager.c b/libpurple/tests/test_history_manager.c
--- a/libpurple/tests/test_history_manager.c
+++ b/libpurple/tests/test_history_manager.c
@@ -23,7 +23,7 @@
 #include "test_ui.h"
 
 #define PURPLE_GLOBAL_HEADER_INSIDE
-#include "../purpleprivate.h"
+#include "../purplehistoryadapterprivate.h"
 #undef PURPLE_GLOBAL_HEADER_INSIDE
 
 /******************************************************************************
diff --git a/libpurple/util.c b/libpurple/util.c
--- a/libpurple/util.c
+++ b/libpurple/util.c
@@ -23,11 +23,10 @@
 #include <purpleconfig.h>
 
 #include <glib/gi18n-lib.h>
+#include <glib/gstdio.h>
 
 #include <ctype.h>
 
-#include "purpleprivate.h"
-
 #include "core.h"
 #include "debug.h"
 #include "prefs.h"
diff --git a/purple-history/purplehistorycore.c b/purple-history/purplehistorycore.c
--- a/purple-history/purplehistorycore.c
+++ b/purple-history/purplehistorycore.c
@@ -25,7 +25,7 @@
 #include <purple.h>
 
 #define PURPLE_COMPILATION
-#include "../libpurple/purpleprivate.h"
+#include "../libpurple/purplehistoryadapterprivate.h"
 #undef PURPLE_COMPILATION
 
 /******************************************************************************
