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/device.cc b/device.cc
index e5b6824..6e8a04c 100644
--- a/device.cc
+++ b/device.cc
@@ -180,31 +180,41 @@
                         "Device doesn't support network registration.");
 }
 
-void Device::RequirePIN(const string &/*pin*/, bool /*require*/, Error *error) {
-  Error::PopulateAndLog(error, Error::kNotSupported,
-                        "Device doesn't support RequirePIN.");
+void Device::RequirePIN(
+    const string &/*pin*/, bool /*require*/, ReturnerInterface *returner) {
+  VLOG(2) << __func__;
+  Error error;
+  Error::PopulateAndLog(
+      &error, Error::kNotSupported, "Device doesn't support RequirePIN.");
+  returner->ReturnError(error);
 }
 
 void Device::EnterPIN(const string &/*pin*/, ReturnerInterface *returner) {
   VLOG(2) << __func__;
   Error error;
-  Error::PopulateAndLog(&error, Error::kNotSupported,
-                        "Device doesn't support EnterPIN.");
+  Error::PopulateAndLog(
+      &error, Error::kNotSupported, "Device doesn't support EnterPIN.");
   returner->ReturnError(error);
 }
 
 void Device::UnblockPIN(const string &/*unblock_code*/,
                         const string &/*pin*/,
-                        Error *error) {
-  Error::PopulateAndLog(error, Error::kNotSupported,
-                        "Device doesn't support UnblockPIN.");
+                        ReturnerInterface *returner) {
+  VLOG(2) << __func__;
+  Error error;
+  Error::PopulateAndLog(
+      &error, Error::kNotSupported, "Device doesn't support UnblockPIN.");
+  returner->ReturnError(error);
 }
 
 void Device::ChangePIN(const string &/*old_pin*/,
                        const string &/*new_pin*/,
-                       Error *error) {
-  Error::PopulateAndLog(error, Error::kNotSupported,
-                        "Device doesn't support ChangePIN.");
+                       ReturnerInterface *returner) {
+  VLOG(2) << __func__;
+  Error error;
+  Error::PopulateAndLog(
+      &error, Error::kNotSupported, "Device doesn't support ChangePIN.");
+  returner->ReturnError(error);
 }
 
 void Device::DisableIPv6() {