blob: 2d853dba27bc019bd02ef28c59c181cad62ecac8 [file] [log] [blame]
Darin Petkov36a3ace2012-03-06 17:22:14 +01001// 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_VPN_
6#define SHILL_MOCK_VPN_
7
8#include <gmock/gmock.h>
9
10#include "shill/vpn.h"
11
12namespace shill {
13
14class MockVPN : public VPN {
15 public:
16 MockVPN(ControlInterface *control,
17 EventDispatcher *dispatcher,
18 Metrics *metrics,
19 Manager *manager,
20 const std::string &link_name,
21 int interface_index);
22 virtual ~MockVPN();
23
Eric Shienbrood9a245532012-03-07 14:20:39 -050024 MOCK_METHOD2(Stop, void(Error *error,
25 const EnabledStateChangedCallback &callback));
Darin Petkov79d74c92012-03-07 17:20:32 +010026 MOCK_METHOD1(UpdateIPConfig, void(const IPConfig::Properties &properties));
27 MOCK_METHOD0(OnDisconnected, void());
Eric Shienbrood9a245532012-03-07 14:20:39 -050028 MOCK_METHOD1(SetEnabled, void(bool));
Darin Petkov36a3ace2012-03-06 17:22:14 +010029
30 private:
31 DISALLOW_COPY_AND_ASSIGN(MockVPN);
32};
33
34} // namespace shill
35
36#endif // SHILL_MOCK_VPN_