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

Side by Side Diff: services/media/factory_service/factory_service.cc

Issue 1945903006: Motown: Move responsibility for binding to MediaFactoryService::Product (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Change per feedback - rename Abort to UnbindAndReleaseFromOwner Created 4 years, 7 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
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "services/media/factory_service/factory_service.h" 5 #include "services/media/factory_service/factory_service.h"
6 #include "services/media/factory_service/media_decoder_impl.h" 6 #include "services/media/factory_service/media_decoder_impl.h"
7 #include "services/media/factory_service/media_demux_impl.h" 7 #include "services/media/factory_service/media_demux_impl.h"
8 #include "services/media/factory_service/media_player_impl.h" 8 #include "services/media/factory_service/media_player_impl.h"
9 #include "services/media/factory_service/media_sink_impl.h" 9 #include "services/media/factory_service/media_sink_impl.h"
10 #include "services/media/factory_service/media_source_impl.h" 10 #include "services/media/factory_service/media_source_impl.h"
11 #include "services/media/factory_service/network_reader_impl.h" 11 #include "services/media/factory_service/network_reader_impl.h"
12 12
13 namespace mojo { 13 namespace mojo {
14 namespace media { 14 namespace media {
15 15
16 MediaFactoryService::Product::Product(MediaFactoryService* owner) 16 MediaFactoryService::ProductBase::ProductBase(MediaFactoryService* owner)
17 : owner_(owner) { 17 : owner_(owner) {
18 DCHECK(owner_); 18 DCHECK(owner_);
19 } 19 }
20 20
21 MediaFactoryService::Product::~Product() {} 21 MediaFactoryService::ProductBase::~ProductBase() {}
22 22
23 MediaFactoryService::MediaFactoryService() {} 23 MediaFactoryService::MediaFactoryService() {}
24 24
25 MediaFactoryService::~MediaFactoryService() {} 25 MediaFactoryService::~MediaFactoryService() {}
26 26
27 void MediaFactoryService::Initialize(ApplicationImpl* app) { 27 void MediaFactoryService::Initialize(ApplicationImpl* app) {
28 app_ = app; 28 app_ = app;
29 } 29 }
30 30
31 bool MediaFactoryService::ConfigureIncomingConnection( 31 bool MediaFactoryService::ConfigureIncomingConnection(
32 ApplicationConnection* connection) { 32 ApplicationConnection* connection) {
33 connection->AddService<MediaFactory>(this); 33 connection->AddService<MediaFactory>(this);
34 return true; 34 return true;
35 } 35 }
36 36
37 void MediaFactoryService::Create(ApplicationConnection* connection, 37 void MediaFactoryService::Create(ApplicationConnection* connection,
38 InterfaceRequest<MediaFactory> request) { 38 InterfaceRequest<MediaFactory> request) {
39 bindings_.AddBinding(this, request.Pass()); 39 bindings_.AddBinding(this, request.Pass());
40 } 40 }
41 41
42 void MediaFactoryService::CreatePlayer(InterfaceHandle<SeekingReader> reader, 42 void MediaFactoryService::CreatePlayer(InterfaceHandle<SeekingReader> reader,
43 InterfaceRequest<MediaPlayer> player) { 43 InterfaceRequest<MediaPlayer> player) {
44 products_.insert(std::static_pointer_cast<Product>( 44 products_.insert(std::static_pointer_cast<ProductBase>(
45 MediaPlayerImpl::Create(reader.Pass(), player.Pass(), this))); 45 MediaPlayerImpl::Create(reader.Pass(), player.Pass(), this)));
46 } 46 }
47 47
48 void MediaFactoryService::CreateSource(InterfaceHandle<SeekingReader> reader, 48 void MediaFactoryService::CreateSource(InterfaceHandle<SeekingReader> reader,
49 Array<MediaTypeSetPtr> media_types, 49 Array<MediaTypeSetPtr> media_types,
50 InterfaceRequest<MediaSource> source) { 50 InterfaceRequest<MediaSource> source) {
51 products_.insert(std::static_pointer_cast<Product>(MediaSourceImpl::Create( 51 products_.insert(
52 reader.Pass(), media_types, source.Pass(), this))); 52 std::static_pointer_cast<ProductBase>(MediaSourceImpl::Create(
53 reader.Pass(), media_types, source.Pass(), this)));
53 } 54 }
54 55
55 void MediaFactoryService::CreateSink(const String& destination_url, 56 void MediaFactoryService::CreateSink(const String& destination_url,
56 MediaTypePtr media_type, 57 MediaTypePtr media_type,
57 InterfaceRequest<MediaSink> sink) { 58 InterfaceRequest<MediaSink> sink) {
58 products_.insert(std::static_pointer_cast<Product>(MediaSinkImpl::Create( 59 products_.insert(std::static_pointer_cast<ProductBase>(MediaSinkImpl::Create(
59 destination_url, media_type.Pass(), sink.Pass(), this))); 60 destination_url, media_type.Pass(), sink.Pass(), this)));
60 } 61 }
61 62
62 void MediaFactoryService::CreateDemux(InterfaceHandle<SeekingReader> reader, 63 void MediaFactoryService::CreateDemux(InterfaceHandle<SeekingReader> reader,
63 InterfaceRequest<MediaDemux> demux) { 64 InterfaceRequest<MediaDemux> demux) {
64 products_.insert(std::static_pointer_cast<Product>( 65 products_.insert(std::static_pointer_cast<ProductBase>(
65 MediaDemuxImpl::Create(reader.Pass(), demux.Pass(), this))); 66 MediaDemuxImpl::Create(reader.Pass(), demux.Pass(), this)));
66 } 67 }
67 68
68 void MediaFactoryService::CreateDecoder( 69 void MediaFactoryService::CreateDecoder(
69 MediaTypePtr input_media_type, 70 MediaTypePtr input_media_type,
70 InterfaceRequest<MediaTypeConverter> decoder) { 71 InterfaceRequest<MediaTypeConverter> decoder) {
71 products_.insert(std::static_pointer_cast<Product>( 72 products_.insert(std::static_pointer_cast<ProductBase>(
72 MediaDecoderImpl::Create(input_media_type.Pass(), decoder.Pass(), this))); 73 MediaDecoderImpl::Create(input_media_type.Pass(), decoder.Pass(), this)));
73 } 74 }
74 75
75 void MediaFactoryService::CreateNetworkReader( 76 void MediaFactoryService::CreateNetworkReader(
76 const String& url, 77 const String& url,
77 InterfaceRequest<SeekingReader> reader) { 78 InterfaceRequest<SeekingReader> reader) {
78 products_.insert(std::static_pointer_cast<Product>( 79 products_.insert(std::static_pointer_cast<ProductBase>(
79 NetworkReaderImpl::Create(url, reader.Pass(), this))); 80 NetworkReaderImpl::Create(url, reader.Pass(), this)));
80 } 81 }
81 82
82 } // namespace media 83 } // namespace media
83 } // namespace mojo 84 } // namespace mojo
OLDNEW
« no previous file with comments | « services/media/factory_service/factory_service.h ('k') | services/media/factory_service/media_decoder_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698