blob: 083c8e39cc33fbd27f9b18f52242306550e82d8a [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
Chris Masone3bd3c8c2011-06-13 08:20:26 -070012#include "shill/device.h"
Chris Masone2b105542011-06-22 10:58:09 -070013#include "shill/refptr_types.h"
Chris Masone3bd3c8c2011-06-13 08:20:26 -070014#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 Masone853b81b2011-06-24 14:11:41 -070031 ServiceRefPtr service_;
32 bool service_registered_;
33
Chris Masoneb925cc82011-06-22 15:39:57 -070034 // Properties
35 bool allow_roaming_;
36 std::string carrier_;
37 std::string meid_;
38 std::string imei_;
39 std::string imsi_;
40 std::string esn_;
41 std::string mdn_;
42 std::string min_;
43 std::string model_id_;
44 std::string manufacturer_;
45 std::string firmware_revision_;
46 std::string hardware_revision_;
47 int16 prl_version_;
Chris Masoneb925cc82011-06-22 15:39:57 -070048 bool scanning_;
49 uint16 scan_interval_;
50
Chris Masone3bd3c8c2011-06-13 08:20:26 -070051 DISALLOW_COPY_AND_ASSIGN(Cellular);
52};
53
54} // namespace shill
55
56#endif // SHILL_CELLULAR_