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

Unified Diff: media/midi/midi_manager_alsa.cc

Issue 1096983002: Update usages of std::map to use ScopedPtrMap. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@passwordmanager-scopedmemory
Patch Set: Fix Mac compile. Created 5 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: media/midi/midi_manager_alsa.cc
diff --git a/media/midi/midi_manager_alsa.cc b/media/midi/midi_manager_alsa.cc
index 677287f319ba60681242bcf58887895fab965477..adaedc1fa8b61b33199ee0806f2acf9d1a7ed753 100644
--- a/media/midi/midi_manager_alsa.cc
+++ b/media/midi/midi_manager_alsa.cc
@@ -149,7 +149,6 @@ MidiManagerAlsa::MidiManagerAlsa()
out_client_(NULL),
out_client_id_(-1),
in_port_id_(-1),
- alsa_cards_deleter_(&alsa_cards_),
alsa_card_midi_count_(0),
decoder_(NULL),
udev_(device::udev_new()),
@@ -596,8 +595,7 @@ uint32 MidiManagerAlsa::MidiPortState::Insert(scoped_ptr<MidiPort> port) {
return web_port_index;
}
-MidiManagerAlsa::AlsaSeqState::AlsaSeqState()
- : clients_deleter_(&clients_), card_client_count_(0) {
+MidiManagerAlsa::AlsaSeqState::AlsaSeqState() : card_client_count_(0) {
}
MidiManagerAlsa::AlsaSeqState::~AlsaSeqState() = default;
@@ -606,7 +604,7 @@ void MidiManagerAlsa::AlsaSeqState::ClientStart(int client_id,
const std::string& client_name,
snd_seq_client_type_t type) {
ClientExit(client_id);
- clients_[client_id] = new Client(client_name, type);
+ clients_.insert(client_id, make_scoped_ptr(new Client(client_name, type)));
if (IsCardClient(type, client_id))
++card_client_count_;
}
@@ -620,7 +618,6 @@ void MidiManagerAlsa::AlsaSeqState::ClientExit(int client_id) {
if (it != clients_.end()) {
if (IsCardClient(it->second->type(), client_id))
--card_client_count_;
- delete it->second;
clients_.erase(it);
}
}
@@ -737,23 +734,18 @@ MidiManagerAlsa::AlsaSeqState::Port::~Port() = default;
MidiManagerAlsa::AlsaSeqState::Client::Client(const std::string& name,
snd_seq_client_type_t type)
- : name_(name), type_(type), ports_deleter_(&ports_) {
+ : name_(name), type_(type) {
}
MidiManagerAlsa::AlsaSeqState::Client::~Client() = default;
void MidiManagerAlsa::AlsaSeqState::Client::AddPort(int addr,
scoped_ptr<Port> port) {
- RemovePort(addr);
- ports_[addr] = port.release();
+ ports_.set(addr, port.Pass());
}
void MidiManagerAlsa::AlsaSeqState::Client::RemovePort(int addr) {
- auto it = ports_.find(addr);
- if (it != ports_.end()) {
- delete it->second;
- ports_.erase(it);
- }
+ ports_.erase(addr);
}
MidiManagerAlsa::AlsaSeqState::Client::PortMap::const_iterator
@@ -1136,9 +1128,12 @@ void MidiManagerAlsa::AddCard(udev_device* dev) {
}
snd_ctl_close(handle);
- if (midi_count > 0)
- alsa_cards_[number] = new AlsaCard(dev, name, longname, driver, midi_count);
- alsa_card_midi_count_ += midi_count;
+ if (midi_count > 0) {
+ scoped_ptr<AlsaCard> card(
+ new AlsaCard(dev, name, longname, driver, midi_count));
+ alsa_cards_.insert(number, card.Pass());
+ alsa_card_midi_count_ += midi_count;
+ }
}
void MidiManagerAlsa::RemoveCard(int number) {
@@ -1147,7 +1142,6 @@ void MidiManagerAlsa::RemoveCard(int number) {
return;
alsa_card_midi_count_ -= it->second->midi_device_count();
- delete it->second;
alsa_cards_.erase(it);
}

Powered by Google App Engine
This is Rietveld 408576698