// Copyright 2014 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. #ifndef CHROMEOS_DBUS_FAKE_SHILL_THIRD_PARTY_VPN_DRIVER_CLIENT_H_ #define CHROMEOS_DBUS_FAKE_SHILL_THIRD_PARTY_VPN_DRIVER_CLIENT_H_ #include #include "chromeos/chromeos_export.h" #include "chromeos/dbus/shill_third_party_vpn_driver_client.h" namespace chromeos { // A fake implementation of ShillThirdPartyVpnDriverClient. // The client can generate fake DBus signals when // ShillThirdPartyVpnDriverClient::TestInterface methods are called. The // DBus methods are nops that only acknowledge the caller. class CHROMEOS_EXPORT FakeShillThirdPartyVpnDriverClient : public ShillThirdPartyVpnDriverClient, public ShillThirdPartyVpnDriverClient::TestInterface { public: FakeShillThirdPartyVpnDriverClient(); ~FakeShillThirdPartyVpnDriverClient() override; // ShillThirdPartyVpnDriverClient overrides void Init(dbus::Bus* bus) override; void AddShillThirdPartyVpnObserver( const std::string& object_path_value, ShillThirdPartyVpnObserver* observer) override; void RemoveShillThirdPartyVpnObserver( const std::string& object_path_value) override; void SetParameters( const std::string& object_path_value, const base::DictionaryValue& parameters, const ShillClientHelper::StringCallback& callback, const ShillClientHelper::ErrorCallback& error_callback) override; void UpdateConnectionState( const std::string& object_path_value, const uint32_t connection_state, const base::Closure& callback, const ShillClientHelper::ErrorCallback& error_callback) override; void SendPacket( const std::string& object_path_value, const std::vector& ip_packet, const base::Closure& callback, const ShillClientHelper::ErrorCallback& error_callback) override; ShillThirdPartyVpnDriverClient::TestInterface* GetTestInterface() override; // ShillThirdPartyVpnDriverClient::TestInterface overrides void OnPacketReceived(const std::string& object_path_value, const std::vector& packet) override; void OnPlatformMessage(const std::string& object_path_value, uint32_t message) override; private: using ObserverMap = std::map; ObserverMap observer_map_; DISALLOW_COPY_AND_ASSIGN(FakeShillThirdPartyVpnDriverClient); }; } // namespace chromeos #endif // CHROMEOS_DBUS_FAKE_SHILL_THIRD_PARTY_VPN_DRIVER_CLIENT_H_