SG_USING_STD(ostream);
#endif
+#ifdef NONE
+#pragma warn A sloppy coder has defined NONE as a macro!
+#undef NONE
+#endif
+
#ifdef ALIAS
#pragma warn A sloppy coder has defined ALIAS as a macro!
#undef ALIAS
enum Attribute {
READ = 1,
WRITE = 2,
- ARCHIVE = 4
+ ARCHIVE = 4,
+ TRACE_READ = 8,
+ TRACE_WRITE = 16
};
/**
* Check a single mode attribute for the property node.
*/
- bool getAttribute (Attribute attr) const { return (_attr & attr); }
+ bool getAttribute (Attribute attr) const { return ((_attr & attr) != 0); }
/**
*/
void clear_value ();
+
+ /**
+ * Get the value as a string.
+ */
+ string get_string () const;
+
+
+ /**
+ * Trace a read access.
+ */
+ void trace_read (Type accessType) const;
+
+
+ /**
+ * Trace a write access.
+ */
+ void trace_write (Type accessType) const;
+
string _name;
int _index;
SGPropertyNode * _parent;
/**
* Read properties from an XML input stream.
*/
-bool readProperties (istream &input, SGPropertyNode * start_node,
+void readProperties (istream &input, SGPropertyNode * start_node,
const string &base = "");
/**
* Read properties from an XML file.
*/
-bool readProperties (const string &file, SGPropertyNode * start_node);
+void readProperties (const string &file, SGPropertyNode * start_node);
/**
* Write properties to an XML output stream.
*/
-bool writeProperties (ostream &output, const SGPropertyNode * start_node);
+void writeProperties (ostream &output, const SGPropertyNode * start_node);
/**
* Write properties to an XML file.
*/
-bool writeProperties (const string &file, const SGPropertyNode * start_node);
+void writeProperties (const string &file, const SGPropertyNode * start_node);
/**