summaryrefslogtreecommitdiff
path: root/libpurple/internal.h
diff options
context:
space:
mode:
authorGary Kramlich <grim@reaperworld.com>2020-05-01 12:13:35 -0500
committerGary Kramlich <grim@reaperworld.com>2020-05-01 12:13:35 -0500
commit2d1dc1f8f6e7cf925bee7af3d0be8d0723666eff (patch)
tree9f2a7c4a5f3ecf72d4028a439ac53db524d31bb9 /libpurple/internal.h
parentf5653f5c8182c2da2bad617692dd504c0a629576 (diff)
downloadpidgin-2d1dc1f8f6e7cf925bee7af3d0be8d0723666eff.tar.gz
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Diffstat (limited to 'libpurple/internal.h')
-rw-r--r--libpurple/internal.h269
1 files changed, 15 insertions, 254 deletions
diff --git a/libpurple/internal.h b/libpurple/internal.h
index 65d53897bf..40c38e99ba 100644
--- a/libpurple/internal.h
+++ b/libpurple/internal.h
@@ -28,21 +28,21 @@
* @title: Internal definitions and includes
*/
+#if !defined(PURPLE_COMPILATION)
+#error "internal.h included outside of libpurple"
+#endif
+
#ifndef GLIB_VERSION_MIN_REQUIRED
#define GLIB_VERSION_MIN_REQUIRED (GLIB_VERSION_2_28)
#endif
#ifdef HAVE_CONFIG_H
+# ifdef GETTEXT_PACKAGE
+# undef GETTEXT_PACKAGE
+# endif
# include <config.h>
#endif
-/* for SIOCGIFCONF in SKYOS */
-#ifdef SKYOS
-#include <net/sockios.h>
-#endif
-
-#include <glib/gi18n-lib.h>
-
#ifdef HAVE_ENDIAN_H
# include <endian.h>
#endif
@@ -55,11 +55,13 @@
#define BUF_LONG BUF_LEN * 2
#include <sys/types.h>
+
#ifndef _WIN32
-#include <sys/time.h>
-#include <sys/wait.h>
-#include <sys/time.h>
+# include <sys/time.h>
+# include <sys/wait.h>
+# include <sys/time.h>
#endif
+
#include <ctype.h>
#include <errno.h>
#include <fcntl.h>
@@ -70,11 +72,11 @@
#include <time.h>
#ifdef HAVE_ICONV
-#include <iconv.h>
+# include <iconv.h>
#endif
#ifdef HAVE_LANGINFO_CODESET
-#include <langinfo.h>
+# include <langinfo.h>
#endif
#ifndef _WIN32
@@ -92,11 +94,8 @@
# define HOST_NAME_MAX 255
#endif
-#include <glib.h>
-#include <glib/gstdio.h>
-
#ifdef _WIN32
-#include "win32/win32dep.h"
+# include "win32/win32dep.h"
#endif
#ifdef HAVE_CONFIG_H
@@ -109,16 +108,6 @@
#endif
#endif
-#define PURPLE_STATIC_ASSERT(condition, message) \
- { typedef char static_assertion_failed_ ## message \
- [(condition) ? 1 : -1]; static_assertion_failed_ ## message dummy; \
- (void)dummy; }
-
-/* This is meant to track use-after-free errors.
- * TODO: it should be disabled in released code. */
-#define PURPLE_ASSERT_CONNECTION_IS_VALID(gc) \
- _purple_assert_connection_is_valid(gc, __FILE__, __LINE__)
-
#ifdef __clang__
#define PURPLE_BEGIN_IGNORE_CAST_ALIGN \
@@ -145,232 +134,4 @@
#endif
-typedef union
-{
- struct sockaddr sa;
- struct sockaddr_in in;
- struct sockaddr_in6 in6;
- struct sockaddr_storage storage;
-} common_sockaddr_t;
-
-#define PURPLE_WEBSITE "https://pidgin.im/"
-#define PURPLE_DEVEL_WEBSITE "https://developer.pidgin.im/"
-
-
-/* INTERNAL FUNCTIONS */
-
-#include "accounts.h"
-#include "connection.h"
-
-/**
- * _purple_account_set_current_error:
- * @account: The account to set the error for.
- * @new_err: The #PurpleConnectionErrorInfo instance representing the
- * error.
- *
- * Sets an error for an account.
- */
-void _purple_account_set_current_error(PurpleAccount *account,
- PurpleConnectionErrorInfo *new_err);
-
-/**
- * _purple_account_to_xmlnode:
- * @account: The account
- *
- * Get an XML description of an account.
- *
- * Returns: The XML description of the account.
- */
-PurpleXmlNode *_purple_account_to_xmlnode(PurpleAccount *account);
-
-/**
- * _purple_blist_get_last_child:
- * @node: The node whose last child is to be retrieved.
- *
- * Returns the last child of a particular node.
- *
- * Returns: The last child of the node.
- */
-PurpleBlistNode *_purple_blist_get_last_child(PurpleBlistNode *node);
-
-/* This is for the accounts code to notify the buddy icon code that
- * it's done loading. We may want to replace this with a signal. */
-void
-_purple_buddy_icons_account_loaded_cb(void);
-
-/* This is for the buddy list to notify the buddy icon code that
- * it's done loading. We may want to replace this with a signal. */
-void
-_purple_buddy_icons_blist_loaded_cb(void);
-
-/**
- * _purple_connection_new:
- * @account: The account the connection should be connecting to.
- * @regist: Whether we are registering a new account or just
- * trying to do a normal signon.
- * @password: The password to use.
- *
- * Creates a connection to the specified account and either connects
- * or attempts to register a new account. If you are logging in,
- * the connection uses the current active status for this account.
- * So if you want to sign on as "away," for example, you need to
- * have called purple_account_set_status(account, "away").
- * (And this will call purple_account_connect() automatically).
- *
- * Note: This function should only be called by purple_account_connect()
- * in account.c. If you're trying to sign on an account, use that
- * function instead.
- */
-void _purple_connection_new(PurpleAccount *account, gboolean regist,
- const char *password);
-/**
- * _purple_connection_new_unregister:
- * @account: The account to unregister
- * @password: The password to use.
- * @cb: Optional callback to be called when unregistration is complete
- * @user_data: user data to pass to the callback
- *
- * Tries to unregister the account on the server. If the account is not
- * connected, also creates a new connection.
- *
- * Note: This function should only be called by purple_account_unregister()
- * in account.c.
- */
-void _purple_connection_new_unregister(PurpleAccount *account, const char *password,
- PurpleAccountUnregistrationCb cb, void *user_data);
-/**
- * _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.
- */
-gboolean _purple_connection_wants_to_die(PurpleConnection *gc);
-
-/**
- * _purple_connection_add_active_chat:
- * @gc: The connection
- * @chat: The chat conversation to add
- *
- * Adds a chat to the active chats list of a connection
- *
- * Note: This function should only be called by purple_serv_got_joined_chat()
- * in server.c.
- */
-void _purple_connection_add_active_chat(PurpleConnection *gc,
- PurpleChatConversation *chat);
-/**
- * _purple_connection_remove_active_chat:
- * @gc: The connection
- * @chat: The chat conversation to remove
- *
- * Removes a chat from the active chats list of a connection
- *
- * Note: This function should only be called by purple_serv_got_chat_left()
- * in server.c.
- */
-void _purple_connection_remove_active_chat(PurpleConnection *gc,
- PurpleChatConversation *chat);
-
-/**
- * _purple_conversations_update_cache:
- * @conv: The conversation.
- * @name: The new name. If no change, use %NULL.
- * @account: The new account. If no change, use %NULL.
- *
- * Updates the conversation cache to use a new conversation name and/or
- * account. This function only updates the conversation cache. It is the
- * caller's responsibility to actually update the conversation.
- *
- * Note: This function should only be called by purple_conversation_set_name()
- * and purple_conversation_set_account() in conversation.c.
- */
-void _purple_conversations_update_cache(PurpleConversation *conv,
- const char *name, PurpleAccount *account);
-
-/**
- * _purple_statuses_get_primitive_scores:
- *
- * Note: This function should only be called by
- * purple_buddy_presence_compute_score() in presence.c.
- *
- * Returns: The primitive scores array from status.c.
- */
-int *_purple_statuses_get_primitive_scores(void);
-
-/**
- * _purple_blist_get_localized_default_group_name:
- *
- * Returns the name of default group for previously used non-English
- * localization. It's used for merging default group, in case when roster
- * contains localized name.
- *
- * Please note, prpls shouldn't save default group name depending on current
- * locale. So, this function is mostly for libpurple2 compatibility. And for
- * improperly written prpls.
- */
-const gchar *
-_purple_blist_get_localized_default_group_name(void);
-
-/**
- * Sets most commonly used socket flags: O_NONBLOCK and FD_CLOEXEC.
- *
- * @param fd The file descriptor for the socket.
- *
- * @return TRUE if succeeded, FALSE otherwise.
- */
-gboolean
-_purple_network_set_common_socket_flags(int fd);
-
-/**
- * A fstat alternative, like g_stat for stat.
- *
- * @param fd The file descriptor.
- * @param st The stat buffer.
- *
- * @return the result just like for fstat.
- */
-int
-_purple_fstat(int fd, GStatBuf *st);
-
-/**
- * _purple_message_init: (skip)
- *
- * Initializes the #PurpleMessage subsystem.
- */
-void
-_purple_message_init(void);
-
-/**
- * _purple_message_uninit: (skip)
- *
- * Uninitializes the #PurpleMessage subsystem.
- */
-void
-_purple_message_uninit(void);
-
-void
-_purple_assert_connection_is_valid(PurpleConnection *gc,
- const gchar *file, int line);
-
-/**
- * _purple_conversation_write_common:
- * @conv: The conversation.
- * @msg: The message.
- *
- * Writes to a conversation window.
- *
- * This function should not be used to write IM or chat messages. Use
- * purple_conversation_write_message() instead. This function will
- * most likely call this anyway, but it may do it's own formatting,
- * sound playback, etc. depending on whether the conversation is a chat or an
- * IM.
- *
- * See purple_conversation_write_message().
- */
-void
-_purple_conversation_write_common(PurpleConversation *conv, PurpleMessage *msg);
-
#endif /* PURPLE_INTERNAL_H */