mock_dhcp_provider.h revision d48fa0c5531e2102d4f537e81b9f92afc2d60955
1fb46caf4f23a41e73dfd87547121b5fb0230295aThieu Le// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
277cb681ab58c6623464a355e646138ab84d38573Darin Petkov// Use of this source code is governed by a BSD-style license that can be
377cb681ab58c6623464a355e646138ab84d38573Darin Petkov// found in the LICENSE file.
477cb681ab58c6623464a355e646138ab84d38573Darin Petkov
5675d0b0f04936050a357722f52dc078a3ab671d8Peter Qiu#ifndef SHILL_DHCP_MOCK_DHCP_PROVIDER_H_
6675d0b0f04936050a357722f52dc078a3ab671d8Peter Qiu#define SHILL_DHCP_MOCK_DHCP_PROVIDER_H_
777cb681ab58c6623464a355e646138ab84d38573Darin Petkov
8ed2c28c6e3c0bc2f9d8832fee083868304178f08Hristo Stefanov#include <string>
9ed2c28c6e3c0bc2f9d8832fee083868304178f08Hristo Stefanov
10cc67c52a2c00f90e877971d552208dd99825d84eBen Chan#include <base/macros.h>
1177cb681ab58c6623464a355e646138ab84d38573Darin Petkov#include <gmock/gmock.h>
1277cb681ab58c6623464a355e646138ab84d38573Darin Petkov
13675d0b0f04936050a357722f52dc078a3ab671d8Peter Qiu#include "shill/dhcp/dhcp_config.h"
14675d0b0f04936050a357722f52dc078a3ab671d8Peter Qiu#include "shill/dhcp/dhcp_provider.h"
15f2f68a50aabcde256cabad0041c357cbacaeb3e0mukesh agrawal#include "shill/refptr_types.h"
1677cb681ab58c6623464a355e646138ab84d38573Darin Petkov
1777cb681ab58c6623464a355e646138ab84d38573Darin Petkovnamespace shill {
1877cb681ab58c6623464a355e646138ab84d38573Darin Petkov
1977cb681ab58c6623464a355e646138ab84d38573Darin Petkovclass MockDHCPProvider : public DHCPProvider {
2077cb681ab58c6623464a355e646138ab84d38573Darin Petkov public:
211bdedf1296df51b2566c8d73299d52546167b971Darin Petkov  MockDHCPProvider();
225ea763b83299b5fad76a87183fb39a74c2d3c61dBen Chan  ~MockDHCPProvider() override;
231bdedf1296df51b2566c8d73299d52546167b971Darin Petkov
243bdf1abfba480415a4714108e615649f422197e0Paul Stewart  MOCK_METHOD4(Init,
253bdf1abfba480415a4714108e615649f422197e0Paul Stewart               void(ControlInterface *, EventDispatcher *, GLib *, Metrics *));
268e0151e84f077cc9c0646d5bafd925ed235a1c12Peter Qiu  MOCK_METHOD4(CreateIPv4Config,
27d408fdf69489e3199c63796a06f7cfbbb4513515Paul Stewart               DHCPConfigRefPtr(const std::string &device_name,
28d408fdf69489e3199c63796a06f7cfbbb4513515Paul Stewart                                const std::string &host_name,
29d408fdf69489e3199c63796a06f7cfbbb4513515Paul Stewart                                const std::string &storage_identifier,
30b108318d9554032feee1249d51c961e4f90f4561Paul Stewart                                bool arp_gateway));
31d48fa0c5531e2102d4f537e81b9f92afc2d60955Peter Qiu  MOCK_METHOD2(CreateIPv6Config,
32d48fa0c5531e2102d4f537e81b9f92afc2d60955Peter Qiu               DHCPConfigRefPtr(const std::string &device_name,
33d48fa0c5531e2102d4f537e81b9f92afc2d60955Peter Qiu                                const std::string &storage_identifier));
341bdedf1296df51b2566c8d73299d52546167b971Darin Petkov
351bdedf1296df51b2566c8d73299d52546167b971Darin Petkov private:
361bdedf1296df51b2566c8d73299d52546167b971Darin Petkov  DISALLOW_COPY_AND_ASSIGN(MockDHCPProvider);
3777cb681ab58c6623464a355e646138ab84d38573Darin Petkov};
3877cb681ab58c6623464a355e646138ab84d38573Darin Petkov
3977cb681ab58c6623464a355e646138ab84d38573Darin Petkov}  // namespace shill
4077cb681ab58c6623464a355e646138ab84d38573Darin Petkov
41675d0b0f04936050a357722f52dc078a3ab671d8Peter Qiu#endif  // SHILL_DHCP_MOCK_DHCP_PROVIDER_H_
42