]> git.mxchange.org Git - simgear.git/blob - simgear/props/props_io.hxx
Don't include <iostream> and "using" declarations in header files
[simgear.git] / simgear / props / props_io.hxx
1 /**
2  * \file props_io.hxx
3  * Interface definition for property list io.
4  * Started Fall 2000 by David Megginson, david@megginson.com
5  * This code is released into the Public Domain.
6  *
7  * See props.html for documentation [replace with URL when available].
8  *
9  * $Id$
10  */
11
12 #ifndef __PROPS_IO_HXX
13 #define __PROPS_IO_HXX
14
15 #include <simgear/compiler.h>
16 #include <simgear/props/props.hxx>
17
18 #include <stdio.h>
19
20 #include STL_STRING
21 #include <vector>
22 #include <map>
23 #include <istream>
24 #include <ostream>
25
26 /**
27  * Read properties from an XML input stream.
28  */
29 void readProperties (std::istream &input, SGPropertyNode * start_node,
30                      const std::string &base = "", int default_mode = 0);
31
32
33 /**
34  * Read properties from an XML file.
35  */
36 void readProperties (const std::string &file, SGPropertyNode * start_node,
37                      int default_mode = 0);
38
39
40 /**
41  * Read properties from an in-memory buffer.
42  */
43 void readProperties (const char *buf, const int size,
44                      SGPropertyNode * start_node, int default_mode = 0);
45
46
47 /**
48  * Write properties to an XML output stream.
49  */
50 void writeProperties (std::ostream &output, const SGPropertyNode * start_node,
51                       bool write_all = false,
52                       SGPropertyNode::Attribute archive_flag = SGPropertyNode::ARCHIVE);
53
54
55 /**
56  * Write properties to an XML file.
57  */
58 void writeProperties (const std::string &file,
59                       const SGPropertyNode * start_node,
60                       bool write_all = false,
61                       SGPropertyNode::Attribute archive_flag = SGPropertyNode::ARCHIVE);
62
63
64 /**
65  * Copy properties from one node to another.
66  */
67 bool copyProperties (const SGPropertyNode *in, SGPropertyNode *out);
68
69
70 #endif // __PROPS_IO_HXX
71
72 // end of props_io.hxx