// 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