Motown: Move framework/util/incident* so other services can use it
plus minor change to factory_service_base.
R=kulakowski@chromium.org
Review URL: https://codereview.chromium.org/2024953003 .
diff --git a/services/BUILD.gn b/services/BUILD.gn
index bfd560a..60858d2 100644
--- a/services/BUILD.gn
+++ b/services/BUILD.gn
@@ -86,6 +86,7 @@
"//services/native_support:apptests",
"//services/prediction:apptests",
"//services/ui/view_manager:view_manager_apptests",
+ "//services/util/cpp:apptests",
]
# TODO: fix ffmpeg build
diff --git a/services/media/factory_service/media_demux_impl.h b/services/media/factory_service/media_demux_impl.h
index 43d96bf..49e43a9 100644
--- a/services/media/factory_service/media_demux_impl.h
+++ b/services/media/factory_service/media_demux_impl.h
@@ -17,8 +17,8 @@
#include "services/media/factory_service/factory_service.h"
#include "services/media/framework/graph.h"
#include "services/media/framework/parts/demux.h"
-#include "services/media/framework/util/incident.h"
#include "services/media/framework_mojo/mojo_producer.h"
+#include "services/util/cpp/incident.h"
namespace mojo {
namespace media {
diff --git a/services/media/factory_service/media_sink_impl.h b/services/media/factory_service/media_sink_impl.h
index 320fad7..29992f5 100644
--- a/services/media/factory_service/media_sink_impl.h
+++ b/services/media/factory_service/media_sink_impl.h
@@ -15,9 +15,9 @@
#include "services/media/factory_service/factory_service.h"
#include "services/media/framework/graph.h"
#include "services/media/framework/parts/decoder.h"
-#include "services/media/framework/util/incident.h"
#include "services/media/framework_mojo/mojo_consumer.h"
#include "services/media/framework_mojo/mojo_producer.h"
+#include "services/util/cpp/incident.h"
namespace mojo {
namespace media {
diff --git a/services/media/factory_service/media_source_impl.h b/services/media/factory_service/media_source_impl.h
index acc3b07..ee440e5 100644
--- a/services/media/factory_service/media_source_impl.h
+++ b/services/media/factory_service/media_source_impl.h
@@ -18,9 +18,9 @@
#include "services/media/framework/parts/demux.h"
#include "services/media/framework/parts/null_sink.h"
#include "services/media/framework/parts/reader.h"
-#include "services/media/framework/util/incident.h"
#include "services/media/framework_mojo/mojo_producer.h"
#include "services/media/framework_mojo/mojo_pull_mode_producer.h"
+#include "services/util/cpp/incident.h"
namespace mojo {
namespace media {
diff --git a/services/media/factory_service/network_reader_impl.h b/services/media/factory_service/network_reader_impl.h
index d2ccbf3..f82020f 100644
--- a/services/media/factory_service/network_reader_impl.h
+++ b/services/media/factory_service/network_reader_impl.h
@@ -11,7 +11,7 @@
#include "mojo/services/media/core/interfaces/seeking_reader.mojom.h"
#include "mojo/services/network/interfaces/network_service.mojom.h"
#include "services/media/factory_service/factory_service.h"
-#include "services/media/framework/util/incident.h"
+#include "services/util/cpp/incident.h"
namespace mojo {
namespace media {
diff --git a/services/media/framework/BUILD.gn b/services/media/framework/BUILD.gn
index e99a5a1..6dd573b 100644
--- a/services/media/framework/BUILD.gn
+++ b/services/media/framework/BUILD.gn
@@ -78,8 +78,6 @@
"util/conversion_pipeline_builder.h",
"util/formatting.cc",
"util/formatting.h",
- "util/incident.cc",
- "util/incident.h",
"util/lpcm_util.cc",
"util/lpcm_util.h",
"util/safe_clone.h",
@@ -89,6 +87,7 @@
"//base",
"//mojo/public/cpp/application",
"//mojo/public/cpp/bindings:callback",
+ "//services/util/cpp",
]
}
@@ -98,7 +97,6 @@
testonly = true
sources = [
- "test/incident_test.cc",
"test/sparse_byte_buffer_test.cc",
"test/test_base.h",
]
@@ -109,5 +107,6 @@
"//mojo/application",
"//mojo/application:test_support",
"//services/media/framework_create",
+ "//services/util/cpp",
]
}
diff --git a/services/media/framework/parts/reader_cache.h b/services/media/framework/parts/reader_cache.h
index fe9f710..37c65ea 100644
--- a/services/media/framework/parts/reader_cache.h
+++ b/services/media/framework/parts/reader_cache.h
@@ -12,7 +12,7 @@
#include "base/synchronization/lock.h"
#include "services/media/framework/parts/reader.h"
#include "services/media/framework/parts/sparse_byte_buffer.h"
-#include "services/media/framework/util/incident.h"
+#include "services/util/cpp/incident.h"
namespace mojo {
namespace media {
diff --git a/services/media/framework_ffmpeg/BUILD.gn b/services/media/framework_ffmpeg/BUILD.gn
index c6372f6..3d30e5e 100644
--- a/services/media/framework_ffmpeg/BUILD.gn
+++ b/services/media/framework_ffmpeg/BUILD.gn
@@ -48,6 +48,7 @@
"//base",
"//mojo/common",
"//services/media/framework",
+ "//services/util/cpp",
"//third_party/ffmpeg",
]
diff --git a/services/media/framework_ffmpeg/ffmpeg_demux.cc b/services/media/framework_ffmpeg/ffmpeg_demux.cc
index 7c36379..e441f4d 100644
--- a/services/media/framework_ffmpeg/ffmpeg_demux.cc
+++ b/services/media/framework_ffmpeg/ffmpeg_demux.cc
@@ -8,13 +8,13 @@
#include <thread>
#include "base/logging.h"
-#include "services/media/framework/util/incident.h"
#include "services/media/framework/util/safe_clone.h"
#include "services/media/framework_ffmpeg/av_codec_context.h"
#include "services/media/framework_ffmpeg/av_format_context.h"
#include "services/media/framework_ffmpeg/av_io_context.h"
#include "services/media/framework_ffmpeg/av_packet.h"
#include "services/media/framework_ffmpeg/ffmpeg_demux.h"
+#include "services/util/cpp/incident.h"
namespace mojo {
namespace media {
diff --git a/services/media/framework_mojo/BUILD.gn b/services/media/framework_mojo/BUILD.gn
index cc27c8a..d1e59e8 100644
--- a/services/media/framework_mojo/BUILD.gn
+++ b/services/media/framework_mojo/BUILD.gn
@@ -31,5 +31,6 @@
"//mojo/services/media/core/interfaces",
"//mojo/services/network/interfaces",
"//services/media/framework",
+ "//services/util/cpp",
]
}
diff --git a/services/media/framework_mojo/mojo_reader.h b/services/media/framework_mojo/mojo_reader.h
index b57d87b..177dec6 100644
--- a/services/media/framework_mojo/mojo_reader.h
+++ b/services/media/framework_mojo/mojo_reader.h
@@ -10,7 +10,7 @@
#include "base/single_thread_task_runner.h"
#include "mojo/services/media/core/interfaces/seeking_reader.mojom.h"
#include "services/media/framework/parts/reader.h"
-#include "services/media/framework/util/incident.h"
+#include "services/util/cpp/incident.h"
namespace mojo {
namespace media {
diff --git a/services/util/cpp/BUILD.gn b/services/util/cpp/BUILD.gn
index 6a917c3..a2b48a5 100644
--- a/services/util/cpp/BUILD.gn
+++ b/services/util/cpp/BUILD.gn
@@ -10,6 +10,8 @@
sources = [
"factory_service_base.cc",
"factory_service_base.h",
+ "incident.cc",
+ "incident.h",
]
deps = [
@@ -19,3 +21,20 @@
"//mojo/public/cpp/application",
]
}
+
+mojo_native_application("apptests") {
+ output_name = "services_util_cpp_apptests"
+
+ testonly = true
+
+ sources = [
+ "test/incident_test.cc",
+ ]
+
+ deps = [
+ ":cpp",
+ "//base",
+ "//mojo/application",
+ "//mojo/application:test_support",
+ ]
+}
diff --git a/services/util/cpp/factory_service_base.h b/services/util/cpp/factory_service_base.h
index 9a5ec4a..33b46e7 100644
--- a/services/util/cpp/factory_service_base.h
+++ b/services/util/cpp/factory_service_base.h
@@ -27,8 +27,8 @@
// Returns the ApplicationImpl.
ApplicationImpl* app() {
- DCHECK(owner_->app_);
- return owner_->app_;
+ DCHECK(owner_->app());
+ return owner_->app();
}
// Tells the factory service to release this product.
@@ -72,6 +72,8 @@
~FactoryServiceBase() override;
+ ApplicationImpl* app() { return app_; }
+
// ApplicationDelegate implementation.
void Initialize(ApplicationImpl* app) override;
diff --git a/services/media/framework/util/incident.cc b/services/util/cpp/incident.cc
similarity index 91%
rename from services/media/framework/util/incident.cc
rename to services/util/cpp/incident.cc
index 3b6a1e3..9307eb6 100644
--- a/services/media/framework/util/incident.cc
+++ b/services/util/cpp/incident.cc
@@ -2,10 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "services/media/framework/util/incident.h"
+#include "services/util/cpp/incident.h"
namespace mojo {
-namespace media {
Incident::Incident() {}
@@ -50,5 +49,4 @@
}
}
-} // namespace media
} // namespace mojo
diff --git a/services/media/framework/util/incident.h b/services/util/cpp/incident.h
similarity index 95%
rename from services/media/framework/util/incident.h
rename to services/util/cpp/incident.h
index 378a58f..26f87e7 100644
--- a/services/media/framework/util/incident.h
+++ b/services/util/cpp/incident.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef MOJO_SERVICES_MEDIA_FRAMEWORK_UTIL_INCIDENT_H_
-#define MOJO_SERVICES_MEDIA_FRAMEWORK_UTIL_INCIDENT_H_
+#ifndef MOJO_SERVICES_UTIL_CPP_INCIDENT_H_
+#define MOJO_SERVICES_UTIL_CPP_INCIDENT_H_
#include <functional>
#include <vector>
@@ -11,7 +11,6 @@
#include "base/synchronization/lock.h"
namespace mojo {
-namespace media {
// The Incident class provides a facility for executing code as the consequence
// of some occurrence. This can be useful for building state machines and
@@ -145,7 +144,6 @@
std::vector<std::function<void()>> consequences_;
};
-} // namespace media
} // namespace mojo
-#endif // MOJO_SERVICES_MEDIA_FRAMEWORK_UTIL_INCIDENT_H_
+#endif // MOJO_SERVICES_UTIL_CPP_INCIDENT_H_
diff --git a/services/media/framework/test/incident_test.cc b/services/util/cpp/test/incident_test.cc
similarity index 97%
rename from services/media/framework/test/incident_test.cc
rename to services/util/cpp/test/incident_test.cc
index e143c8a..ee02d96 100644
--- a/services/media/framework/test/incident_test.cc
+++ b/services/util/cpp/test/incident_test.cc
@@ -2,11 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "services/media/framework/test/test_base.h"
-#include "services/media/framework/util/incident.h"
+#include "services/util/cpp/incident.h"
+#include "services/util/cpp/test/test_base.h"
namespace mojo {
-namespace media {
namespace {
class IncidentTest : public TestBase {};
@@ -216,5 +215,4 @@
}
} // namespace
-} // namespace media
} // namespace mojo
diff --git a/services/util/cpp/test/test_base.h b/services/util/cpp/test/test_base.h
new file mode 100644
index 0000000..db1ba66
--- /dev/null
+++ b/services/util/cpp/test/test_base.h
@@ -0,0 +1,25 @@
+// 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 MOJO_SERVICES_UTIL_CPP_TEST_TEST_BASE_H_
+#define MOJO_SERVICES_UTIL_CPP_TEST_TEST_BASE_H_
+
+#include "mojo/public/cpp/application/application_test_base.h"
+
+namespace mojo {
+namespace {
+
+class TestBase : public test::ApplicationTestBase {
+ public:
+ TestBase() {}
+ ~TestBase() override {}
+
+ private:
+ MOJO_DISALLOW_COPY_AND_ASSIGN(TestBase);
+};
+
+} // namespace
+} // namespace mojo
+
+#endif // MOJO_SERVICES_UTIL_CPP_TEST_TEST_BASE_H_