update_engine: Remove dependency on libupdate_engine from the client.
The update_engine_client is a very small DBus client that only
depends on a single utils:: function from the update_engine daemon
codebase. Because of this, it was forced to be linked against many
libraries that it didn't use.
This patch factors out this glib helper function to a new
glib_utils.{cc,h} file and includes only that in the
update_engine_client binary.
BUG=chromium:396440
TEST=FEATURES=test emerge-link update_engine
Change-Id: Icf8d8b3c6ebd22cdb39e6674fb3d9071071ec941
Reviewed-on: https://chromium-review.googlesource.com/209472
Reviewed-by: David Zeuthen <zeuthen@chromium.org>
Tested-by: Alex Deymo <deymo@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/glib_utils.h b/glib_utils.h
new file mode 100644
index 0000000..9fea076
--- /dev/null
+++ b/glib_utils.h
@@ -0,0 +1,22 @@
+// Copyright 2014 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef UPDATE_ENGINE_GLIB_UTILS_H_
+#define UPDATE_ENGINE_GLIB_UTILS_H_
+
+#include <string>
+
+#include <glib.h>
+
+namespace chromeos_update_engine {
+namespace utils {
+
+// Returns the error message, if any, from a GError pointer. Frees the GError
+// object and resets error to NULL.
+std::string GetAndFreeGError(GError** error);
+
+} // namespace utils
+} // namespace chromeos_update_engine
+
+#endif // UPDATE_ENGINE_GLIB_UTILS_H_