| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "media/mojo/services/mojo_media_application.h" | 5 #include "media/mojo/services/mojo_media_application.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "media/base/media_log.h" | 8 #include "media/base/media_log.h" |
| 9 #include "media/mojo/services/service_factory_impl.h" | 9 #include "media/mojo/services/service_factory_impl.h" |
| 10 #include "mojo/application/public/cpp/application_connection.h" | 10 #include "mojo/application/public/cpp/application_connection.h" |
| 11 #include "mojo/application/public/cpp/application_impl.h" | 11 #include "mojo/application/public/cpp/application_impl.h" |
| 12 | 12 |
| 13 namespace media { | 13 namespace media { |
| 14 | 14 |
| 15 const char kMojoMediaAppUrl[] = "mojo:media"; | 15 const char kMojoMediaAppUrl[] = "mojo:media"; |
| 16 | 16 |
| 17 // static | 17 // static |
| 18 GURL MojoMediaApplication::AppUrl() { | 18 GURL MojoMediaApplication::AppUrl() { |
| 19 return GURL(kMojoMediaAppUrl); | 19 return GURL(kMojoMediaAppUrl); |
| 20 } | 20 } |
| 21 | 21 |
| 22 // static | 22 // static |
| 23 scoped_ptr<mojo::ApplicationDelegate> MojoMediaApplication::CreateApp() { | 23 scoped_ptr<mojo::ApplicationDelegate> MojoMediaApplication::CreateApp() { |
| 24 return scoped_ptr<mojo::ApplicationDelegate>(new MojoMediaApplication()); | 24 return scoped_ptr<mojo::ApplicationDelegate>(new MojoMediaApplication()); |
| 25 } | 25 } |
| 26 | 26 |
| 27 // TODO(xhwang): Hook up MediaLog when possible. | 27 // TODO(xhwang): Hook up MediaLog when possible. |
| 28 MojoMediaApplication::MojoMediaApplication() : media_log_(new MediaLog()) { | 28 MojoMediaApplication::MojoMediaApplication() |
| 29 } | 29 : app_impl_(nullptr), media_log_(new MediaLog()) {} |
| 30 | 30 |
| 31 MojoMediaApplication::~MojoMediaApplication() { | 31 MojoMediaApplication::~MojoMediaApplication() { |
| 32 } | 32 } |
| 33 | 33 |
| 34 void MojoMediaApplication::Initialize(mojo::ApplicationImpl* app) { | 34 void MojoMediaApplication::Initialize(mojo::ApplicationImpl* app) { |
| 35 app_impl_ = app; |
| 36 |
| 35 logging::LoggingSettings settings; | 37 logging::LoggingSettings settings; |
| 36 settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG; | 38 settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG; |
| 37 logging::InitLogging(settings); | 39 logging::InitLogging(settings); |
| 38 // Display process ID, thread ID and timestamp in logs. | 40 // Display process ID, thread ID and timestamp in logs. |
| 39 logging::SetLogItems(true, true, true, false); | 41 logging::SetLogItems(true, true, true, false); |
| 40 } | 42 } |
| 41 | 43 |
| 42 bool MojoMediaApplication::ConfigureIncomingConnection( | 44 bool MojoMediaApplication::ConfigureIncomingConnection( |
| 43 mojo::ApplicationConnection* connection) { | 45 mojo::ApplicationConnection* connection) { |
| 44 connection->AddService<interfaces::ServiceFactory>(this); | 46 connection->AddService<interfaces::ServiceFactory>(this); |
| 45 return true; | 47 return true; |
| 46 } | 48 } |
| 47 | 49 |
| 48 void MojoMediaApplication::Create( | 50 void MojoMediaApplication::Create( |
| 49 mojo::ApplicationConnection* connection, | 51 mojo::ApplicationConnection* connection, |
| 50 mojo::InterfaceRequest<interfaces::ServiceFactory> request) { | 52 mojo::InterfaceRequest<interfaces::ServiceFactory> request) { |
| 51 // The created object is owned by the pipe. | 53 // The created object is owned by the pipe. |
| 52 new ServiceFactoryImpl(request.Pass(), connection->GetServiceProvider(), | 54 new ServiceFactoryImpl(request.Pass(), connection->GetServiceProvider(), |
| 53 media_log_); | 55 media_log_, |
| 56 app_impl_->app_lifetime_helper()->CreateAppRefCount()); |
| 54 } | 57 } |
| 55 | 58 |
| 56 } // namespace media | 59 } // namespace media |
| OLD | NEW |