Changeset - 3bb462ee5727
[Not reviewed]
Merge
3 40 13
Jan Kaluza - 10 years ago 2016-01-21 13:25:34
hanzz.k@gmail.com
Merge pull request #99 from vitalyster/purple_roomlist

Purple roomlist
4 files changed with 53 insertions and 2 deletions:
0 comments (0 inline, 0 general)
backends/libpurple/main.cpp
Show inline comments
 
@@ -1564,21 +1564,52 @@ static PurpleXferUiOps xferUiOps =
 
	XferWrite,
 
	XferRead,
 
	XferNotSent,
 
	NULL
 
};
 

	
 
static void RoomlistProgress(PurpleRoomlist *list, gboolean in_progress)
 
{
 
	if (!in_progress) 
 
	{
 
		GList *rooms;
 
		std::list<std::string> m_rooms;
 
		for (rooms = list->rooms; rooms != NULL; rooms = rooms->next)
 
		{
 
			PurpleRoomlistRoom *room = (PurpleRoomlistRoom *)rooms->data;	
 
			m_rooms.push_back(room->name);
 
		}
 
		np->handleRoomList("", m_rooms, m_rooms);
 
	}
 
}
 

	
 
static PurpleRoomlistUiOps roomlist_ui_ops =
 
{
 
	NULL,
 
	NULL,
 
	NULL,
 
	NULL,
 
	RoomlistProgress,
 
	NULL,
 
	NULL,
 
	NULL,
 
	NULL,
 
	NULL
 
};
 

	
 
static void transport_core_ui_init(void)
 
{
 
	purple_blist_set_ui_ops_wrapped(&blistUiOps);
 
	purple_accounts_set_ui_ops_wrapped(&accountUiOps);
 
	purple_notify_set_ui_ops_wrapped(&notifyUiOps);
 
	purple_request_set_ui_ops_wrapped(&requestUiOps);
 
	purple_xfers_set_ui_ops_wrapped(&xferUiOps);
 
	purple_connections_set_ui_ops_wrapped(&conn_ui_ops);
 
	purple_conversations_set_ui_ops_wrapped(&conversation_ui_ops);
 
	purple_roomlist_set_ui_ops_wrapped(&roomlist_ui_ops);
 
	
 
// #ifndef WIN32
 
// 	purple_dnsquery_set_ui_ops_wrapped(getDNSUiOps());
 
// #endif
 
}
 

	
 
/***** Core Ui Ops *****/
 
@@ -1669,13 +1700,14 @@ static void signed_on(PurpleConnection *gc, gpointer unused) {
 
#ifndef WIN32
 
#if !defined(__FreeBSD__) && !defined(__APPLE__)
 
	// force returning of memory chunks allocated by libxml2 to kernel
 
	malloc_trim(0);
 
#endif
 
#endif
 

	
 
	purple_roomlist_get_list_wrapped(gc);
 
	
 
	// For prpl-gg
 
	execute_purple_plugin_action(gc, "Download buddylist from Server");
 
}
 

	
 
static void printDebug(PurpleDebugLevel level, const char *category, const char *arg_s) {
 
	std::string c("");
 
@@ -1845,13 +1877,13 @@ static void transportDataReceived(gpointer data, gint source, PurpleInputConditi
 
			exit(errno);
 
		}
 
		std::string d = std::string(buffer, n);
 

	
 
		if (firstPing) {
 
			firstPing = false;
 
			NetworkPlugin::PluginConfig cfg;
 
			NetworkPlugin::PluginConfig cfg;			
 
			cfg.setSupportMUC(true);
 
			if (CONFIG_STRING(config, "service.protocol") == "prpl-telegram") {
 
				cfg.setNeedPassword(false);
 
			}
 
			np->sendConfig(cfg);
 
		}
backends/libpurple/purple_defs.cpp
Show inline comments
 
@@ -97,12 +97,14 @@ purple_xfer_get_account_wrapped_fnc purple_xfer_get_account_wrapped = NULL;
 
purple_xfer_get_filename_wrapped_fnc purple_xfer_get_filename_wrapped = NULL;
 
purple_xfer_get_size_wrapped_fnc purple_xfer_get_size_wrapped = NULL;
 
purple_xfer_unref_wrapped_fnc purple_xfer_unref_wrapped = NULL;
 
purple_xfer_ref_wrapped_fnc purple_xfer_ref_wrapped = NULL;
 
purple_xfers_set_ui_ops_wrapped_fnc purple_xfers_set_ui_ops_wrapped = NULL;
 
purple_xfers_get_handle_wrapped_fnc purple_xfers_get_handle_wrapped = NULL;
 
purple_roomlist_set_ui_ops_wrapped_fnc purple_roomlist_set_ui_ops_wrapped = NULL;
 
purple_roomlist_get_list_wrapped_fnc purple_roomlist_get_list_wrapped = NULL;
 
purple_imgstore_get_data_wrapped_fnc purple_imgstore_get_data_wrapped = NULL;
 
purple_imgstore_get_size_wrapped_fnc purple_imgstore_get_size_wrapped = NULL;
 
purple_imgstore_unref_wrapped_fnc purple_imgstore_unref_wrapped = NULL;
 
purple_notify_user_info_new_wrapped_fnc purple_notify_user_info_new_wrapped = NULL;
 
purple_notify_user_info_destroy_wrapped_fnc purple_notify_user_info_destroy_wrapped = NULL;
 
purple_notify_user_info_get_entries_wrapped_fnc purple_notify_user_info_get_entries_wrapped = NULL;
 
@@ -539,12 +541,20 @@ bool resolvePurpleFunctions() {
 
		return false;
 

	
 
	purple_xfers_get_handle_wrapped = (purple_xfers_get_handle_wrapped_fnc)GetProcAddress(f_hPurple, "purple_xfers_get_handle");
 
	if (!purple_xfers_get_handle_wrapped)
 
		return false;
 

	
 
	purple_roomlist_set_ui_ops_wrapped = (purple_roomlist_set_ui_ops_wrapped_fnc)GetProcAddress(f_hPurple, "purple_roomlist_set_ui_ops");
 
        if (!purple_roomlist_set_ui_ops_wrapped)
 
                return false;
 
	
 
	purple_roomlist_get_list_wrapped = (purple_roomlist_get_list_wrapped_fnc)GetProcAddress(f_hPurple, "purple_roomlist_get_list");
 
	if (!purple_roomlist_get_list_wrapped)
 
		return false;
 

	
 
	purple_imgstore_get_data_wrapped = (purple_imgstore_get_data_wrapped_fnc)GetProcAddress(f_hPurple, "purple_imgstore_get_data");
 
	if (!purple_imgstore_get_data_wrapped)
 
		return false;
 

	
 
	purple_imgstore_get_size_wrapped = (purple_imgstore_get_size_wrapped_fnc)GetProcAddress(f_hPurple, "purple_imgstore_get_size");
 
	if (!purple_imgstore_get_size_wrapped)
backends/libpurple/purple_defs.h
Show inline comments
 
@@ -311,12 +311,18 @@ extern purple_xfer_ref_wrapped_fnc purple_xfer_ref_wrapped;
 
typedef void  (_cdecl * purple_xfers_set_ui_ops_wrapped_fnc)(PurpleXferUiOps *ops);
 
extern purple_xfers_set_ui_ops_wrapped_fnc purple_xfers_set_ui_ops_wrapped;
 

	
 
typedef void * (_cdecl * purple_xfers_get_handle_wrapped_fnc)(void);
 
extern purple_xfers_get_handle_wrapped_fnc purple_xfers_get_handle_wrapped;
 

	
 
typedef void (_cdecl * purple_roomlist_set_ui_ops_wrapped_fnc)(PurpleRoomlistUiOps *ops);
 
extern purple_roomlist_set_ui_ops_wrapped_fnc purple_roomlist_set_ui_ops_wrapped;
 

	
 
typedef PurpleRoomlist * (_cdecl * purple_roomlist_get_list_wrapped_fnc)(PurpleConnection *con);
 
extern purple_roomlist_get_list_wrapped_fnc purple_roomlist_get_list_wrapped;
 

	
 
typedef gconstpointer  (_cdecl * purple_imgstore_get_data_wrapped_fnc)(PurpleStoredImage *img);
 
extern purple_imgstore_get_data_wrapped_fnc purple_imgstore_get_data_wrapped;
 

	
 
typedef size_t  (_cdecl * purple_imgstore_get_size_wrapped_fnc)(PurpleStoredImage *img);
 
extern purple_imgstore_get_size_wrapped_fnc purple_imgstore_get_size_wrapped;
 

	
 
@@ -557,12 +563,14 @@ extern wpurple_g_io_channel_win32_new_socket_wrapped_fnc wpurple_g_io_channel_wi
 
#define purple_xfer_get_filename_wrapped purple_xfer_get_filename
 
#define purple_xfer_get_size_wrapped purple_xfer_get_size
 
#define purple_xfer_unref_wrapped purple_xfer_unref
 
#define purple_xfer_ref_wrapped purple_xfer_ref
 
#define purple_xfers_set_ui_ops_wrapped purple_xfers_set_ui_ops
 
#define purple_xfers_get_handle_wrapped purple_xfers_get_handle
 
#define purple_roomlist_set_ui_ops_wrapped purple_roomlist_set_ui_ops
 
#define purple_roomlist_get_list_wrapped purple_roomlist_get_list
 
#define purple_imgstore_get_data_wrapped purple_imgstore_get_data
 
#define purple_imgstore_get_size_wrapped purple_imgstore_get_size
 
#define purple_imgstore_unref_wrapped purple_imgstore_unref
 
#define purple_notify_user_info_new_wrapped purple_notify_user_info_new
 
#define purple_notify_user_info_destroy_wrapped purple_notify_user_info_destroy
 
#define purple_notify_user_info_get_entries_wrapped purple_notify_user_info_get_entries
spectrum/src/frontends/xmpp/discoinforesponder.cpp
Show inline comments
 
@@ -150,12 +150,13 @@ bool DiscoInfoResponder::handleGetRequest(const Swift::JID& from, const Swift::J
 
		}
 
	}
 
	// disco#info for room
 
	else if (m_rooms.find(to.toBare().toString()) != m_rooms.end()) {
 
		boost::shared_ptr<DiscoInfo> res(new DiscoInfo());
 
		res->addIdentity(DiscoInfo::Identity(m_rooms[to.toBare().toString()], "conference", "text"));
 
		res->addFeature("http://jabber.org/protocol/muc");
 
		res->setNode(info->getNode());
 
		sendResponse(from, to, id, res);
 
	}
 
	// disco#info for buddy
 
	else {
 
		boost::shared_ptr<DiscoInfo> res(new DiscoInfo(*m_buddyInfo));
0 comments (0 inline, 0 general)