Build update_engine_sideload.
Add a new "sideload" executable target that applies an update payload
directly using the UpdateAttempterAndroid.
This initial CL buils a dynamically linked program that's targeted to
run in the system image for now, but will later be transformed into a
static binary to run from the recovery environment.
Bug: 27178350
TEST=Applied a payload directly on a device using:
`update_engine_sideload --payload=file://foo/bar ...`
(cherry picked from commit 03a4de7dc77b058987fc0670f4f67ba10ff31bc8)
Change-Id: Idbde52fff9ace53c03f34103664f51b9db45027d
diff --git a/daemon_state_interface.h b/daemon_state_interface.h
index a0944aa..2356816 100644
--- a/daemon_state_interface.h
+++ b/daemon_state_interface.h
@@ -20,6 +20,7 @@
#include "update_engine/service_observer_interface.h"
#include <memory>
+#include <set>
namespace chromeos_update_engine {
@@ -36,6 +37,9 @@
virtual void AddObserver(ServiceObserverInterface* observer) = 0;
virtual void RemoveObserver(ServiceObserverInterface* observer) = 0;
+ // Return the set of current observers.
+ virtual const std::set<ServiceObserverInterface*>& service_observers() = 0;
+
protected:
DaemonStateInterface() = default;
};