shill: Make all device *PIN service methods asynchronous.

BUG=chromium-os:24955
TEST=unit tests

Change-Id: Id7bb736e4d18331440fa6652726f694d01d46a42
Reviewed-on: https://gerrit.chromium.org/gerrit/13977
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Eric Shienbrood <ers@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
diff --git a/cellular_capability.h b/cellular_capability.h
index 2842d22..ad5901b 100644
--- a/cellular_capability.h
+++ b/cellular_capability.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
@@ -61,15 +61,16 @@
 
   virtual void GetRegistrationState() = 0;
 
-  // PIN management. The default implementation fails by populating |error|.
-  virtual void RequirePIN(const std::string &pin, bool require, Error *error);
+  // PIN management. The default implementation fails by returning an error.
+  virtual void RequirePIN(
+      const std::string &pin, bool require, ReturnerInterface *returner);
   virtual void EnterPIN(const std::string &pin, ReturnerInterface *returner);
   virtual void UnblockPIN(const std::string &unblock_code,
                           const std::string &pin,
-                          Error *error);
+                          ReturnerInterface *returner);
   virtual void ChangePIN(const std::string &old_pin,
                          const std::string &new_pin,
-                         Error *error);
+                         ReturnerInterface *returner);
 
   // Network scanning. The default implementation fails by populating |error|.
   virtual void Scan(Error *error);