blob: ba2f8ff6385462d9ffa8204065192cbaba24e630 [file] [log] [blame]
Chris Masone34af2182011-08-22 11:59:36 -07001// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef SHILL_MOCK_IPCONFIG_
6#define SHILL_MOCK_IPCONFIG_
7
Hristo Stefanoved2c28c2011-11-29 15:37:30 -08008#include <string>
9
Darin Petkovef34f182011-08-26 14:14:40 -070010#include <base/basictypes.h>
Chris Masone34af2182011-08-22 11:59:36 -070011#include <gmock/gmock.h>
12
13#include "shill/ipconfig.h"
14
15namespace shill {
Chris Masone34af2182011-08-22 11:59:36 -070016
17class MockIPConfig : public IPConfig {
18 public:
19 MockIPConfig(ControlInterface *control_interface,
Darin Petkovef34f182011-08-26 14:14:40 -070020 const std::string &device_name);
21 virtual ~MockIPConfig();
Chris Masone34af2182011-08-22 11:59:36 -070022
Thieu Le03026662013-04-04 10:45:11 -070023 MOCK_CONST_METHOD0(properties, const Properties &(void));
Chris Masone34af2182011-08-22 11:59:36 -070024 MOCK_METHOD0(RequestIP, bool(void));
25 MOCK_METHOD0(RenewIP, bool(void));
26 MOCK_METHOD0(ReleaseIP, bool(void));
27
Hristo Stefanoved2c28c2011-11-29 15:37:30 -080028 MOCK_METHOD2(Load, bool(StoreInterface *storage,
29 const std::string &id_suffix));
30 MOCK_METHOD2(Save, bool(StoreInterface *storage,
31 const std::string &id_suffix));
mukesh agrawal7aed61c2013-04-22 16:01:24 -070032 MOCK_METHOD0(EmitChanges, void(void));
Darin Petkovef34f182011-08-26 14:14:40 -070033
34 private:
Thieu Le03026662013-04-04 10:45:11 -070035 const Properties &real_properties() {
36 return IPConfig::properties();
37 }
38
Darin Petkovef34f182011-08-26 14:14:40 -070039 DISALLOW_COPY_AND_ASSIGN(MockIPConfig);
Chris Masone34af2182011-08-22 11:59:36 -070040};
41
42} // namespace shill
43
44#endif // SHILL_MOCK_IPCONFIG_