blob: f30c37d6cb493ea95874fb647e573fd69c76ce55 [file] [log] [blame]
Paul Stewartc2350ee2011-10-19 12:28:40 -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_EVENT_DISPATCHER_H_
6#define SHILL_MOCK_EVENT_DISPATCHER_H_
7
8#include <base/basictypes.h>
9#include <gmock/gmock.h>
10
11#include "shill/event_dispatcher.h"
12
13namespace shill {
14
15class MockEventDispatcher : public EventDispatcher {
16 public:
17 MockEventDispatcher();
18 virtual ~MockEventDispatcher();
19
20 MOCK_METHOD0(DispatchForever, void());
21 MOCK_METHOD0(DispatchPendingEvents, void());
22 MOCK_METHOD1(PostTask, bool(Task *task));
23 MOCK_METHOD2(PostDelayedTask, bool(Task *task, int64 delay_ms));
24 MOCK_METHOD2(CreateInputHandler,
25 IOHandler *(int fd, Callback1<InputData *>::Type *callback));
26
27 MOCK_METHOD3(CreateReadyHandler,
28 IOHandler *(int fd,
29 IOHandler::ReadyMode mode,
30 Callback1<int>::Type *callback));
31
32 private:
33 DISALLOW_COPY_AND_ASSIGN(MockEventDispatcher);
34};
35
36} // namespace shill
37
38#endif // SHILL_MOCK_EVENT_DISPATCHER_H_