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