| Index: media/midi/midi_manager_alsa.cc
|
| diff --git a/media/midi/midi_manager_alsa.cc b/media/midi/midi_manager_alsa.cc
|
| index d3c4c5e7e2997e0a99a39d2b959bc91436523d17..6f6a686258c8decf489e4492405b5ae877f814b7 100644
|
| --- a/media/midi/midi_manager_alsa.cc
|
| +++ b/media/midi/midi_manager_alsa.cc
|
| @@ -8,6 +8,7 @@
|
| #include <poll.h>
|
| #include <stddef.h>
|
| #include <stdlib.h>
|
| +
|
| #include <algorithm>
|
| #include <string>
|
| #include <utility>
|
| @@ -16,6 +17,7 @@
|
| #include "base/json/json_string_value_serializer.h"
|
| #include "base/logging.h"
|
| #include "base/macros.h"
|
| +#include "base/memory/ptr_util.h"
|
| #include "base/message_loop/message_loop.h"
|
| #include "base/posix/eintr_wrapper.h"
|
| #include "base/posix/safe_strerror.h"
|
| @@ -397,8 +399,8 @@ MidiManagerAlsa::MidiPort::MidiPort(const std::string& path,
|
| MidiManagerAlsa::MidiPort::~MidiPort() = default;
|
|
|
| // Note: keep synchronized with the MidiPort::Match* methods.
|
| -scoped_ptr<base::Value> MidiManagerAlsa::MidiPort::Value() const {
|
| - scoped_ptr<base::DictionaryValue> value(new base::DictionaryValue);
|
| +std::unique_ptr<base::Value> MidiManagerAlsa::MidiPort::Value() const {
|
| + std::unique_ptr<base::DictionaryValue> value(new base::DictionaryValue);
|
|
|
| std::string type;
|
| switch (type_) {
|
| @@ -532,9 +534,10 @@ MidiManagerAlsa::MidiPortStateBase::iterator
|
| MidiManagerAlsa::MidiPortStateBase::FindConnected(
|
| const MidiManagerAlsa::MidiPort& port) {
|
| // Exact match required for connected ports.
|
| - auto it = std::find_if(
|
| - ports_.begin(), ports_.end(),
|
| - [&port](scoped_ptr<MidiPort>& p) { return p->MatchConnected(port); });
|
| + auto it = std::find_if(ports_.begin(), ports_.end(),
|
| + [&port](std::unique_ptr<MidiPort>& p) {
|
| + return p->MatchConnected(port);
|
| + });
|
| return it;
|
| }
|
|
|
| @@ -558,9 +561,10 @@ MidiManagerAlsa::MidiPortStateBase::FindDisconnected(
|
| // Pass 1. Match on path, id, midi_device, port_id.
|
| // This is the best possible match for hardware card-based clients.
|
| // This will also match the empty id correctly for devices without an id.
|
| - auto it = std::find_if(
|
| - ports_.begin(), ports_.end(),
|
| - [&port](scoped_ptr<MidiPort>& p) { return p->MatchCardPass1(port); });
|
| + auto it = std::find_if(ports_.begin(), ports_.end(),
|
| + [&port](std::unique_ptr<MidiPort>& p) {
|
| + return p->MatchCardPass1(port);
|
| + });
|
| if (it != ports_.end())
|
| return it;
|
|
|
| @@ -569,9 +573,10 @@ MidiManagerAlsa::MidiPortStateBase::FindDisconnected(
|
| // This will give us a high-confidence match when a user moves a device to
|
| // another USB/Firewire/Thunderbolt/etc port, but only works if the device
|
| // has a hardware id.
|
| - it = std::find_if(
|
| - ports_.begin(), ports_.end(),
|
| - [&port](scoped_ptr<MidiPort>& p) { return p->MatchCardPass2(port); });
|
| + it = std::find_if(ports_.begin(), ports_.end(),
|
| + [&port](std::unique_ptr<MidiPort>& p) {
|
| + return p->MatchCardPass2(port);
|
| + });
|
| if (it != ports_.end())
|
| return it;
|
| }
|
| @@ -579,18 +584,20 @@ MidiManagerAlsa::MidiPortStateBase::FindDisconnected(
|
| // Else, we have a non-card-based client.
|
| // Pass 1. Match on client_id, port_id, client_name, port_name.
|
| // This will give us a reasonably good match.
|
| - auto it = std::find_if(
|
| - ports_.begin(), ports_.end(),
|
| - [&port](scoped_ptr<MidiPort>& p) { return p->MatchNoCardPass1(port); });
|
| + auto it = std::find_if(ports_.begin(), ports_.end(),
|
| + [&port](std::unique_ptr<MidiPort>& p) {
|
| + return p->MatchNoCardPass1(port);
|
| + });
|
| if (it != ports_.end())
|
| return it;
|
|
|
| // Pass 2. Match on port_id, client_name, port_name.
|
| // This is weaker but similar to pass 2 in the hardware card-based clients
|
| // match.
|
| - it = std::find_if(
|
| - ports_.begin(), ports_.end(),
|
| - [&port](scoped_ptr<MidiPort>& p) { return p->MatchNoCardPass2(port); });
|
| + it = std::find_if(ports_.begin(), ports_.end(),
|
| + [&port](std::unique_ptr<MidiPort>& p) {
|
| + return p->MatchNoCardPass2(port);
|
| + });
|
| if (it != ports_.end())
|
| return it;
|
| }
|
| @@ -603,7 +610,8 @@ MidiManagerAlsa::MidiPortStateBase::MidiPortStateBase() = default;
|
|
|
| MidiManagerAlsa::MidiPortState::MidiPortState() = default;
|
|
|
| -uint32_t MidiManagerAlsa::MidiPortState::push_back(scoped_ptr<MidiPort> port) {
|
| +uint32_t MidiManagerAlsa::MidiPortState::push_back(
|
| + std::unique_ptr<MidiPort> port) {
|
| // Add the web midi index.
|
| uint32_t web_port_index = 0;
|
| switch (port->type()) {
|
| @@ -628,7 +636,7 @@ void MidiManagerAlsa::AlsaSeqState::ClientStart(int client_id,
|
| snd_seq_client_type_t type) {
|
| ClientExit(client_id);
|
| clients_.insert(std::make_pair(
|
| - client_id, make_scoped_ptr(new Client(client_name, type))));
|
| + client_id, base::WrapUnique(new Client(client_name, type))));
|
| if (IsCardClient(type, client_id))
|
| ++card_client_count_;
|
| }
|
| @@ -655,7 +663,7 @@ void MidiManagerAlsa::AlsaSeqState::PortStart(
|
| auto it = clients_.find(client_id);
|
| if (it != clients_.end())
|
| it->second->AddPort(port_id,
|
| - make_scoped_ptr(new Port(port_name, direction, midi)));
|
| + base::WrapUnique(new Port(port_name, direction, midi)));
|
| }
|
|
|
| void MidiManagerAlsa::AlsaSeqState::PortExit(int client_id, int port_id) {
|
| @@ -672,9 +680,9 @@ snd_seq_client_type_t MidiManagerAlsa::AlsaSeqState::ClientType(
|
| return it->second->type();
|
| }
|
|
|
| -scoped_ptr<MidiManagerAlsa::TemporaryMidiPortState>
|
| +std::unique_ptr<MidiManagerAlsa::TemporaryMidiPortState>
|
| MidiManagerAlsa::AlsaSeqState::ToMidiPortState(const AlsaCardMap& alsa_cards) {
|
| - scoped_ptr<MidiManagerAlsa::TemporaryMidiPortState> midi_ports(
|
| + std::unique_ptr<MidiManagerAlsa::TemporaryMidiPortState> midi_ports(
|
| new TemporaryMidiPortState);
|
| auto card_it = alsa_cards.begin();
|
|
|
| @@ -728,13 +736,13 @@ MidiManagerAlsa::AlsaSeqState::ToMidiPortState(const AlsaCardMap& alsa_cards) {
|
| PortDirection direction = port->direction();
|
| if (direction == PortDirection::kInput ||
|
| direction == PortDirection::kDuplex) {
|
| - midi_ports->push_back(make_scoped_ptr(new MidiPort(
|
| + midi_ports->push_back(base::WrapUnique(new MidiPort(
|
| path, id, client_id, port_id, midi_device, client->name(),
|
| port->name(), manufacturer, version, MidiPort::Type::kInput)));
|
| }
|
| if (direction == PortDirection::kOutput ||
|
| direction == PortDirection::kDuplex) {
|
| - midi_ports->push_back(make_scoped_ptr(new MidiPort(
|
| + midi_ports->push_back(base::WrapUnique(new MidiPort(
|
| path, id, client_id, port_id, midi_device, client->name(),
|
| port->name(), manufacturer, version, MidiPort::Type::kOutput)));
|
| }
|
| @@ -761,8 +769,9 @@ MidiManagerAlsa::AlsaSeqState::Client::Client(const std::string& name,
|
|
|
| MidiManagerAlsa::AlsaSeqState::Client::~Client() = default;
|
|
|
| -void MidiManagerAlsa::AlsaSeqState::Client::AddPort(int addr,
|
| - scoped_ptr<Port> port) {
|
| +void MidiManagerAlsa::AlsaSeqState::Client::AddPort(
|
| + int addr,
|
| + std::unique_ptr<Port> port) {
|
| ports_[addr] = std::move(port);
|
| }
|
|
|
| @@ -1153,7 +1162,7 @@ void MidiManagerAlsa::AddCard(udev_device* dev) {
|
| snd_ctl_close(handle);
|
|
|
| if (midi_count > 0) {
|
| - scoped_ptr<AlsaCard> card(
|
| + std::unique_ptr<AlsaCard> card(
|
| new AlsaCard(dev, name, longname, driver, midi_count));
|
| alsa_cards_.insert(std::make_pair(number, std::move(card)));
|
| alsa_card_midi_count_ += midi_count;
|
|
|