system_api: Add DBus constants and protos for OOBE config

BUG=chromium:869209
TEST=emerges

Change-Id: I73228de51221000312801719d8c9e77238da654b
Reviewed-on: https://chromium-review.googlesource.com/1197211
Commit-Ready: Zentaro Kavanagh <zentaro@chromium.org>
Tested-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Zentaro Kavanagh <zentaro@chromium.org>
diff --git a/dbus/oobe_config/dbus-constants.h b/dbus/oobe_config/dbus-constants.h
new file mode 100644
index 0000000..ef5b04e
--- /dev/null
+++ b/dbus/oobe_config/dbus-constants.h
@@ -0,0 +1,20 @@
+// Copyright 2018 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 SYSTEM_API_DBUS_OOBE_CONFIG_DBUS_CONSTANTS_H_
+#define SYSTEM_API_DBUS_OOBE_CONFIG_DBUS_CONSTANTS_H_
+
+namespace oobe_config {
+
+// General
+const char kOobeConfigRestoreInterface[] = "org.chromium.OobeConfigRestore";
+const char kOobeConfigRestoreServicePath[] = "/org/chromium/OobeConfigRestore";
+const char kOobeConfigRestoreServiceName[] = "org.chromium.OobeConfigRestore";
+
+// Methods
+const char kProcessAndGetOobeAutoConfigMethod[] = "ProcessAndGetOobeAutoConfig";
+
+}  // namespace oobe_config
+
+#endif  // SYSTEM_API_DBUS_OOBE_CONFIG_DBUS_CONSTANTS_H_
diff --git a/dbus/oobe_config/oobe_config.proto b/dbus/oobe_config/oobe_config.proto
new file mode 100644
index 0000000..d5d4b55
--- /dev/null
+++ b/dbus/oobe_config/oobe_config.proto
@@ -0,0 +1,13 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+syntax = "proto3";
+
+option optimize_for = LITE_RUNTIME;
+
+package oobe_config;
+
+message OobeRestoreData {
+  string chrome_config_json = 1;
+}
diff --git a/dbus/service_constants.h b/dbus/service_constants.h
index 0a0218a..37b50fa 100644
--- a/dbus/service_constants.h
+++ b/dbus/service_constants.h
@@ -21,6 +21,7 @@
 #include "hammerd/dbus-constants.h"
 #include "login_manager/dbus-constants.h"
 #include "lorgnette/dbus-constants.h"
+#include "oobe_config/dbus-constants.h"
 #include "permission_broker/dbus-constants.h"
 #include "power_manager/dbus-constants.h"
 #include "seneschal/dbus-constants.h"
diff --git a/system_api.gyp b/system_api.gyp
index 2f7da53..f227307 100644
--- a/system_api.gyp
+++ b/system_api.gyp
@@ -332,5 +332,28 @@
         '<(SHARED_INTERMEDIATE_DIR)/include/seneschal/proto_bindings/seneschal_service.pb.cc',
       ]
     },
+    {
+      'target_name': 'system_api-oobe_config-protos-gen',
+      'type': 'none',
+      'variables': {
+        'proto_in_dir': 'dbus/oobe_config',
+        'proto_out_dir': 'include/oobe_config/proto_bindings',
+      },
+      'sources': [
+        '<(proto_in_dir)/oobe_config.proto',
+      ],
+      'includes': ['../../platform2/common-mk/protoc.gypi'],
+    },
+    {
+      'target_name': 'system_api-oobe_config-protos',
+      'type': 'static_library',
+      'standalone_static_library': 1,
+      'dependencies': [
+        'system_api-oobe_config-protos-gen',
+      ],
+      'sources': [
+        '<(SHARED_INTERMEDIATE_DIR)/include/oobe_config/proto_bindings/oobe_config.pb.cc',
+      ]
+    },
   ],
 }
diff --git a/system_api.pc b/system_api.pc
index ecf8fe5..777cc35 100644
--- a/system_api.pc
+++ b/system_api.pc
@@ -1,4 +1,4 @@
 Name: system_api
 Description: Protobuffers and headers shared by Chromium OS and Chromium.
 Version: 0.1
-Libs: -lsystem_api-power_manager-protos -lsystem_api-cryptohome-protos -lsystem_api-authpolicy-protos -lsystem_api-biod-protos -lsystem_api-protos -lsystem_api-login_manager-protos -lsystem_api-chaps-protos -lsystem_api-smbprovider-protos -lsystem_api-vm_concierge-protos -lsystem_api-vm_applications-protos -lsystem_api-vm_cicerone-protos -lsystem_api-seneschal-protos
+Libs: -lsystem_api-power_manager-protos -lsystem_api-cryptohome-protos -lsystem_api-authpolicy-protos -lsystem_api-biod-protos -lsystem_api-protos -lsystem_api-login_manager-protos -lsystem_api-chaps-protos -lsystem_api-smbprovider-protos -lsystem_api-vm_concierge-protos -lsystem_api-vm_applications-protos -lsystem_api-vm_cicerone-protos -lsystem_api-seneschal-protos -lsystem_api-oobe_config-protos