1aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// 2aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// Copyright (C) 2013 The Android Open Source Project 3aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// 4aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// Licensed under the Apache License, Version 2.0 (the "License"); 5aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// you may not use this file except in compliance with the License. 6aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// You may obtain a copy of the License at 7aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// 8aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// http://www.apache.org/licenses/LICENSE-2.0 9aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// 10aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// Unless required by applicable law or agreed to in writing, software 11aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// distributed under the License is distributed on an "AS IS" BASIS, 12aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// See the License for the specific language governing permissions and 14aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// limitations under the License. 15aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// 164243291a6655972fe89d4747a0089834c9e47c20Alex Deymo 1739910dcd1d68987ccee7c3031dc269233a8490bbAlex Deymo#ifndef UPDATE_ENGINE_COMMON_HARDWARE_H_ 1839910dcd1d68987ccee7c3031dc269233a8490bbAlex Deymo#define UPDATE_ENGINE_COMMON_HARDWARE_H_ 194243291a6655972fe89d4747a0089834c9e47c20Alex Deymo 2040d86b22363fd9461e67ad288e0273bed509937bAlex Deymo#include <memory> 214243291a6655972fe89d4747a0089834c9e47c20Alex Deymo 2239910dcd1d68987ccee7c3031dc269233a8490bbAlex Deymo#include "update_engine/common/hardware_interface.h" 234243291a6655972fe89d4747a0089834c9e47c20Alex Deymo 244243291a6655972fe89d4747a0089834c9e47c20Alex Deymonamespace chromeos_update_engine { 2540d86b22363fd9461e67ad288e0273bed509937bAlex Deymonamespace hardware { 264243291a6655972fe89d4747a0089834c9e47c20Alex Deymo 2740d86b22363fd9461e67ad288e0273bed509937bAlex Deymo// The real HardwareInterface is platform-specific. This factory function 2840d86b22363fd9461e67ad288e0273bed509937bAlex Deymo// creates a new HardwareInterface instance for the current platform. 2940d86b22363fd9461e67ad288e0273bed509937bAlex Deymostd::unique_ptr<HardwareInterface> CreateHardware(); 304243291a6655972fe89d4747a0089834c9e47c20Alex Deymo 3140d86b22363fd9461e67ad288e0273bed509937bAlex Deymo} // namespace hardware 324243291a6655972fe89d4747a0089834c9e47c20Alex Deymo} // namespace chromeos_update_engine 334243291a6655972fe89d4747a0089834c9e47c20Alex Deymo 3439910dcd1d68987ccee7c3031dc269233a8490bbAlex Deymo#endif // UPDATE_ENGINE_COMMON_HARDWARE_H_ 35