blob: 2d65b0cdeaf2b3b962e5affc1ebd8928075ddb05 [file] [log] [blame]
Darin Petkov33af05c2012-02-28 10:10:30 +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_VPN_PROVIDER_
6#define SHILL_VPN_PROVIDER_
7
8#include <base/basictypes.h>
9
10#include "shill/refptr_types.h"
11
12namespace shill {
13
14class ControlInterface;
15class Error;
16class EventDispatcher;
17class KeyValueStore;
18class Manager;
19class Metrics;
20
21class VPNProvider {
22 public:
23 VPNProvider(ControlInterface *control_interface,
24 EventDispatcher *dispatcher,
25 Metrics *metrics,
26 Manager *manager);
27 ~VPNProvider();
28
29 void Start();
30 void Stop();
31
32 VPNServiceRefPtr GetService(const KeyValueStore &args, Error *error);
33
34 private:
35 ControlInterface *control_interface_;
36 EventDispatcher *dispatcher_;
37 Metrics *metrics_;
38 Manager *manager_;
39
40 DISALLOW_COPY_AND_ASSIGN(VPNProvider);
41};
42
43} // namespace shill
44
45#endif // SHILL_VPN_PROVIDER_