Index: ui/ozone/platform/drm/common/scoped_drm_types.cc |
diff --git a/ui/ozone/platform/drm/common/scoped_drm_types.cc b/ui/ozone/platform/drm/common/scoped_drm_types.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9a1456ea6533b0117e12ff05340aa24d8650502d |
--- /dev/null |
+++ b/ui/ozone/platform/drm/common/scoped_drm_types.cc |
@@ -0,0 +1,59 @@ |
+// Copyright 2014 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 "ui/ozone/platform/drm/common/scoped_drm_types.h" |
+ |
+#include <xf86drmMode.h> |
+ |
+namespace ui { |
+ |
+void DrmResourcesDeleter::operator()(drmModeRes* resources) const { |
+ drmModeFreeResources(resources); |
+} |
+ |
+void DrmConnectorDeleter::operator()(drmModeConnector* connector) const { |
+ drmModeFreeConnector(connector); |
+} |
+ |
+void DrmCrtcDeleter::operator()(drmModeCrtc* crtc) const { |
+ drmModeFreeCrtc(crtc); |
+} |
+ |
+void DrmEncoderDeleter::operator()(drmModeEncoder* encoder) const { |
+ drmModeFreeEncoder(encoder); |
+} |
+ |
+void DrmObjectPropertiesDeleter::operator()( |
+ drmModeObjectProperties* properties) const { |
+ drmModeFreeObjectProperties(properties); |
+} |
+ |
+void DrmPlaneDeleter::operator()(drmModePlane* plane) const { |
+ drmModeFreePlane(plane); |
+} |
+ |
+void DrmPlaneResDeleter::operator()(drmModePlaneRes* plane) const { |
+ drmModeFreePlaneResources(plane); |
+} |
+ |
+void DrmPropertyDeleter::operator()(drmModePropertyRes* property) const { |
+ drmModeFreeProperty(property); |
+} |
+ |
+#if defined(USE_DRM_ATOMIC) |
+void DrmPropertySetDeleter::operator()(drmModePropertySet* property) const { |
+ drmModePropertySetFree(property); |
+} |
+#endif // defined(USE_DRM_ATOMIC) |
+ |
+void DrmPropertyBlobDeleter::operator()( |
+ drmModePropertyBlobRes* property) const { |
+ drmModeFreePropertyBlob(property); |
+} |
+ |
+void DrmFramebufferDeleter::operator()(drmModeFB* framebuffer) const { |
+ drmModeFreeFB(framebuffer); |
+} |
+ |
+} // namespace ui |