blob: 41b9bbf2ff989e3c6b9c4778e93834999dadb7eb [file] [log] [blame]
Chris Masone3bd3c8c2011-06-13 08:20:26 -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_CELLULAR_
6#define SHILL_CELLULAR_
7
8#include <string>
9
10#include <base/basictypes.h>
11
12#include "shill/cellular_service.h"
13#include "shill/device.h"
14#include "shill/shill_event.h"
15
16namespace shill {
17
18class Cellular : public Device {
19 public:
20 Cellular(ControlInterface *control_interface,
21 EventDispatcher *dispatcher,
22 Manager *manager,
23 const std::string& link,
24 int interface_index);
25 ~Cellular();
26 void Start();
27 void Stop();
28 bool TechnologyIs(Device::Technology type);
29
30 private:
Chris Masoneb925cc82011-06-22 15:39:57 -070031 // Properties
32 bool allow_roaming_;
33 std::string carrier_;
34 std::string meid_;
35 std::string imei_;
36 std::string imsi_;
37 std::string esn_;
38 std::string mdn_;
39 std::string min_;
40 std::string model_id_;
41 std::string manufacturer_;
42 std::string firmware_revision_;
43 std::string hardware_revision_;
44 int16 prl_version_;
45
46 bool scanning_;
47 uint16 scan_interval_;
48
Chris Masone3bd3c8c2011-06-13 08:20:26 -070049 bool service_registered_;
50 ServiceRefPtr service_;
51 DISALLOW_COPY_AND_ASSIGN(Cellular);
52};
53
54} // namespace shill
55
56#endif // SHILL_CELLULAR_