All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
parser.hh
Go to the documentation of this file.
1 /*
2  * Copyright 2012 Open Source Robotics Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16 */
17 #ifndef _SDF_PARSER_HH_
18 #define _SDF_PARSER_HH_
19 
20 #include <tinyxml.h>
21 #include <string>
22 
23 #include "sdf/interface/SDF.hh"
24 
27 namespace sdf
28 {
30  bool init(SDFPtr _sdf);
31 
32  // \brief Initialize the SDF interface using a file
33  bool initFile(const std::string &_filename, SDFPtr _sdf);
34 
35  // \brief Initialize and SDFElement interface using a file
36  bool initFile(const std::string &_filename, ElementPtr _sdf);
37 
38  // \brief Initialize the SDF interface using a string
39  bool initString(const std::string &_xmlString, SDFPtr _sdf);
40 
41  // \brief Initialize the SDF interface using a TinyXML document
42  bool initDoc(TiXmlDocument *_xmlDoc, SDFPtr _sdf);
43 
44  // \brief Initialize and SDF Element using a TinyXML document
45  bool initDoc(TiXmlDocument *_xmlDoc, ElementPtr _sdf);
46 
47  // \brief For internal use only. Do not use this function.
48  bool initXml(TiXmlElement *_xml, ElementPtr _sdf);
49 
51  bool readFile(const std::string &_filename, SDFPtr _sdf);
52 
54  bool readString(const std::string &_xmlString, SDFPtr _sdf);
55 
56  bool readString(const std::string &_xmlString, ElementPtr _sdf);
57 
59  bool readDoc(TiXmlDocument *_xmlDoc, SDFPtr _sdf, const std::string &_source);
60 
61  bool readDoc(TiXmlDocument *_xmlDoc, ElementPtr _sdf,
62  const std::string &_source);
63 
64  // \brief For internal use only. Do not use this function.
65  bool readXml(TiXmlElement *_xml, ElementPtr _sdf);
66 
67  void copyChildren(ElementPtr _sdf, TiXmlElement *_xml);
68 
69  void addNestedModel(ElementPtr _sdf, ElementPtr _includeSDF);
70 }
71 
72 #endif
73