PM: Shift to signal-based inference of network connection.
Instead of making DBus calls to shill on-demand, and estimating the time
a connection has changed, the RealShillProvider now listens to the
appropriate DBus signal and update its internal state accordingly. Note
that checking for the connection type still requires a DBus call, if the
connection has changed since its type was last checked.
In order to pass all unit tests (including those of PolicyManager and
RealState), there's a substantial portion of DBus mock set up code that
was added. This code will be removed very soon, once we begin injecting
providers into RealState, instead of low-level DBus and/or clock
interfaces.
BUG=chromium:338585
TEST=Unit tests.
Change-Id: Ia7a2f9db18f905f1b7a2cc1234acb31eaa60009e
Reviewed-on: https://chromium-review.googlesource.com/189692
Reviewed-by: Gilad Arnold <garnold@chromium.org>
Commit-Queue: Gilad Arnold <garnold@chromium.org>
Tested-by: Gilad Arnold <garnold@chromium.org>
diff --git a/test_utils.cc b/test_utils.cc
index e46b399..31555d9 100644
--- a/test_utils.cc
+++ b/test_utils.cc
@@ -319,4 +319,17 @@
return result;
}
+GValue* GValueNewString(const char* str) {
+ GValue* gval = new GValue();
+ g_value_init(gval, G_TYPE_STRING);
+ g_value_set_string(gval, str);
+ return gval;
+}
+
+void GValueFree(gpointer arg) {
+ auto gval = reinterpret_cast<GValue*>(arg);
+ g_value_unset(gval);
+ delete gval;
+}
+
} // namespace chromeos_update_engine