diff options
author | Mike Ruprecht <cmaiku@gmail.com> | 2018-12-14 19:30:50 -0600 |
---|---|---|
committer | Mike Ruprecht <cmaiku@gmail.com> | 2018-12-14 19:30:50 -0600 |
commit | d07624f8d7d57a5a925e11d7fdff0a5d8b81a0bd (patch) | |
tree | ce5288fac637c32a9e490aa472791c9c012b9be6 | |
parent | d4c5ad320c5bc240cc1355b286561c8d817243c6 (diff) | |
download | pidgin-d07624f8d7d57a5a925e11d7fdff0a5d8b81a0bd.tar.gz |
libpurple: Make PurpleProxyInfo a boxed type
This patch makes PurpleProxyInfo a boxed type in order to play nicely
with GObject introspection, fixing some warnings in the process.
-rw-r--r-- | libpurple/proxy.c | 20 | ||||
-rw-r--r-- | libpurple/proxy.h | 7 |
2 files changed, 27 insertions, 0 deletions
diff --git a/libpurple/proxy.c b/libpurple/proxy.c index 396e0d18b1..5281506eea 100644 --- a/libpurple/proxy.c +++ b/libpurple/proxy.c @@ -78,6 +78,23 @@ purple_proxy_info_new(void) return g_new0(PurpleProxyInfo, 1); } +static PurpleProxyInfo * +purple_proxy_info_copy(PurpleProxyInfo *info) +{ + PurpleProxyInfo *copy; + + g_return_val_if_fail(info != NULL, NULL); + + copy = purple_proxy_info_new(); + copy->type = info->type; + copy->host = g_strdup(info->host); + copy->port = info->port; + copy->username = g_strdup(info->username); + copy->password = g_strdup(info->password); + + return info; +} + void purple_proxy_info_destroy(PurpleProxyInfo *info) { @@ -173,6 +190,9 @@ purple_proxy_info_get_password(const PurpleProxyInfo *info) return info->password; } +G_DEFINE_BOXED_TYPE(PurpleProxyInfo, purple_proxy_info, + purple_proxy_info_copy, purple_proxy_info_destroy); + /************************************************************************** * Global Proxy API **************************************************************************/ diff --git a/libpurple/proxy.h b/libpurple/proxy.h index 856b5ae873..b7048f7142 100644 --- a/libpurple/proxy.h +++ b/libpurple/proxy.h @@ -77,6 +77,13 @@ G_BEGIN_DECLS /**************************************************************************/ /** + * purple_proxy_info_get_type: + * + * Returns: The #GType for proxy information. + */ +GType purple_proxy_info_get_type(void); + +/** * purple_proxy_info_new: * * Creates a proxy information structure. |