| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "base/process/port_provider_mac.h" |
| |
| namespace base { |
| |
| PortProvider::PortProvider() : lock_(), observer_list_() {} |
| PortProvider::~PortProvider() {} |
| |
| void PortProvider::AddObserver(Observer* observer) { |
| base::AutoLock l(lock_); |
| observer_list_.AddObserver(observer); |
| } |
| |
| void PortProvider::RemoveObserver(Observer* observer) { |
| base::AutoLock l(lock_); |
| observer_list_.RemoveObserver(observer); |
| } |
| |
| void PortProvider::NotifyObservers(ProcessHandle process) { |
| base::AutoLock l(lock_); |
| for (auto& observer : observer_list_) |
| observer.OnReceivedTaskPort(process); |
| } |
| |
| } // namespace base |