1299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang// 2299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang// Copyright (C) 2016 The Android Open Source Project 3299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang// 4299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang// Licensed under the Apache License, Version 2.0 (the "License"); 5299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang// you may not use this file except in compliance with the License. 6299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang// You may obtain a copy of the License at 7299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang// 8299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang// http://www.apache.org/licenses/LICENSE-2.0 9299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang// 10299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang// Unless required by applicable law or agreed to in writing, software 11299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang// distributed under the License is distributed on an "AS IS" BASIS, 12299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang// See the License for the specific language governing permissions and 14299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang// limitations under the License. 15299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang// 16299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang 17299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang#ifndef UPDATE_ENGINE_DBUS_CONNECTION_H_ 18299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang#define UPDATE_ENGINE_DBUS_CONNECTION_H_ 19299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang 20299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang#include <base/memory/ref_counted.h> 21299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang#include <brillo/dbus/dbus_connection.h> 22299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang#include <dbus/bus.h> 23299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang 24299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiangnamespace chromeos_update_engine { 25299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang 26299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiangclass DBusConnection { 27299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang public: 28299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang DBusConnection(); 29299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang 30299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang const scoped_refptr<dbus::Bus>& GetDBus(); 31299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang 32299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang static DBusConnection* Get(); 33299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang 34299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang private: 35299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang scoped_refptr<dbus::Bus> bus_; 36299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang 37299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang brillo::DBusConnection dbus_connection_; 38299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang 39299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang DISALLOW_COPY_AND_ASSIGN(DBusConnection); 40299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang}; 41299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang 42299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang} // namespace chromeos_update_engine 43299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang 44299128ee0f9009f79a62d5f57d75270f62353c9dSen Jiang#endif // UPDATE_ENGINE_DBUS_CONNECTION_H_ 45