Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(294)

Side by Side Diff: media/mojo/services/mojo_media_application.cc

Issue 2434673002: media: Rename MojoMediaApplication to MediaService (Closed)
Patch Set: media: Rename MojoMediaApplication to MediaService Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "media/mojo/services/mojo_media_application.h"
6
7 #include <utility>
8
9 #include "media/base/media_log.h"
10 #include "media/mojo/services/mojo_media_client.h"
11 #include "media/mojo/services/service_factory_impl.h"
12 #include "mojo/public/cpp/bindings/strong_binding.h"
13 #include "services/service_manager/public/cpp/connection.h"
14 #include "services/service_manager/public/cpp/connector.h"
15
16 namespace media {
17
18 // TODO(xhwang): Hook up MediaLog when possible.
19 MojoMediaApplication::MojoMediaApplication(
20 std::unique_ptr<MojoMediaClient> mojo_media_client,
21 const base::Closure& quit_closure)
22 : mojo_media_client_(std::move(mojo_media_client)),
23 media_log_(new MediaLog()),
24 ref_factory_(quit_closure) {
25 DCHECK(mojo_media_client_);
26 }
27
28 MojoMediaApplication::~MojoMediaApplication() {}
29
30 void MojoMediaApplication::OnStart(const service_manager::Identity& identity) {
31 mojo_media_client_->Initialize();
32 }
33
34 bool MojoMediaApplication::OnConnect(
35 const service_manager::Identity& remote_identity,
36 service_manager::InterfaceRegistry* registry) {
37 registry->AddInterface<mojom::MediaService>(this);
38 return true;
39 }
40
41 bool MojoMediaApplication::OnStop() {
42 mojo_media_client_.reset();
43 return true;
44 }
45
46 void MojoMediaApplication::Create(
47 const service_manager::Identity& remote_identity,
48 mojom::MediaServiceRequest request) {
49 bindings_.AddBinding(this, std::move(request));
50 }
51
52 void MojoMediaApplication::CreateServiceFactory(
53 mojom::ServiceFactoryRequest request,
54 service_manager::mojom::InterfaceProviderPtr remote_interfaces) {
55 // Ignore request if service has already stopped.
56 if (!mojo_media_client_)
57 return;
58
59 mojo::MakeStrongBinding(
60 base::MakeUnique<ServiceFactoryImpl>(std::move(remote_interfaces),
61 media_log_, ref_factory_.CreateRef(),
62 mojo_media_client_.get()),
63 std::move(request));
64 }
65
66 } // namespace media
OLDNEW
« no previous file with comments | « media/mojo/services/mojo_media_application.h ('k') | media/mojo/services/mojo_media_application_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698