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 51 insertions and 0 deletions:
0 comments (0 inline, 0 general)
backends/libpurple/main.cpp
Show inline comments
 
@@ -1546,57 +1546,88 @@ static void XferNotSent(PurpleXfer *xfer, const guchar *buffer, gsize size) {
 
static gssize XferRead(PurpleXfer *xfer, guchar **buffer, gssize size) {
 
// 	FiletransferRepeater *repeater = (FiletransferRepeater *) xfer->ui_data;
 
// 	int data_size = repeater->getDataToSend(buffer, size);
 
// 	if (data_size == 0)
 
// 		return 0;
 
// 	
 
// 	return data_size;
 
	return 0;
 
}
 

	
 
static PurpleXferUiOps xferUiOps =
 
{
 
	XferCreated,
 
	XferDestroyed,
 
	NULL,
 
	NULL,
 
	xferCanceled,
 
	xferCanceled,
 
	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 *****/
 
static void
 
spectrum_glib_log_handler(const gchar *domain,
 
						  GLogLevelFlags flags,
 
						  const gchar *message,
 
						  gpointer user_data)
 
{
 
	const char *level;
 
	char *new_msg = NULL;
 
	char *new_domain = NULL;
 

	
 
	if ((flags & G_LOG_LEVEL_ERROR) == G_LOG_LEVEL_ERROR)
 
		level = "ERROR";
 
	else if ((flags & G_LOG_LEVEL_CRITICAL) == G_LOG_LEVEL_CRITICAL)
 
		level = "CRITICAL";
 
	else if ((flags & G_LOG_LEVEL_WARNING) == G_LOG_LEVEL_WARNING)
 
		level = "WARNING";
 
	else if ((flags & G_LOG_LEVEL_MESSAGE) == G_LOG_LEVEL_MESSAGE)
 
		level = "MESSAGE";
 
@@ -1651,48 +1682,49 @@ debug_init(void)
 
#undef REGISTER_G_LOD_HANDLER
 
}
 

	
 
static PurpleCoreUiOps coreUiOps =
 
{
 
	NULL,
 
	debug_init,
 
	transport_core_ui_init,
 
	NULL,
 
	spectrum_ui_get_info,
 
	NULL,
 
	NULL,
 
	NULL
 
};
 

	
 
static void signed_on(PurpleConnection *gc, gpointer unused) {
 
	PurpleAccount *account = purple_connection_get_account_wrapped(gc);
 
	np->handleConnected(np->m_accounts[account]);
 
#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("");
 
	std::string args(arg_s);
 
	args.erase(args.size() - 1);
 

	
 
	if (category) {
 
		c.append(category);
 
	}
 

	
 
	c.push_back(':');
 

	
 
	LOG4CXX_INFO(logger_libpurple, c << args);
 
}
 

	
 
/*
 
 * Ops....
 
 */
 
static PurpleDebugUiOps debugUiOps =
 
{
backends/libpurple/purple_defs.cpp
Show inline comments
 
@@ -79,48 +79,50 @@ purple_conversation_get_account_wrapped_fnc purple_conversation_get_account_wrap
 
purple_conversation_get_name_wrapped_fnc purple_conversation_get_name_wrapped = NULL;
 
purple_conversations_set_ui_ops_wrapped_fnc purple_conversations_set_ui_ops_wrapped = NULL;
 
purple_conversations_get_handle_wrapped_fnc purple_conversations_get_handle_wrapped = NULL;
 
purple_core_set_ui_ops_wrapped_fnc purple_core_set_ui_ops_wrapped = NULL;
 
purple_core_init_wrapped_fnc purple_core_init_wrapped = NULL;
 
purple_debug_set_ui_ops_wrapped_fnc purple_debug_set_ui_ops_wrapped = NULL;
 
purple_debug_set_verbose_wrapped_fnc purple_debug_set_verbose_wrapped = NULL;
 
purple_dnsquery_set_ui_ops_wrapped_fnc purple_dnsquery_set_ui_ops_wrapped = NULL;
 
purple_timeout_remove_wrapped_fnc purple_timeout_remove_wrapped = NULL;
 
purple_input_add_wrapped_fnc purple_input_add_wrapped = NULL;
 
purple_timeout_add_wrapped_fnc purple_timeout_add_wrapped = NULL;
 
purple_timeout_add_seconds_wrapped_fnc purple_timeout_add_seconds_wrapped = NULL;
 
purple_eventloop_set_ui_ops_wrapped_fnc purple_eventloop_set_ui_ops_wrapped = NULL;
 
purple_input_remove_wrapped_fnc purple_input_remove_wrapped = NULL;
 
purple_xfer_ui_ready_wrapped_fnc purple_xfer_ui_ready_wrapped = NULL;
 
purple_xfer_request_accepted_wrapped_fnc purple_xfer_request_accepted_wrapped = NULL;
 
purple_xfer_request_denied_wrapped_fnc purple_xfer_request_denied_wrapped = NULL;
 
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;
 
purple_notify_user_info_entry_get_label_wrapped_fnc purple_notify_user_info_entry_get_label_wrapped = NULL;
 
purple_notify_user_info_entry_get_value_wrapped_fnc purple_notify_user_info_entry_get_value_wrapped = NULL;
 
purple_notify_set_ui_ops_wrapped_fnc purple_notify_set_ui_ops_wrapped = NULL;
 
purple_plugins_add_search_path_wrapped_fnc purple_plugins_add_search_path_wrapped = NULL;
 
purple_plugin_action_free_wrapped_fnc purple_plugin_action_free_wrapped = NULL;
 
purple_prefs_load_wrapped_fnc purple_prefs_load_wrapped = NULL;
 
purple_prefs_set_bool_wrapped_fnc purple_prefs_set_bool_wrapped = NULL;
 
purple_prefs_set_string_wrapped_fnc purple_prefs_set_string_wrapped = NULL;
 
purple_privacy_deny_wrapped_fnc purple_privacy_deny_wrapped = NULL;
 
purple_privacy_allow_wrapped_fnc purple_privacy_allow_wrapped = NULL;
 
purple_privacy_check_wrapped_fnc purple_privacy_check_wrapped = NULL;
 
purple_proxy_info_new_wrapped_fnc purple_proxy_info_new_wrapped = NULL;
 
purple_proxy_info_set_type_wrapped_fnc purple_proxy_info_set_type_wrapped = NULL;
 
purple_proxy_info_set_host_wrapped_fnc purple_proxy_info_set_host_wrapped = NULL;
 
purple_proxy_info_set_port_wrapped_fnc purple_proxy_info_set_port_wrapped = NULL;
 
purple_proxy_info_set_username_wrapped_fnc purple_proxy_info_set_username_wrapped = NULL;
 
purple_proxy_info_set_password_wrapped_fnc purple_proxy_info_set_password_wrapped = NULL;
 
purple_find_prpl_wrapped_fnc purple_find_prpl_wrapped = NULL;
 
@@ -521,48 +523,56 @@ bool resolvePurpleFunctions() {
 
	purple_xfer_get_filename_wrapped = (purple_xfer_get_filename_wrapped_fnc)GetProcAddress(f_hPurple, "purple_xfer_get_filename");
 
	if (!purple_xfer_get_filename_wrapped)
 
		return false;
 

	
 
	purple_xfer_get_size_wrapped = (purple_xfer_get_size_wrapped_fnc)GetProcAddress(f_hPurple, "purple_xfer_get_size");
 
	if (!purple_xfer_get_size_wrapped)
 
		return false;
 

	
 
	purple_xfer_unref_wrapped = (purple_xfer_unref_wrapped_fnc)GetProcAddress(f_hPurple, "purple_xfer_unref");
 
	if (!purple_xfer_unref_wrapped)
 
		return false;
 

	
 
	purple_xfer_ref_wrapped = (purple_xfer_ref_wrapped_fnc)GetProcAddress(f_hPurple, "purple_xfer_ref");
 
	if (!purple_xfer_ref_wrapped)
 
		return false;
 

	
 
	purple_xfers_set_ui_ops_wrapped = (purple_xfers_set_ui_ops_wrapped_fnc)GetProcAddress(f_hPurple, "purple_xfers_set_ui_ops");
 
	if (!purple_xfers_set_ui_ops_wrapped)
 
		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)
 
		return false;
 

	
 
	purple_imgstore_unref_wrapped = (purple_imgstore_unref_wrapped_fnc)GetProcAddress(f_hPurple, "purple_imgstore_unref");
 
	if (!purple_imgstore_unref_wrapped)
 
		return false;
 

	
 
	purple_notify_user_info_new_wrapped = (purple_notify_user_info_new_wrapped_fnc)GetProcAddress(f_hPurple, "purple_notify_user_info_new");
 
	if (!purple_notify_user_info_new_wrapped)
 
		return false;
 

	
 
	purple_notify_user_info_destroy_wrapped = (purple_notify_user_info_destroy_wrapped_fnc)GetProcAddress(f_hPurple, "purple_notify_user_info_destroy");
 
	if (!purple_notify_user_info_destroy_wrapped)
 
		return false;
 

	
 
	purple_notify_user_info_get_entries_wrapped = (purple_notify_user_info_get_entries_wrapped_fnc)GetProcAddress(f_hPurple, "purple_notify_user_info_get_entries");
 
	if (!purple_notify_user_info_get_entries_wrapped)
 
		return false;
 

	
backends/libpurple/purple_defs.h
Show inline comments
 
@@ -293,48 +293,54 @@ extern purple_xfer_request_accepted_wrapped_fnc purple_xfer_request_accepted_wra
 
typedef void  (_cdecl * purple_xfer_request_denied_wrapped_fnc)(PurpleXfer *xfer);
 
extern purple_xfer_request_denied_wrapped_fnc purple_xfer_request_denied_wrapped;
 

	
 
typedef PurpleAccount * (_cdecl * purple_xfer_get_account_wrapped_fnc)(const PurpleXfer *xfer);
 
extern purple_xfer_get_account_wrapped_fnc purple_xfer_get_account_wrapped;
 

	
 
typedef const char * (_cdecl * purple_xfer_get_filename_wrapped_fnc)(const PurpleXfer *xfer);
 
extern purple_xfer_get_filename_wrapped_fnc purple_xfer_get_filename_wrapped;
 

	
 
typedef size_t  (_cdecl * purple_xfer_get_size_wrapped_fnc)(const PurpleXfer *xfer);
 
extern purple_xfer_get_size_wrapped_fnc purple_xfer_get_size_wrapped;
 

	
 
typedef void  (_cdecl * purple_xfer_unref_wrapped_fnc)(PurpleXfer *xfer);
 
extern purple_xfer_unref_wrapped_fnc purple_xfer_unref_wrapped;
 

	
 
typedef void  (_cdecl * purple_xfer_ref_wrapped_fnc)(PurpleXfer *xfer);
 
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;
 

	
 
typedef PurpleStoredImage * (_cdecl * purple_imgstore_unref_wrapped_fnc)(PurpleStoredImage *img);
 
extern purple_imgstore_unref_wrapped_fnc purple_imgstore_unref_wrapped;
 

	
 
typedef PurpleNotifyUserInfo * (_cdecl * purple_notify_user_info_new_wrapped_fnc)(void);
 
extern purple_notify_user_info_new_wrapped_fnc purple_notify_user_info_new_wrapped;
 

	
 
typedef void  (_cdecl * purple_notify_user_info_destroy_wrapped_fnc)(PurpleNotifyUserInfo *user_info);
 
extern purple_notify_user_info_destroy_wrapped_fnc purple_notify_user_info_destroy_wrapped;
 

	
 
typedef GList * (_cdecl * purple_notify_user_info_get_entries_wrapped_fnc)(PurpleNotifyUserInfo *user_info);
 
extern purple_notify_user_info_get_entries_wrapped_fnc purple_notify_user_info_get_entries_wrapped;
 

	
 
typedef const gchar * (_cdecl * purple_notify_user_info_entry_get_label_wrapped_fnc)(PurpleNotifyUserInfoEntry *user_info_entry);
 
extern purple_notify_user_info_entry_get_label_wrapped_fnc purple_notify_user_info_entry_get_label_wrapped;
 

	
 
typedef const gchar * (_cdecl * purple_notify_user_info_entry_get_value_wrapped_fnc)(PurpleNotifyUserInfoEntry *user_info_entry);
 
extern purple_notify_user_info_entry_get_value_wrapped_fnc purple_notify_user_info_entry_get_value_wrapped;
 

	
 
@@ -539,48 +545,50 @@ extern wpurple_g_io_channel_win32_new_socket_wrapped_fnc wpurple_g_io_channel_wi
 
#define purple_conversation_get_name_wrapped purple_conversation_get_name
 
#define purple_conversations_set_ui_ops_wrapped purple_conversations_set_ui_ops
 
#define purple_conversations_get_handle_wrapped purple_conversations_get_handle
 
#define purple_core_set_ui_ops_wrapped purple_core_set_ui_ops
 
#define purple_core_init_wrapped purple_core_init
 
#define purple_debug_set_ui_ops_wrapped purple_debug_set_ui_ops
 
#define purple_debug_set_verbose_wrapped purple_debug_set_verbose
 
#define purple_dnsquery_set_ui_ops_wrapped purple_dnsquery_set_ui_ops
 
#define purple_timeout_remove_wrapped purple_timeout_remove
 
#define purple_input_add_wrapped purple_input_add
 
#define purple_timeout_add_wrapped purple_timeout_add
 
#define purple_timeout_add_seconds_wrapped purple_timeout_add_seconds
 
#define purple_eventloop_set_ui_ops_wrapped purple_eventloop_set_ui_ops
 
#define purple_input_remove_wrapped purple_input_remove
 
#define purple_xfer_ui_ready_wrapped purple_xfer_ui_ready
 
#define purple_xfer_request_accepted_wrapped purple_xfer_request_accepted
 
#define purple_xfer_request_denied_wrapped purple_xfer_request_denied
 
#define purple_xfer_get_account_wrapped purple_xfer_get_account
 
#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
 
#define purple_notify_user_info_entry_get_label_wrapped purple_notify_user_info_entry_get_label
 
#define purple_notify_user_info_entry_get_value_wrapped purple_notify_user_info_entry_get_value
 
#define purple_notify_set_ui_ops_wrapped purple_notify_set_ui_ops
 
#define purple_plugins_add_search_path_wrapped purple_plugins_add_search_path
 
#define purple_plugin_action_free_wrapped purple_plugin_action_free
 
#define purple_prefs_load_wrapped purple_prefs_load
 
#define purple_prefs_set_bool_wrapped purple_prefs_set_bool
 
#define purple_prefs_set_string_wrapped purple_prefs_set_string
 
#define purple_privacy_deny_wrapped purple_privacy_deny
 
#define purple_privacy_allow_wrapped purple_privacy_allow
 
#define purple_privacy_check_wrapped purple_privacy_check
 
#define purple_proxy_info_new_wrapped purple_proxy_info_new
 
#define purple_proxy_info_set_type_wrapped purple_proxy_info_set_type
 
#define purple_proxy_info_set_host_wrapped purple_proxy_info_set_host
 
#define purple_proxy_info_set_port_wrapped purple_proxy_info_set_port
 
#define purple_proxy_info_set_username_wrapped purple_proxy_info_set_username
 
#define purple_proxy_info_set_password_wrapped purple_proxy_info_set_password
 
#define purple_find_prpl_wrapped purple_find_prpl
spectrum/src/frontends/xmpp/discoinforesponder.cpp
Show inline comments
 
@@ -132,37 +132,38 @@ bool DiscoInfoResponder::handleGetRequest(const Swift::JID& from, const Swift::J
 
			res->setNode(info->getNode());
 
			sendResponse(from, to, id, res);
 
		}
 
		else if (info->getNode() == "http://jabber.org/protocol/commands") {
 
			boost::shared_ptr<DiscoInfo> res(new DiscoInfo());
 
			res->addIdentity(DiscoInfo::Identity("Commands", "automation", "command-list"));
 
			res->setNode(info->getNode());
 
			sendResponse(from, to, id, res);
 
		}
 
		else {
 
			if (!info->getNode().empty()) {
 
				sendError(from, id, ErrorPayload::ItemNotFound, ErrorPayload::Cancel);
 
				return true;
 
			}
 

	
 
			boost::shared_ptr<DiscoInfo> res(new DiscoInfo(m_transportInfo));
 
			res->setNode(info->getNode());
 
			sendResponse(from, id, res);
 
		}
 
	}
 
	// 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));
 
		res->setNode(info->getNode());
 
		sendResponse(from, to, id, res);
 
	}
 
	return true;
 
}
 

	
 
}
0 comments (0 inline, 0 general)