1 // Copyright 2015 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef UI_OZONE_PLATFORM_DRM_GPU_DRM_DEVICE_GENERATOR_H_ 6 #define UI_OZONE_PLATFORM_DRM_GPU_DRM_DEVICE_GENERATOR_H_ 7 8 #include "base/files/file.h" 9 #include "base/macros.h" 10 #include "base/memory/ref_counted.h" 11 12 namespace ui { 13 14 class DrmDevice; 15 16 class DrmDeviceGenerator { 17 public: 18 DrmDeviceGenerator(); 19 virtual ~DrmDeviceGenerator(); 20 21 // Creates a DRM device for |file|. |device_path| describes the location of 22 // the DRM device. 23 virtual scoped_refptr<DrmDevice> CreateDevice( 24 const base::FilePath& device_path, 25 base::File file, 26 bool is_primary_device) = 0; 27 28 public: 29 DISALLOW_COPY_AND_ASSIGN(DrmDeviceGenerator); 30 }; 31 32 } // namespace ui 33 34 #endif // UI_OZONE_PLATFORM_DRM_GPU_DRM_DEVICE_GENERATOR_H_ 35