| Index: chromeos/dbus/biod/biod_auth_session_client.cc | 
| diff --git a/chromeos/dbus/biod/biod_auth_session_client.cc b/chromeos/dbus/biod/biod_auth_session_client.cc | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..466dc2a97a525101e2ff7ed7cd2aca865a47afa2 | 
| --- /dev/null | 
| +++ b/chromeos/dbus/biod/biod_auth_session_client.cc | 
| @@ -0,0 +1,53 @@ | 
| +// Copyright 2017 The Chromium Authors. All rights reserved. | 
| +// Use of this source code is governed by a BSD-style license that can be | 
| +// found in the LICENSE file. | 
| + | 
| +#include "chromeos/dbus/biod/biod_auth_session_client.h" | 
| + | 
| +#include "base/bind.h" | 
| +#include "dbus/bus.h" | 
| +#include "dbus/message.h" | 
| +#include "dbus/object_path.h" | 
| +#include "dbus/object_proxy.h" | 
| +#include "third_party/cros_system_api/dbus/service_constants.h" | 
| + | 
| +namespace chromeos { | 
| + | 
| +// The BiodAuthSessionClient implementation used in production. | 
| +class BiodAuthSessionClientImpl : public BiodAuthSessionClient { | 
| + public: | 
| +  BiodAuthSessionClientImpl() {} | 
| + | 
| +  ~BiodAuthSessionClientImpl() override {} | 
| + | 
| +  void End(const dbus::ObjectPath& auth_session_path) override { | 
| +    dbus::MethodCall method_call(biod::kAuthSessionInterface, | 
| +                                 biod::kAuthSessionEndMethod); | 
| + | 
| +    dbus::ObjectProxy* auth_session_proxy = | 
| +        bus_->GetObjectProxy(biod::kBiodServiceName, auth_session_path); | 
| +    auth_session_proxy->CallMethod(&method_call, | 
| +                                   dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 
| +                                   dbus::ObjectProxy::EmptyResponseCallback()); | 
| +  } | 
| + | 
| + protected: | 
| +  void Init(dbus::Bus* bus) override { bus_ = bus; } | 
| + | 
| + private: | 
| +  dbus::Bus* bus_; | 
| + | 
| +  DISALLOW_COPY_AND_ASSIGN(BiodAuthSessionClientImpl); | 
| +}; | 
| + | 
| +BiodAuthSessionClient::BiodAuthSessionClient() {} | 
| + | 
| +BiodAuthSessionClient::~BiodAuthSessionClient() {} | 
| + | 
| +// static | 
| +BiodAuthSessionClient* BiodAuthSessionClient::Create( | 
| +    DBusClientImplementationType /* type */) { | 
| +  return new BiodAuthSessionClientImpl(); | 
| +} | 
| + | 
| +}  // namespace chromeos | 
|  |