blob: 5de6aab6897587d672ad8c7fe0507d8882d45bae [file] [log] [blame]
Darin Petkovdaf43862011-10-27 11:37:28 +02001// 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_CAPABILITY_GSM_
6#define SHILL_CELLULAR_CAPABILITY_GSM_
7
Darin Petkovb05315f2011-11-07 10:14:25 +01008#include <base/task.h>
9
Darin Petkovdaf43862011-10-27 11:37:28 +020010#include "shill/cellular_capability.h"
11
12namespace shill {
13
14class CellularCapabilityGSM : public CellularCapability {
15 public:
16 CellularCapabilityGSM(Cellular *cellular);
17
Darin Petkovb05315f2011-11-07 10:14:25 +010018 // Inherited from CellularCapability.
Darin Petkovdaf43862011-10-27 11:37:28 +020019 virtual void InitProxies();
Darin Petkovb05315f2011-11-07 10:14:25 +010020 virtual void RequirePIN(const std::string &pin, bool require, Error *error);
21 virtual void EnterPIN(const std::string &pin, Error *error);
22 virtual void UnblockPIN(const std::string &unblock_code,
23 const std::string &pin,
24 Error *error);
25 virtual void ChangePIN(const std::string &old_pin,
26 const std::string &new_pin,
27 Error *error);
Darin Petkovdaf43862011-10-27 11:37:28 +020028
29 private:
Darin Petkovb05315f2011-11-07 10:14:25 +010030 void RequirePINTask(const std::string &pin, bool require);
31 void EnterPINTask(const std::string &pin);
32 void UnblockPINTask(const std::string &unblock_code, const std::string &pin);
33 void ChangePINTask(const std::string &old_pin, const std::string &new_pin);
34
35 ScopedRunnableMethodFactory<CellularCapabilityGSM> task_factory_;
36
Darin Petkovdaf43862011-10-27 11:37:28 +020037 DISALLOW_COPY_AND_ASSIGN(CellularCapabilityGSM);
38};
39
40} // namespace shill
41
42#endif // SHILL_CELLULAR_CAPABILITY_GSM_