00001
00012 #ifndef __PROPS_IO_HXX
00013 #define __PROPS_IO_HXX
00014
00015 #include <simgear/compiler.h>
00016 #include <simgear/props/props.hxx>
00017
00018 #include <stdio.h>
00019
00020 #include STL_STRING
00021 #include <vector>
00022 #include <map>
00023 #include STL_IOSTREAM
00024
00025 SG_USING_STD(string);
00026 SG_USING_STD(vector);
00027 SG_USING_STD(map);
00028 SG_USING_STD(istream);
00029 SG_USING_STD(ostream);
00030
00034 void readProperties (istream &input, SGPropertyNode * start_node,
00035 const string &base = "", int default_mode = 0);
00036
00037
00041 void readProperties (const string &file, SGPropertyNode * start_node,
00042 int default_mode = 0);
00043
00044
00048 void readProperties (const char *buf, const int size,
00049 SGPropertyNode * start_node, int default_mode = 0);
00050
00051
00055 void writeProperties (ostream &output, const SGPropertyNode * start_node,
00056 bool write_all = false,
00057 SGPropertyNode::Attribute archive_flag = SGPropertyNode::ARCHIVE);
00058
00059
00063 void writeProperties (const string &file, const SGPropertyNode * start_node,
00064 bool write_all = false,
00065 SGPropertyNode::Attribute archive_flag = SGPropertyNode::ARCHIVE);
00066
00067
00071 bool copyProperties (const SGPropertyNode *in, SGPropertyNode *out);
00072
00073
00074 #endif // __PROPS_IO_HXX
00075
00076