]> git.mxchange.org Git - simgear.git/blob - simgear/props/props_io.hxx
Replace header files istream and ostream with iosfwd
[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 <iosfwd>
24
25 /**
26  * Read properties from an XML input stream.
27  */
28 void readProperties (std::istream &input, SGPropertyNode * start_node,
29                      const std::string &base = "", int default_mode = 0);
30
31
32 /**
33  * Read properties from an XML file.
34  */
35 void readProperties (const std::string &file, SGPropertyNode * start_node,
36                      int default_mode = 0);
37
38
39 /**
40  * Read properties from an in-memory buffer.
41  */
42 void readProperties (const char *buf, const int size,
43                      SGPropertyNode * start_node, int default_mode = 0);
44
45
46 /**
47  * Write properties to an XML output stream.
48  */
49 void writeProperties (std::ostream &output, const SGPropertyNode * start_node,
50                       bool write_all = false,
51                       SGPropertyNode::Attribute archive_flag = SGPropertyNode::ARCHIVE);
52
53
54 /**
55  * Write properties to an XML file.
56  */
57 void writeProperties (const std::string &file,
58                       const SGPropertyNode * start_node,
59                       bool write_all = false,
60                       SGPropertyNode::Attribute archive_flag = SGPropertyNode::ARCHIVE);
61
62
63 /**
64  * Copy properties from one node to another.
65  */
66 bool copyProperties (const SGPropertyNode *in, SGPropertyNode *out);
67
68
69 #endif // __PROPS_IO_HXX
70
71 // end of props_io.hxx