您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ xmlnode_get_attrib函数代码示例

51自学网 2021-06-03 11:48:08
  C++
这篇教程C++ xmlnode_get_attrib函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中xmlnode_get_attrib函数的典型用法代码示例。如果您正苦于以下问题:C++ xmlnode_get_attrib函数的具体用法?C++ xmlnode_get_attrib怎么用?C++ xmlnode_get_attrib使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了xmlnode_get_attrib函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: xmlnode_get_child

static gfire_game_configuration *gfire_game_configuration_create_from_xml(xmlnode *p_node){	xmlnode *command_node = xmlnode_get_child(p_node, "command");	if(!command_node)		return NULL;	gfire_game_configuration *ret = g_malloc0(sizeof(gfire_game_configuration));	if(xmlnode_get_attrib(p_node, "id"))		sscanf(xmlnode_get_attrib(p_node, "id"), "%u", &ret->game_id);	xmlnode *cur_node = xmlnode_get_child(command_node, "detect");	if(cur_node)		ret->detect_file = xmlnode_get_data_unescaped(cur_node);	cur_node = xmlnode_get_child(command_node, "launch");	if(cur_node)		ret->launch_file = xmlnode_get_data_unescaped(cur_node);	cur_node = xmlnode_get_child(command_node, "prefix");	if(cur_node)		ret->launch_prefix = xmlnode_get_data_unescaped(cur_node);	return ret;}
开发者ID:wosigh,项目名称:messaging-plugins,代码行数:25,


示例2: base_to_deliver

result base_to_deliver(instance id, dpacket p, void *arg){	char *log_data = xmlnode_get_data(p->x);	char *subject;	xmlnode message;	if (log_data == NULL)		return r_ERR;	message = xmlnode_new_tag("message");	xmlnode_insert_cdata(xmlnode_insert_tag(message, "body"), log_data,			     -1);	subject =	    spools(xmlnode_pool(message), "Log Packet from ",		   xmlnode_get_attrib(p->x, "from"),		   xmlnode_pool(message));	xmlnode_insert_cdata(xmlnode_insert_tag(message, "thread"),			     shahash(subject), -1);	xmlnode_insert_cdata(xmlnode_insert_tag(message, "subject"),			     subject, -1);	xmlnode_put_attrib(message, "from",			   xmlnode_get_attrib(p->x, "from"));	xmlnode_put_attrib(message, "to", (char *) arg);	deliver(dpacket_new(message), id);	pool_free(p->p);	return r_DONE;}
开发者ID:smokku,项目名称:wpjabber,代码行数:30,


示例3: jabber_iq_last_parse

static void jabber_iq_last_parse(JabberStream *js, xmlnode *packet){	JabberIq *iq;	const char *type;	const char *from;	const char *id;	xmlnode *query;	char *idle_time;	type = xmlnode_get_attrib(packet, "type");	from = xmlnode_get_attrib(packet, "from");	id = xmlnode_get_attrib(packet, "id");	if(type && !strcmp(type, "get")) {		iq = jabber_iq_new_query(js, JABBER_IQ_RESULT, "jabber:iq:last");		jabber_iq_set_id(iq, id);		xmlnode_set_attrib(iq->node, "to", from);		query = xmlnode_get_child(iq->node, "query");		idle_time = g_strdup_printf("%ld", js->idle ? time(NULL) - js->idle : 0);		xmlnode_set_attrib(query, "seconds", idle_time);		g_free(idle_time);		jabber_iq_send(iq);	}}
开发者ID:bf4,项目名称:pidgin-mac,代码行数:27,


示例4: jabber_google_session_parse

voidjabber_google_session_parse(JabberStream *js, const char *from,                            JabberIqType type, const char *iq_id,                            xmlnode *session_node){	GoogleSession *session = NULL;	GoogleSessionId id;	xmlnode *desc_node;	GList *iter = NULL;	if (type != JABBER_IQ_SET)		return;	id.id = (gchar*)xmlnode_get_attrib(session_node, "id");	if (!id.id)		return;	id.initiator = (gchar*)xmlnode_get_attrib(session_node, "initiator");	if (!id.initiator)		return;	iter = purple_media_manager_get_media_by_account(			purple_media_manager_get(),			purple_connection_get_account(js->gc));	for (; iter; iter = g_list_delete_link(iter, iter)) {		GoogleSession *gsession =				purple_media_get_prpl_data(iter->data);		if (google_session_id_equal(&(gsession->id), &id)) {			session = gsession;			break;		}	}	if (iter != NULL) {		g_list_free(iter);	}	if (session) {		google_session_parse_iq(js, session, session_node, iq_id);		return;	}	/* If the session doesn't exist, this has to be an initiate message */	if (strcmp(xmlnode_get_attrib(session_node, "type"), "initiate"))		return;	desc_node = xmlnode_get_child(session_node, "description");	if (!desc_node)		return;	session = g_new0(GoogleSession, 1);	session->id.id = g_strdup(id.id);	session->id.initiator = g_strdup(id.initiator);	session->state = UNINIT;	session->js = js;	session->remote_jid = g_strdup(session->id.initiator);	session->session_data = g_new0(GoogleAVSessionData, 1);	google_session_handle_initiate(js, session, session_node, iq_id);}
开发者ID:wosigh,项目名称:messaging-plugins,代码行数:59,


示例5: jabber_iq_version_parse

static void jabber_iq_version_parse(JabberStream *js, xmlnode *packet){	JabberIq *iq;	const char *type, *from, *id;	xmlnode *query;	type = xmlnode_get_attrib(packet, "type");	if(type && !strcmp(type, "get")) {		GHashTable *ui_info;		const char *ui_name = NULL, *ui_version = NULL;#if 0		char *os = NULL;		if(!purple_prefs_get_bool("/plugins/prpl/jabber/hide_os")) {			struct utsname osinfo;			uname(&osinfo);			os = g_strdup_printf("%s %s %s", osinfo.sysname, osinfo.release,					osinfo.machine);		}#endif		from = xmlnode_get_attrib(packet, "from");		id = xmlnode_get_attrib(packet, "id");		iq = jabber_iq_new_query(js, JABBER_IQ_RESULT, "jabber:iq:version");		xmlnode_set_attrib(iq->node, "to", from);		jabber_iq_set_id(iq, id);		query = xmlnode_get_child(iq->node, "query");		ui_info = purple_core_get_ui_info();		if(NULL != ui_info) {			ui_name = g_hash_table_lookup(ui_info, "name");			ui_version = g_hash_table_lookup(ui_info, "version");		}		if(NULL != ui_name && NULL != ui_version) {			char *version_complete = g_strdup_printf("%s (libpurple " VERSION ")", ui_version);			xmlnode_insert_data(xmlnode_new_child(query, "name"), ui_name, -1);			xmlnode_insert_data(xmlnode_new_child(query, "version"), version_complete, -1);			g_free(version_complete);		} else {			xmlnode_insert_data(xmlnode_new_child(query, "name"), "libpurple", -1);			xmlnode_insert_data(xmlnode_new_child(query, "version"), VERSION, -1);		}#if 0		if(os) {			xmlnode_insert_data(xmlnode_new_child(query, "os"), os, -1);			g_free(os);		}#endif		jabber_iq_send(iq);	}}
开发者ID:bf4,项目名称:pidgin-mac,代码行数:57,


示例6: jutil_tofrom

void jutil_tofrom(xmlnode x){    char *to, *from;    to = xmlnode_get_attrib(x,"to");    from = xmlnode_get_attrib(x,"from");    xmlnode_put_attrib(x,"from",to);    xmlnode_put_attrib(x,"to",from);}
开发者ID:GunioRobot,项目名称:jab_simul,代码行数:9,


示例7: jabber_chat_room_configure_cb

static void jabber_chat_room_configure_cb(JabberStream *js, xmlnode *packet, gpointer data){	xmlnode *query, *x;	const char *type = xmlnode_get_attrib(packet, "type");	const char *from = xmlnode_get_attrib(packet, "from");	char *msg;	JabberChat *chat;	JabberID *jid;	if(!type || !from)		return;	if(!strcmp(type, "result")) {		jid = jabber_id_new(from);		if(!jid)			return;		chat = jabber_chat_find(js, jid->node, jid->domain);		jabber_id_free(jid);		if(!chat)			return;		if(!(query = xmlnode_get_child(packet, "query")))			return;		for(x = xmlnode_get_child(query, "x"); x; x = xmlnode_get_next_twin(x)) {			const char *xmlns;			if(!(xmlns = xmlnode_get_namespace(x)))				continue;			if(!strcmp(xmlns, "jabber:x:data")) {				chat->config_dialog_type = PURPLE_REQUEST_FIELDS;				chat->config_dialog_handle = jabber_x_data_request(js, x, jabber_chat_room_configure_x_data_cb, chat);				return;			}		}	} else if(!strcmp(type, "error")) {		char *msg = jabber_parse_error(js, packet);		purple_notify_error(js->gc, _("Configuration error"), _("Configuration error"), msg);		if(msg)			g_free(msg);		return;	}	msg = g_strdup_printf("Unable to configure room %s", from);	purple_notify_info(js->gc, _("Unable to configure"), _("Unable to configure"), msg);	g_free(msg);}
开发者ID:arminius2,项目名称:apolloim,代码行数:56,


示例8: roomlist_disco_result_cb

static void roomlist_disco_result_cb(JabberStream *js, const char *from,                                     JabberIqType type, const char *id,                                     xmlnode *packet, gpointer data){	xmlnode *query;	xmlnode *item;	if(!js->roomlist)		return;	if (type == JABBER_IQ_ERROR) {		char *err = jabber_parse_error(js, packet, NULL);		purple_notify_error(js->gc, _("Error"),				_("Error retrieving room list"), err);		purple_roomlist_set_in_progress(js->roomlist, FALSE);		purple_roomlist_unref(js->roomlist);		js->roomlist = NULL;		g_free(err);		return;	}	if(!(query = xmlnode_get_child(packet, "query"))) {		char *err = jabber_parse_error(js, packet, NULL);		purple_notify_error(js->gc, _("Error"),				_("Error retrieving room list"), err);		purple_roomlist_set_in_progress(js->roomlist, FALSE);		purple_roomlist_unref(js->roomlist);		js->roomlist = NULL;		g_free(err);		return;	}	for(item = xmlnode_get_child(query, "item"); item;			item = xmlnode_get_next_twin(item)) {		const char *name;		PurpleRoomlistRoom *room;		JabberID *jid;		if(!(jid = jabber_id_new(xmlnode_get_attrib(item, "jid"))))			continue;		name = xmlnode_get_attrib(item, "name");		room = purple_roomlist_room_new(PURPLE_ROOMLIST_ROOMTYPE_ROOM, jid->node, NULL);		purple_roomlist_room_add_field(js->roomlist, room, jid->node);		purple_roomlist_room_add_field(js->roomlist, room, jid->domain);		purple_roomlist_room_add_field(js->roomlist, room, name ? name : "");		purple_roomlist_room_add(js->roomlist, room);		jabber_id_free(jid);	}	purple_roomlist_set_in_progress(js->roomlist, FALSE);	purple_roomlist_unref(js->roomlist);	js->roomlist = NULL;}
开发者ID:Mons,项目名称:libpurple-mini,代码行数:55,


示例9: gfire_game_load_config_xml

gboolean gfire_game_load_config_xml(gboolean p_force){	if(!p_force && gfire_games_config)		return TRUE;	xmlnode *node = NULL;	gchar *filename = g_build_filename(purple_user_dir(), "gfire_game_config.xml", NULL);	if(filename)	{		purple_debug(PURPLE_DEBUG_INFO, "gfire", "Loading Game Launch Data from: %s/n", filename);		g_free(filename);	}	node = purple_util_read_xml_from_file("gfire_game_config.xml", "Gfire Game Config List");	if(!node)	{		purple_debug(PURPLE_DEBUG_ERROR, "gfire", "gfire_game_load_config_xml: Couldn't load game config./n");		return FALSE;	}	// Check for a valid game config	if(g_utf8_collate(node->name, "game_config"))	{		xmlnode_free(node);		return FALSE;	}	// Check for a valid version	if(!xmlnode_get_attrib(node, "version") || g_utf8_collate(xmlnode_get_attrib(node, "version"), "2"))	{		xmlnode_free(node);		return FALSE;	}	// Delete all old configurations	gfire_game_config_cleanup();	// Parse all games	xmlnode *game_node = xmlnode_get_child(node, "game");	while(game_node)	{		gfire_game_configuration *gconf = gfire_game_configuration_create_from_xml(game_node);		if(gconf)			gfire_games_config = g_list_append(gfire_games_config, gconf);		game_node = xmlnode_get_next_twin(game_node);	}	gfire_game_config_sort();	xmlnode_free(node);	return TRUE;}
开发者ID:wosigh,项目名称:messaging-plugins,代码行数:55,


示例10: roomlist_disco_result_cb

static void roomlist_disco_result_cb(JabberStream *js, xmlnode *packet, gpointer data){	xmlnode *query;	xmlnode *item;	const char *type;	if(!js->roomlist)		return;	if(!(type = xmlnode_get_attrib(packet, "type")) || strcmp(type, "result")) {		char *err = jabber_parse_error(js,packet);		gaim_notify_error(js->gc, _("Error"),				_("Error retrieving room list"), err);		gaim_roomlist_set_in_progress(js->roomlist, FALSE);		gaim_roomlist_unref(js->roomlist);		js->roomlist = NULL;		g_free(err);		return;	}	if(!(query = xmlnode_get_child(packet, "query"))) {		char *err = jabber_parse_error(js, packet);		gaim_notify_error(js->gc, _("Error"),				_("Error retrieving room list"), err);		gaim_roomlist_set_in_progress(js->roomlist, FALSE);		gaim_roomlist_unref(js->roomlist);		js->roomlist = NULL;		g_free(err);		return;	}	for(item = xmlnode_get_child(query, "item"); item;			item = xmlnode_get_next_twin(item)) {		const char *name;		GaimRoomlistRoom *room;		JabberID *jid;		if(!(jid = jabber_id_new(xmlnode_get_attrib(item, "jid"))))			continue;		name = xmlnode_get_attrib(item, "name");		room = gaim_roomlist_room_new(GAIM_ROOMLIST_ROOMTYPE_ROOM, jid->node, NULL);		gaim_roomlist_room_add_field(js->roomlist, room, jid->node);		gaim_roomlist_room_add_field(js->roomlist, room, jid->domain);		gaim_roomlist_room_add_field(js->roomlist, room, name ? name : "");		gaim_roomlist_room_add(js->roomlist, room);		jabber_id_free(jid);	}	gaim_roomlist_set_in_progress(js->roomlist, FALSE);	gaim_roomlist_unref(js->roomlist);	js->roomlist = NULL;}
开发者ID:VoxOx,项目名称:VoxOx,代码行数:54,


示例11: jingle_parse

voidjingle_parse(JabberStream *js, const char *from, JabberIqType type,             const char *id, xmlnode *jingle){	const gchar *action;	const gchar *sid;	JingleActionType action_type;	JingleSession *session;	if (type != JABBER_IQ_SET) {		/* TODO: send iq error here */		return;	}	if (!(action = xmlnode_get_attrib(jingle, "action"))) {		/* TODO: send iq error here */		return;	}	action_type = jingle_get_action_type(action);	purple_debug_info("jabber", "got Jingle package action = %s/n",			  action);	if (!(sid = xmlnode_get_attrib(jingle, "sid"))) {		/* send iq error here */		return;	}	if (!(session = jingle_session_find_by_sid(js, sid))			&& strcmp(action, "session-initiate")) {		purple_debug_error("jingle", "jabber_jingle_session_parse couldn't find session/n");		/* send iq error here */		return;	}	if (action_type == JINGLE_SESSION_INITIATE) {		if (session) {			/* This should only happen if you start a session with yourself */			purple_debug_error("jingle", "Jingle session with "					"id={%s} already exists/n", sid);			/* send iq error */			return;		} else {			char *own_jid = g_strdup_printf("%[email
C++ xmlnode_get_child函数代码示例
C++ xmlnode_free函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。