1 //
2 // Copyright (C) 2015 The Android Open Source Project
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //      http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16 
17 #include "update_engine/shill_proxy.h"
18 
19 #include "update_engine/dbus_connection.h"
20 
21 using org::chromium::flimflam::ManagerProxy;
22 using org::chromium::flimflam::ManagerProxyInterface;
23 using org::chromium::flimflam::ServiceProxy;
24 using org::chromium::flimflam::ServiceProxyInterface;
25 
26 namespace chromeos_update_engine {
27 
ShillProxy()28 ShillProxy::ShillProxy()
29     : bus_(DBusConnection::Get()->GetDBus()),
30       manager_proxy_(new ManagerProxy(bus_)) {}
31 
GetManagerProxy()32 ManagerProxyInterface* ShillProxy::GetManagerProxy() {
33   return manager_proxy_.get();
34 }
35 
GetServiceForPath(const dbus::ObjectPath & path)36 std::unique_ptr<ServiceProxyInterface> ShillProxy::GetServiceForPath(
37     const dbus::ObjectPath& path) {
38   DCHECK(bus_.get());
39   return std::unique_ptr<ServiceProxyInterface>(new ServiceProxy(bus_, path));
40 }
41 
42 }  // namespace chromeos_update_engine
43