AU: check after 2 min, also every 30 min.
also, send updaterversion with omaha request.
also, log to /var/log/update_engine.log
BUG=None
TEST=tested on device
Review URL: http://codereview.chromium.org/2037005
diff --git a/main.cc b/main.cc
index f61ff34..b2f14c4 100644
--- a/main.cc
+++ b/main.cc
@@ -26,6 +26,19 @@
namespace chromeos_update_engine {
+namespace {
+
+struct PeriodicallyUpdateArgs {
+ UpdateAttempter* update_attempter;
+ gboolean should_repeat;
+};
+
+gboolean PeriodicallyUpdate(void* arg) {
+ PeriodicallyUpdateArgs* args = reinterpret_cast<PeriodicallyUpdateArgs*>(arg);
+ args->update_attempter->Update(false);
+ return args->should_repeat;
+}
+
void SetupDbusService(UpdateEngineService* service) {
DBusGConnection *bus;
DBusGProxy *proxy;
@@ -60,6 +73,8 @@
G_OBJECT(service));
}
+} // namespace {}
+
} // namespace chromeos_update_engine
#include "update_engine/subprocess.h"
@@ -71,7 +86,7 @@
chromeos_update_engine::Subprocess::Init();
google::ParseCommandLineFlags(&argc, &argv, true);
CommandLine::Init(argc, argv);
- logging::InitLogging("logfile.txt",
+ logging::InitLogging("/var/log/update_engine.log",
(FLAGS_logtostderr ?
logging::LOG_ONLY_TO_SYSTEM_DEBUG_LOG :
logging::LOG_ONLY_TO_FILE),
@@ -94,6 +109,20 @@
update_attempter.set_dbus_service(service);
chromeos_update_engine::SetupDbusService(service);
+ // Kick off periodic updating. First, update after 2 minutes. Also, update
+ // every 30 minutes.
+ chromeos_update_engine::PeriodicallyUpdateArgs two_min_args =
+ {&update_attempter, FALSE};
+ g_timeout_add(2 * 60 * 1000,
+ &chromeos_update_engine::PeriodicallyUpdate,
+ &two_min_args);
+
+ chromeos_update_engine::PeriodicallyUpdateArgs thirty_min_args =
+ {&update_attempter, TRUE};
+ g_timeout_add(30 * 60 * 1000,
+ &chromeos_update_engine::PeriodicallyUpdate,
+ &thirty_min_args);
+
// Run the main loop until exit time:
g_main_loop_run(loop);
diff --git a/update_check_action.cc b/update_check_action.cc
index 57e82eb..98ff3dc 100644
--- a/update_check_action.cc
+++ b/update_check_action.cc
@@ -63,7 +63,9 @@
string FormatRequest(const UpdateCheckParams& params) {
return string("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
"<o:gupdate xmlns:o=\"http://www.google.com/update2/request\" "
- "version=\"" + XmlEncode(kGupdateVersion) + "\" protocol=\"2.0\" "
+ "version=\"" + XmlEncode(kGupdateVersion) + "\" "
+ "updaterversion=\"" + XmlEncode(kGupdateVersion) + "\" "
+ "protocol=\"2.0\" "
"machineid=\"") + XmlEncode(params.machine_id) + "\" ismachine=\"1\" "
"userid=\"" + XmlEncode(params.user_id) + "\">\n"
" <o:os version=\"" + XmlEncode(params.os_version) + "\" platform=\"" +