00001 /****************************************************************************** 00002 STDR Simulator - Simple Two DImensional Robot Simulator 00003 Copyright (C) 2013 STDR Simulator 00004 This program is free software; you can redistribute it and/or modify 00005 it under the terms of the GNU General Public License as published by 00006 the Free Software Foundation; either version 3 of the License, or 00007 (at your option) any later version. 00008 This program is distributed in the hope that it will be useful, 00009 but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00011 GNU General Public License for more details. 00012 You should have received a copy of the GNU General Public License 00013 along with this program; if not, write to the Free Software Foundation, 00014 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00015 00016 Authors : 00017 * Manos Tsardoulias, etsardou@gmail.com 00018 * Aris Thallas, aris.thallas@gmail.com 00019 * Chris Zalidis, zalidis@gmail.com 00020 ******************************************************************************/ 00021 00022 #ifndef STDR_PARSER_NODE 00023 #define STDR_PARSER_NODE 00024 00025 #include "stdr_parser/stdr_parser_specs.h" 00026 00031 namespace stdr_parser 00032 { 00037 class Node 00038 { 00039 private: 00040 00045 void unallocateChildren(void); 00046 00047 public: 00048 00053 Node(void); 00054 00059 ~Node(void); 00060 00065 bool checkForFilename(std::string base); 00066 00072 std::vector<int> getTag(std::string tag); 00073 00078 void increasePriority(void); 00079 00081 int priority; 00082 00084 std::string tag; 00086 std::string value; 00087 00089 std::vector<Node*> elements; 00090 00092 std::string file_origin; 00093 00095 int file_row; 00096 00103 void printParsedXml(Node *n,std::string indent); 00104 00105 }; 00106 00107 } 00108 #endif