| // Copyright 2020 The Chromium OS 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 "patchpanel/dbus/fake_client.h" |
| |
| namespace patchpanel { |
| |
| bool FakeClient::NotifyArcStartup(pid_t) { |
| return true; |
| } |
| |
| bool FakeClient::NotifyArcShutdown() { |
| return true; |
| } |
| |
| std::vector<NetworkDevice> FakeClient::NotifyArcVmStartup(uint32_t cid) { |
| return {}; |
| } |
| |
| bool FakeClient::NotifyArcVmShutdown(uint32_t cid) { |
| return true; |
| } |
| |
| bool FakeClient::NotifyTerminaVmStartup(uint32_t cid, |
| NetworkDevice* device, |
| IPv4Subnet* container_subnet) { |
| return true; |
| } |
| |
| bool FakeClient::NotifyTerminaVmShutdown(uint32_t cid) { |
| return true; |
| } |
| |
| bool FakeClient::NotifyPluginVmStartup(uint64_t vm_id, |
| int subnet_index, |
| NetworkDevice* device) { |
| return true; |
| } |
| |
| bool FakeClient::NotifyPluginVmShutdown(uint64_t vm_id) { |
| return true; |
| } |
| |
| bool FakeClient::DefaultVpnRouting(int socket) { |
| return true; |
| } |
| |
| bool FakeClient::RouteOnVpn(int socket) { |
| return true; |
| } |
| |
| bool FakeClient::BypassVpn(int socket) { |
| return true; |
| } |
| |
| std::pair<base::ScopedFD, patchpanel::ConnectNamespaceResponse> |
| FakeClient::ConnectNamespace(pid_t pid, |
| const std::string& outbound_ifname, |
| bool forward_user_traffic) { |
| return {}; |
| } |
| |
| void FakeClient::GetTrafficCounters(const std::set<std::string>& devices, |
| GetTrafficCountersCallback callback) { |
| if (devices.size() == 0) { |
| std::move(callback).Run( |
| {stored_traffic_counters_.begin(), stored_traffic_counters_.end()}); |
| return; |
| } |
| |
| std::vector<TrafficCounter> return_counters; |
| for (const auto& counter : stored_traffic_counters_) { |
| if (devices.find(counter.device()) != devices.end()) |
| return_counters.push_back(counter); |
| } |
| |
| std::move(callback).Run({return_counters.begin(), return_counters.end()}); |
| } |
| |
| bool FakeClient::ModifyPortRule( |
| patchpanel::ModifyPortRuleRequest::Operation op, |
| patchpanel::ModifyPortRuleRequest::RuleType type, |
| patchpanel::ModifyPortRuleRequest::Protocol proto, |
| const std::string& input_ifname, |
| const std::string& input_dst_ip, |
| uint32_t input_dst_port, |
| const std::string& dst_ip, |
| uint32_t dst_port) { |
| return true; |
| } |
| |
| void FakeClient::RegisterNeighborConnectedStateChangedHandler( |
| NeighborConnectedStateChangedHandler handler) { |
| neighbor_handlers_.push_back(handler); |
| } |
| |
| void FakeClient::TriggerNeighborConnectedStateChange( |
| const NeighborConnectedStateChangedSignal& signal) { |
| for (const auto& handler : neighbor_handlers_) |
| handler.Run(signal); |
| } |
| |
| } // namespace patchpanel |