]> git.mxchange.org Git - simgear.git/blobdiff - simgear/props/props_io.hxx
Melchior FRANZ: fix SGPropertyNode::LAST_USED_ATTRIBUTE
[simgear.git] / simgear / props / props_io.hxx
index d541e1cedc145985717fd431154ab7d6110ef242..92c3bef378f14d733edaf79bac33f90a2980e62a 100644 (file)
 
 #include <stdio.h>
 
-#include STL_STRING
+#include <string>
 #include <vector>
 #include <map>
-#include STL_IOSTREAM
-
-SG_USING_STD(string);
-SG_USING_STD(vector);
-SG_USING_STD(map);
-SG_USING_STD(istream);
-SG_USING_STD(ostream);
+#include <iosfwd>
 
 /**
  * Read properties from an XML input stream.
  */
-void readProperties (istream &input, SGPropertyNode * start_node,
-                    const string &base = "");
+void readProperties (std::istream &input, SGPropertyNode * start_node,
+                    const std::string &base = "", int default_mode = 0,
+                     bool extended = false);
 
 
 /**
  * Read properties from an XML file.
  */
-void readProperties (const string &file, SGPropertyNode * start_node);
+void readProperties (const std::string &file, SGPropertyNode * start_node,
+                     int default_mode = 0, bool extended = false);
+
+
+/**
+ * Read properties from an in-memory buffer.
+ */
+void readProperties (const char *buf, const int size,
+                     SGPropertyNode * start_node, int default_mode = 0,
+                     bool extended = false);
 
 
 /**
  * Write properties to an XML output stream.
  */
-void writeProperties (ostream &output, const SGPropertyNode * start_node,
-                     bool write_all = false);
+void writeProperties (std::ostream &output, const SGPropertyNode * start_node,
+                     bool write_all = false,
+                     SGPropertyNode::Attribute archive_flag = SGPropertyNode::ARCHIVE);
 
 
 /**
  * Write properties to an XML file.
  */
-void writeProperties (const string &file, const SGPropertyNode * start_node,
-                     bool write_all = false);
+void writeProperties (const std::string &file,
+                      const SGPropertyNode * start_node,
+                     bool write_all = false,
+                     SGPropertyNode::Attribute archive_flag = SGPropertyNode::ARCHIVE);
 
 
 /**
  * Copy properties from one node to another.
  */
-bool copyProperties (const SGPropertyNode *in, SGPropertyNode *out);
+bool copyProperties (const SGPropertyNode *in, SGPropertyNode *out,
+                     int attr_value=0, int attr_mask=0);
 
 
 #endif // __PROPS_IO_HXX