| // Copyright 2017 The Fuchsia 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 "src/modular/lib/fidl/proxy.h" | |
| #include <lib/syslog/cpp/macros.h> | |
| namespace modular { | |
| ProxySet::ProxySet() = default; | |
| ProxySet::~ProxySet() = default; | |
| void ProxySet::Drop(ProxyBase* const proxy) { | |
| auto i = std::remove_if(proxies_.begin(), proxies_.end(), | |
| [proxy](std::unique_ptr<ProxyBase>& p) { return proxy == p.get(); }); | |
| FX_DCHECK(i != proxies_.end()); | |
| proxies_.erase(i, proxies_.end()); | |
| } | |
| ProxyBase::ProxyBase(ProxySet* const set) : set_(set) {} | |
| ProxyBase::~ProxyBase() = default; | |
| void ProxyBase::Drop() { set_->Drop(this); } | |
| } // namespace modular |