blob: 5508802e9b128d3a79cfb469bddd9997602bb869 [file] [log] [blame]
Peter Qiuc0beca52015-09-03 11:25:46 -07001//
2// Copyright (C) 2012 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
Gary Morainac1bdb42012-02-16 17:42:29 -080016
Darin Petkov3ec55342012-09-28 14:04:44 +020017#ifndef SHILL_MOCK_POWER_MANAGER_H_
18#define SHILL_MOCK_POWER_MANAGER_H_
Gary Morainac1bdb42012-02-16 17:42:29 -080019
Alex Vakulenko8a532292014-06-16 17:18:44 -070020#include <string>
21
Ben Chancc67c522014-09-03 07:19:18 -070022#include <base/macros.h>
Gary Morainac1bdb42012-02-16 17:42:29 -080023#include <gmock/gmock.h>
24
25#include "shill/power_manager.h"
26
27namespace shill {
28
Peter Qiu608ec292015-07-30 15:46:16 -070029class ControlInterface;
Gary Morainac1bdb42012-02-16 17:42:29 -080030
31class MockPowerManager : public PowerManager {
32 public:
Peter Qiu608ec292015-07-30 15:46:16 -070033 MockPowerManager(EventDispatcher* dispatcher,
34 ControlInterface* control_interface);
Ben Chan5ea763b2014-08-13 11:07:54 -070035 ~MockPowerManager() override;
Darin Petkov3ec55342012-09-28 14:04:44 +020036
Prathmesh Prabhu9fdb84b2014-08-21 18:41:58 -070037 MOCK_METHOD0(ReportSuspendReadiness, bool());
Samuel Tan68b73d22014-10-28 17:00:56 -070038 MOCK_METHOD0(ReportDarkSuspendReadiness, bool());
Peter Qiu77236772015-08-13 13:03:43 -070039 MOCK_METHOD4(
Prathmesh Prabhu9fdb84b2014-08-21 18:41:58 -070040 Start,
Peter Qiu77236772015-08-13 13:03:43 -070041 void(base::TimeDelta suspend_delay,
Paul Stewart1e006c62015-06-16 12:29:06 -070042 const PowerManager::SuspendImminentCallback& imminent_callback,
43 const PowerManager::SuspendDoneCallback& done_callback,
44 const PowerManager::DarkSuspendImminentCallback& dark_imminent));
Prathmesh Prabhu9fdb84b2014-08-21 18:41:58 -070045 MOCK_METHOD0(Stop, void());
Gary Morainac1bdb42012-02-16 17:42:29 -080046
47 private:
48 DISALLOW_COPY_AND_ASSIGN(MockPowerManager);
49};
50
51} // namespace shill
52
Darin Petkov3ec55342012-09-28 14:04:44 +020053#endif // SHILL_MOCK_POWER_MANAGER_H_