pidgin/pidgin

Prepare for reparenting PurpleAccount
default tip
43 minutes ago, Gary Kramlich
530549d9d6aa
Prepare for reparenting PurpleAccount

The idea of having PurpleAccount subclass PurpleContactInfo had some issues.
First, the server side id isn't known at account creation time which means we
had to generate a local one and then throw that away when we knew the server
side id. This technically worked, but breaks the current idea for serialization
which is one of the big reasons why this has to change.

This is the first step in reparenting it to GObject and having a property that
has the protocol specific contact info. The idea is that we can update all of
the consumers to call these methods and once that's done we can go ahead and do
the reparenting without breaking anything.

Testing Done:
Had the turtles do their thing and connected some accounts without issue.

Reviewed at https://reviews.imfreedom.org/r/3157/
/*
* Pidgin - Internet Messenger
* Copyright (C) Pidgin Developers <devel@pidgin.im>
*
* Pidgin is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
* source distribution.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see <https://www.gnu.org/licenses/>.
*/
#if !defined(PIDGIN_GLOBAL_HEADER_INSIDE) && !defined(PIDGIN_COMPILATION)
# error "only <pidgin.h> may be included directly"
#endif
#ifndef PIDGIN_CONVERSATION_PREFS_H
#define PIDGIN_CONVERSATION_PREFS_H
#include <glib.h>
#include <gtk/gtk.h>
#include <adwaita.h>
#include "pidginversion.h"
G_BEGIN_DECLS
/**
* PidginConversationPrefs:
*
* #PidginConversationPrefs is a widget for the preferences window to let users
* choose and configure their conversation settings.
*
* Since: 3.0
*/
#define PIDGIN_TYPE_CONVERSATION_PREFS (pidgin_conversation_prefs_get_type())
PIDGIN_AVAILABLE_IN_3_0
G_DECLARE_FINAL_TYPE(PidginConversationPrefs, pidgin_conversation_prefs,
PIDGIN, CONVERSATION_PREFS, AdwPreferencesPage)
/**
* pidgin_conversation_prefs_new:
*
* Creates a new #PidginConversationPrefs instance.
*
* Returns: (transfer full): The new #PidginConversationPrefs instance.
*
* Since: 3.0
*/
PIDGIN_AVAILABLE_IN_3_0
GtkWidget *pidgin_conversation_prefs_new(void);
G_END_DECLS
#endif /* PIDGIN_CONVERSATION_PREFS_H */