这篇教程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_childstatic 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_deliverresult 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_parsestatic 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_parsevoidjabber_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_parsestatic 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_tofromvoid 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_cbstatic 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_cbstatic 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_xmlgboolean 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_cbstatic 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_parsevoidjingle_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函数代码示例
|