]> git.mxchange.org Git - simgear.git/blobdiff - simgear/misc/props.hxx
Updates to build system to better support automake-1.5
[simgear.git] / simgear / misc / props.hxx
index bcaf66647732cb575a83d61262c3c61f3b37cf40..b9a0157ac4bca01f341913748546a7357ce5c5cd 100644 (file)
@@ -27,6 +27,11 @@ SG_USING_STD(istream);
 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
@@ -506,7 +511,9 @@ public:
   enum Attribute {
     READ = 1,
     WRITE = 2,
-    ARCHIVE = 4
+    ARCHIVE = 4,
+    TRACE_READ = 8,
+    TRACE_WRITE = 16
   };
 
 
@@ -694,7 +701,7 @@ public:
   /**
    * Check a single mode attribute for the property node.
    */
-  bool getAttribute (Attribute attr) const { return (bool)(_attr & attr); }
+  bool getAttribute (Attribute attr) const { return ((_attr & attr) != 0); }
 
 
   /**
@@ -1033,6 +1040,24 @@ private:
    */
   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;