blob: bd86645142313a80ebcd1a288cb66f630d47737c [file] [log] [blame]
Gary Morainac1bdb42012-02-16 17:42:29 -08001// Copyright (c) 2012 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_POWER_MANAGER_
6#define SHILL_MOCK_POWER_MANAGER_
7
8#include <base/basictypes.h>
9#include <gmock/gmock.h>
10
11#include "shill/power_manager.h"
12
13namespace shill {
14
15class ProxyFactory;
16
17class MockPowerManager : public PowerManager {
18 public:
19 explicit MockPowerManager(ProxyFactory *proxy_factory);
20 virtual ~MockPowerManager();
21 MOCK_METHOD2(AddStateChangeCallback,
Eric Shienbrood3e20a232012-02-16 11:35:56 -050022 void(const std::string &key,
23 const PowerStateCallback &callback));
Gary Morain52fabab2012-08-22 09:27:31 -070024 MOCK_METHOD2(AddSuspendDelayCallback,
25 void(const std::string &key,
26 const SuspendDelayCallback &callback));
Gary Morainac1bdb42012-02-16 17:42:29 -080027 MOCK_METHOD1(RemoveStateChangeCallback, void(const std::string &key));
Gary Morain52fabab2012-08-22 09:27:31 -070028 MOCK_METHOD1(RemoveSuspendDelayCallback, void(const std::string &key));
Gary Morainac1bdb42012-02-16 17:42:29 -080029
30 private:
31 DISALLOW_COPY_AND_ASSIGN(MockPowerManager);
32};
33
34} // namespace shill
35
36#endif // SHILL_MOCK_POWER_MANAGER_