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

Side by Side Diff: media/midi/midi_manager_android.cc

Issue 1915443003: Replace scoped_ptr with std::unique_ptr in //media. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@scopedptr-media-base
Patch Set: scopedptr-media: rebase Created 4 years, 8 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
« no previous file with comments | « media/midi/midi_manager_android.h ('k') | media/midi/midi_manager_mac_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/midi/midi_manager_android.h" 5 #include "media/midi/midi_manager_android.h"
6 6
7 #include "base/android/build_info.h" 7 #include "base/android/build_info.h"
8 #include "base/android/context_utils.h" 8 #include "base/android/context_utils.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/ptr_util.h"
11 #include "base/strings/stringprintf.h" 11 #include "base/strings/stringprintf.h"
12 #include "jni/MidiManagerAndroid_jni.h" 12 #include "jni/MidiManagerAndroid_jni.h"
13 #include "media/midi/midi_device_android.h" 13 #include "media/midi/midi_device_android.h"
14 #include "media/midi/midi_manager_usb.h" 14 #include "media/midi/midi_manager_usb.h"
15 #include "media/midi/midi_output_port_android.h" 15 #include "media/midi/midi_output_port_android.h"
16 #include "media/midi/midi_switches.h" 16 #include "media/midi/midi_switches.h"
17 #include "media/midi/usb_midi_device_factory_android.h" 17 #include "media/midi/usb_midi_device_factory_android.h"
18 18
19 namespace media { 19 namespace media {
20 namespace midi { 20 namespace midi {
21 21
22 MidiManager* MidiManager::Create() { 22 MidiManager* MidiManager::Create() {
23 auto sdk_version = base::android::BuildInfo::GetInstance()->sdk_int(); 23 auto sdk_version = base::android::BuildInfo::GetInstance()->sdk_int();
24 if (sdk_version <= base::android::SDK_VERSION_LOLLIPOP_MR1 || 24 if (sdk_version <= base::android::SDK_VERSION_LOLLIPOP_MR1 ||
25 !base::CommandLine::ForCurrentProcess()->HasSwitch( 25 !base::CommandLine::ForCurrentProcess()->HasSwitch(
26 switches::kUseAndroidMidiApi)) { 26 switches::kUseAndroidMidiApi)) {
27 return new MidiManagerUsb( 27 return new MidiManagerUsb(std::unique_ptr<UsbMidiDevice::Factory>(
28 scoped_ptr<UsbMidiDevice::Factory>(new UsbMidiDeviceFactoryAndroid)); 28 new UsbMidiDeviceFactoryAndroid));
29 } 29 }
30 30
31 return new MidiManagerAndroid(); 31 return new MidiManagerAndroid();
32 } 32 }
33 33
34 MidiManagerAndroid::MidiManagerAndroid() {} 34 MidiManagerAndroid::MidiManagerAndroid() {}
35 35
36 MidiManagerAndroid::~MidiManagerAndroid() {} 36 MidiManagerAndroid::~MidiManagerAndroid() {}
37 37
38 void MidiManagerAndroid::StartInitialization() { 38 void MidiManagerAndroid::StartInitialization() {
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 } 85 }
86 86
87 void MidiManagerAndroid::OnInitialized( 87 void MidiManagerAndroid::OnInitialized(
88 JNIEnv* env, 88 JNIEnv* env,
89 const JavaParamRef<jobject>& caller, 89 const JavaParamRef<jobject>& caller,
90 const JavaParamRef<jobjectArray>& devices) { 90 const JavaParamRef<jobjectArray>& devices) {
91 jsize length = env->GetArrayLength(devices); 91 jsize length = env->GetArrayLength(devices);
92 92
93 for (jsize i = 0; i < length; ++i) { 93 for (jsize i = 0; i < length; ++i) {
94 jobject raw_device = env->GetObjectArrayElement(devices, i); 94 jobject raw_device = env->GetObjectArrayElement(devices, i);
95 AddDevice(make_scoped_ptr(new MidiDeviceAndroid(env, raw_device, this))); 95 AddDevice(base::WrapUnique(new MidiDeviceAndroid(env, raw_device, this)));
96 } 96 }
97 CompleteInitialization(Result::OK); 97 CompleteInitialization(Result::OK);
98 } 98 }
99 99
100 void MidiManagerAndroid::OnAttached(JNIEnv* env, 100 void MidiManagerAndroid::OnAttached(JNIEnv* env,
101 const JavaParamRef<jobject>& caller, 101 const JavaParamRef<jobject>& caller,
102 const JavaParamRef<jobject>& raw_device) { 102 const JavaParamRef<jobject>& raw_device) {
103 AddDevice(make_scoped_ptr(new MidiDeviceAndroid(env, raw_device, this))); 103 AddDevice(base::WrapUnique(new MidiDeviceAndroid(env, raw_device, this)));
104 } 104 }
105 105
106 void MidiManagerAndroid::OnDetached(JNIEnv* env, 106 void MidiManagerAndroid::OnDetached(JNIEnv* env,
107 const JavaParamRef<jobject>& caller, 107 const JavaParamRef<jobject>& caller,
108 const JavaParamRef<jobject>& raw_device) { 108 const JavaParamRef<jobject>& raw_device) {
109 for (const auto& device : devices_) { 109 for (const auto& device : devices_) {
110 if (device->HasRawDevice(env, raw_device)) { 110 if (device->HasRawDevice(env, raw_device)) {
111 for (const auto& port : device->input_ports()) { 111 for (const auto& port : device->input_ports()) {
112 DCHECK(input_port_to_index_.end() != input_port_to_index_.find(port)); 112 DCHECK(input_port_to_index_.end() != input_port_to_index_.find(port));
113 size_t index = input_port_to_index_[port]; 113 size_t index = input_port_to_index_[port];
114 SetInputPortState(index, MIDI_PORT_DISCONNECTED); 114 SetInputPortState(index, MIDI_PORT_DISCONNECTED);
115 } 115 }
116 for (const auto& port : device->output_ports()) { 116 for (const auto& port : device->output_ports()) {
117 DCHECK(output_port_to_index_.end() != output_port_to_index_.find(port)); 117 DCHECK(output_port_to_index_.end() != output_port_to_index_.find(port));
118 size_t index = output_port_to_index_[port]; 118 size_t index = output_port_to_index_[port];
119 SetOutputPortState(index, MIDI_PORT_DISCONNECTED); 119 SetOutputPortState(index, MIDI_PORT_DISCONNECTED);
120 } 120 }
121 } 121 }
122 } 122 }
123 } 123 }
124 124
125 void MidiManagerAndroid::AddDevice(scoped_ptr<MidiDeviceAndroid> device) { 125 void MidiManagerAndroid::AddDevice(std::unique_ptr<MidiDeviceAndroid> device) {
126 for (auto& port : device->input_ports()) { 126 for (auto& port : device->input_ports()) {
127 // We implicitly open input ports here, because there are no signal 127 // We implicitly open input ports here, because there are no signal
128 // from the renderer when to open. 128 // from the renderer when to open.
129 // TODO(yhirano): Implement open operation in Blink. 129 // TODO(yhirano): Implement open operation in Blink.
130 MidiPortState state = port->Open() ? MIDI_PORT_OPENED : MIDI_PORT_CONNECTED; 130 MidiPortState state = port->Open() ? MIDI_PORT_OPENED : MIDI_PORT_CONNECTED;
131 131
132 const size_t index = all_input_ports_.size(); 132 const size_t index = all_input_ports_.size();
133 all_input_ports_.push_back(port); 133 all_input_ports_.push_back(port);
134 // Port ID must be unique in a MIDI manager. This ID setting is 134 // Port ID must be unique in a MIDI manager. This ID setting is
135 // sufficiently unique although there is no user-friendly meaning. 135 // sufficiently unique although there is no user-friendly meaning.
(...skipping 23 matching lines...) Expand all
159 } 159 }
160 devices_.push_back(device.release()); 160 devices_.push_back(device.release());
161 } 161 }
162 162
163 bool MidiManagerAndroid::Register(JNIEnv* env) { 163 bool MidiManagerAndroid::Register(JNIEnv* env) {
164 return RegisterNativesImpl(env); 164 return RegisterNativesImpl(env);
165 } 165 }
166 166
167 } // namespace midi 167 } // namespace midi
168 } // namespace media 168 } // namespace media
OLDNEW
« no previous file with comments | « media/midi/midi_manager_android.h ('k') | media/midi/midi_manager_mac_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698