// Funciones de carga del XML
bool is_xml_loaded;
- void loadXML(const std::string &s);
+ void loadXML();
void loadBomba(xmlNodePtr nodo);
void loadCodo(xmlNodePtr nodo);
void loadConduct(xmlNodePtr nodo);
void loadUnion(xmlNodePtr nodo);
void loadDrain(xmlNodePtr nodo);
+ Glib::Dispatcher load_xml_dispatch;
+ std::string xml_body;
+
// Archivo XML del Padre
Glib::RefPtr<Gnome::Glade::Xml> refXml;
conexion = NULL;
is_xml_loaded = false;
+
+ load_xml_dispatch.connect( SigC::slot(*this, &Principal::loadXML ) );
}
Principal::~Principal()
conexion = NULL;
}
+#include <gdk/gdk.h>
+
void Principal::on_conexion_ok(const std::string &body)
{
/* lo paso a la carga del XML */
/* verifico que body este completo */
if ((body.find("</planta>")>0) && (body.find("<planta>")>0)) {
- loadXML(body);
+ //loadXML(body);
+ xml_body = body;
+ load_xml_dispatch();
} else {
txt_view->get_buffer()->insert_at_cursor("<IN>\n");
txt_view->get_buffer()->insert_at_cursor(Glib::locale_to_utf8(body));
}
-void Principal::loadXML(const std::string &s)
+void Principal::loadXML()
{
// ya lo cargue
if (is_xml_loaded) return;
/* Parseo de ejemplo de un XML desde archivo */
xmlDocPtr document;
- std::cout << s.c_str() << std::endl;
- document = xmlParseMemory(s.c_str(),s.size());
+ document = xmlParseMemory(xml_body.c_str(),xml_body.size());
if (document == NULL) {
std::cout << "EEERRRRRRROOOOOOOOOO" << std::endl;
return;
}
}
- sleep(2);
items = items->next;
}
}