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.
7 * See props.html for documentation [replace with URL when available].
12 #ifndef __PROPS_IO_HXX
13 #define __PROPS_IO_HXX
15 #include <simgear/compiler.h>
16 #include <simgear/props/props.hxx>
22 * Read properties from an XML input stream.
24 void readProperties (std::istream &input, SGPropertyNode * start_node,
25 const std::string &base = "", int default_mode = 0,
26 bool extended = false);
30 * Read properties from an XML file.
32 void readProperties (const std::string &file, SGPropertyNode * start_node,
33 int default_mode = 0, bool extended = false);
37 * Read properties from an in-memory buffer.
39 void readProperties (const char *buf, const int size,
40 SGPropertyNode * start_node, int default_mode = 0,
41 bool extended = false);
45 * Write properties to an XML output stream.
47 void writeProperties (std::ostream &output, const SGPropertyNode * start_node,
48 bool write_all = false,
49 SGPropertyNode::Attribute archive_flag = SGPropertyNode::ARCHIVE);
53 * Write properties to an XML file.
55 void writeProperties (const std::string &file,
56 const SGPropertyNode * start_node,
57 bool write_all = false,
58 SGPropertyNode::Attribute archive_flag = SGPropertyNode::ARCHIVE);
62 * Copy properties from one node to another.
64 bool copyProperties (const SGPropertyNode *in, SGPropertyNode *out,
65 int attr_value=0, int attr_mask=0);
68 #endif // __PROPS_IO_HXX
70 // end of props_io.hxx