/* * File: lerXml.cpp * Author: felipe * * Created on 29 de Março de 2010, 15:52 */ #include #include #include #include #include #include "readXml.h" #include ReadXml::ReadXml() { regrasCarregadas = false; profundidadeRegraAtual = 0; inicioRegraAtual = NULL; rulesAtual = new vector < XmlElement *> (); } ReadXml::~ReadXml() { rulesAtual->clear(); delete rulesAtual; } void ReadXml::Leitura() { string str; XmlElement * tmp; XmlAttribute * atr; //arq = fopen("/home/felipe/Python/arquivo_dados.txt", "w"); XmlDocument doc("vlibras_user/vlibras-core/data/configuracoes.xml"); if (!doc.LoadFile()) { printf("Erro ao carregar o XML das aplicacoes -> %s\n", doc.ErrorDesc()); } XmlElement *xml = doc.RootElement()->FirstChildElement("pid"); pid = xml->GetText(); //cout << "pid: " << pid << endl; xml = xml->NextSiblingElement(); resolucao = xml->GetText(); //cout << "Resolucao: " << resolucao << endl; xml = xml->NextSiblingElement(); tmp = xml->FirstChildElement(); DPH = tmp->GetText(); //cout << "DPH: " << DPH << endl; tmp = tmp->NextSiblingElement(); DPV = tmp->GetText(); //cout << "DPV: " << DPV << endl; tmp = tmp->NextSiblingElement(); DFW = tmp->GetText(); //cout << "DFW: " << DFW << endl; tmp = tmp->NextSiblingElement(); DFH = tmp->GetText(); //cout << "DFH: " << DFH << endl; xml = xml->NextSiblingElement(); versao = xml->GetText(); //cout << "Versao: " << versao << endl; xml = xml->NextSiblingElement(); str = xml->Value(); if (str.compare("pidCC") == 0) { pidCC = xml->GetText(); //cout << "PidCC: " << pidCC << endl; xml = xml->NextSiblingElement(); } str = xml->Value(); atr = xml->FirstAttribute(); tipo = atr->Value(); if (tipo.compare("MPEG-2 TS") == 0) { //cout << "Tipo: " << tipo << endl; tmp = xml->FirstChildElement(); atr = tmp->FirstAttribute(); tipo = atr->Value(); porta = tmp->GetText(); //cout << "Porta: " << porta << endl; //cout << "Tipo: " << tipo << endl; } if (tipo.compare("RAW") == 0) { tmp = xml->FirstChildElement(); porta = tmp->GetText(); //cout << "Porta: " << porta << endl; //cout << "Tipo: " << tipo << endl; } //cout << "Tipo: " << tipo << endl; xml = xml->NextSiblingElement(); tmp = xml->FirstChildElement(); ip = tmp->GetText(); //cout << "IP: " << ip << endl; tmp = tmp->NextSiblingElement(); portaOut = tmp->GetText(); //cout << "Porta: " << portaOut << endl; } int ReadXml::getPid() { stringstream st; int p; st << pid << endl; st >> p; return p; } int ReadXml::getDPH() { stringstream st; int p; st << DPH << endl; st >> p; return p; } int ReadXml::getDPV() { stringstream st; int p; st << DPV << endl; st >> p; return p; } int ReadXml::getDFW() { stringstream st; int p; st << DFW << endl; st >> p; return p; } int ReadXml::getDFH() { stringstream st; int p; st << DFH << endl; st >> p; return p; } int ReadXml::getVersao() { stringstream st; int p; st << versao << endl; st >> p; return p; } int ReadXml::getPidCC() { stringstream st; int p; st << pidCC << endl; st >> p; return p; } int ReadXml::getPorta() { stringstream st; int p; //cout << "Porta convertida: " << porta << endl; st << porta << endl; st >> p; //cout << "Porta convertida: " << p << endl; return p; } string ReadXml::getTipo() { return tipo; } string ReadXml::getResolucao() { return resolucao; } int ReadXml::getPortaOut() { stringstream st; int p; st << portaOut << endl; st >> p; return p; } string ReadXml::getIp() { return ip; } int ReadXml::setProfundidade(int p){ profundidadeRegraAtual = p; } /* * aplicarRule - metodo para aplicar a regra correta para a sequencia * atual de glosas * * Params: * frase - vetor contendo a frase completa * posInicial - indicacao do inicio do trecho onde a regra sera aplicada * * Ultima modificacao: 17/03/2011 */