Add callback hack to find out when to reload system properties.

Every IBinder object can accept a new transaction to tell it that
it might want to reload system properties, and in the process
anyone can register a callback to be executed when this happens.

Use this to reload the trace property.

This is very much ONLY for debugging.

Change-Id: I55c67c46f8f3fa9073bef0dfaab4577ed1d47eb4
diff --git a/include/utils/Trace.h b/include/utils/Trace.h
index 62f5d6b..984cd46 100644
--- a/include/utils/Trace.h
+++ b/include/utils/Trace.h
@@ -121,11 +121,16 @@
         }
     }
 
+    static void changeCallback();
+
     // init opens the trace marker file for writing and reads the
     // atrace.tags.enableflags system property.  It does this only the first
     // time it is run, using sMutex for synchronization.
     static void init();
 
+    // retrieve the current value of the system property.
+    static void loadSystemProperty();
+
     // sIsReady is a boolean value indicating whether a call to init() has
     // completed in this process.  It is initialized to 0 and set to 1 when the
     // first init() call completes.  It is set to 1 even if a failure occurred
diff --git a/include/utils/misc.h b/include/utils/misc.h
index 23f2a4c..d7d5bc1 100644
--- a/include/utils/misc.h
+++ b/include/utils/misc.h
@@ -88,6 +88,10 @@
 void k_itoa(int value, char* str, int base);
 char* itoa(int val, int base);
 
+typedef void (*sysprop_change_callback)(void);
+void add_sysprop_change_callback(sysprop_change_callback cb, int priority);
+void report_sysprop_change();
+
 }; // namespace android
 
 #endif // _LIBS_UTILS_MISC_H