Create Tether Chrome OS component and add a skeleton Initializer class.
Review-Url: https://codereview.chromium.org/2545923005
Cr-Commit-Position: refs/heads/master@{#436184}
diff --git a/BUILD.gn b/BUILD.gn
index 2892e385c..48b7396 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -481,6 +481,7 @@
if (is_chromeos) {
deps += [
"//chromeos:chromeos_unittests",
+ "//chromeos/components:chromeos_components_unittests",
"//components/session_manager/core",
"//ui/arc:ui_arc_unittests",
"//ui/chromeos:ui_chromeos_unittests",
diff --git a/chromeos/components/BUILD.gn b/chromeos/components/BUILD.gn
new file mode 100644
index 0000000..636f4bc
--- /dev/null
+++ b/chromeos/components/BUILD.gn
@@ -0,0 +1,21 @@
+# Copyright 2016 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.
+
+import("//testing/test.gni")
+
+assert(is_chromeos, "Non-ChromeOS builds cannot depend on //chromeos")
+
+# To add a unit test to this target, make a "unit_test" source_set in your
+# component and add a reference here.
+test("chromeos_components_unittests") {
+ sources = [
+ "run_all_unittests.cc",
+ ]
+
+ deps = [
+ "//base",
+ "//base/test:test_support",
+ "//chromeos/components/tether:unit_tests",
+ ]
+}
diff --git a/chromeos/components/run_all_unittests.cc b/chromeos/components/run_all_unittests.cc
new file mode 100644
index 0000000..064a9bc
--- /dev/null
+++ b/chromeos/components/run_all_unittests.cc
@@ -0,0 +1,14 @@
+// Copyright 2014 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.
+
+#include "base/bind.h"
+#include "base/test/launcher/unit_test_launcher.h"
+#include "base/test/test_suite.h"
+
+int main(int argc, char** argv) {
+ base::TestSuite test_suite(argc, argv);
+ return base::LaunchUnitTests(
+ argc, argv,
+ base::Bind(&base::TestSuite::Run, base::Unretained(&test_suite)));
+}
diff --git a/chromeos/components/tether/BUILD.gn b/chromeos/components/tether/BUILD.gn
new file mode 100644
index 0000000..5ea6be4
--- /dev/null
+++ b/chromeos/components/tether/BUILD.gn
@@ -0,0 +1,44 @@
+# Copyright 2016 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.
+
+assert(is_chromeos, "Non-ChromeOS builds cannot depend on //chromeos")
+
+static_library("tether") {
+ sources = [
+ "initializer.cc",
+ "initializer.h",
+ ]
+
+ deps = [
+ "//base",
+ ]
+}
+
+static_library("test_support") {
+ testonly = true
+
+ sources = []
+
+ public_deps = [
+ ":tether",
+ ]
+
+ deps = [
+ "//base",
+ "//testing/gmock",
+ ]
+}
+
+source_set("unit_tests") {
+ testonly = true
+
+ sources = []
+
+ deps = [
+ ":test_support",
+ ":tether",
+ "//base/test:test_support",
+ "//testing/gtest",
+ ]
+}
diff --git a/chromeos/components/tether/OWNERS b/chromeos/components/tether/OWNERS
new file mode 100644
index 0000000..07d43fee
--- /dev/null
+++ b/chromeos/components/tether/OWNERS
@@ -0,0 +1,3 @@
[email protected]
[email protected]
[email protected]
diff --git a/chromeos/components/tether/initializer.cc b/chromeos/components/tether/initializer.cc
new file mode 100644
index 0000000..7cb779d
--- /dev/null
+++ b/chromeos/components/tether/initializer.cc
@@ -0,0 +1,17 @@
+// Copyright 2016 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.
+
+#include "chromeos/components/tether/initializer.h"
+
+namespace chromeos {
+
+namespace tether {
+
+Initializer::Initializer() {}
+
+Initializer::~Initializer() {}
+
+} // namespace tether
+
+} // namespace chromeos
diff --git a/chromeos/components/tether/initializer.h b/chromeos/components/tether/initializer.h
new file mode 100644
index 0000000..d0e4a1f
--- /dev/null
+++ b/chromeos/components/tether/initializer.h
@@ -0,0 +1,29 @@
+// Copyright 2016 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.
+
+#ifndef CHROMEOS_COMPONENTS_TETHER_INITIALIZER_H_
+#define CHROMEOS_COMPONENTS_TETHER_INITIALIZER_H_
+
+#include "base/macros.h"
+
+namespace chromeos {
+
+namespace tether {
+
+// Initializes the Tether Chrome OS component.
+// TODO(khorimoto): Implement.
+class Initializer {
+ public:
+ Initializer();
+ ~Initializer();
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(Initializer);
+};
+
+} // namespace tether
+
+} // namespace chromeos
+
+#endif // CHROMEOS_COMPONENTS_TETHER_INITIALIZER_H_