Home | History | Annotate | Download | only in dri
      1 // Copyright 2014 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_DRI_SCOPED_DRM_TYPES_H_
      6 #define UI_OZONE_PLATFORM_DRI_SCOPED_DRM_TYPES_H_
      7 
      8 #include "base/memory/scoped_ptr.h"
      9 
     10 typedef struct _drmModeConnector drmModeConnector;
     11 typedef struct _drmModeCrtc drmModeCrtc;
     12 typedef struct _drmModeEncoder drmModeEncoder;
     13 typedef struct _drmModeFB drmModeFB;
     14 typedef struct _drmModeObjectProperties drmModeObjectProperties;
     15 typedef struct _drmModePlane drmModePlane;
     16 typedef struct _drmModePlaneRes drmModePlaneRes;
     17 typedef struct _drmModeProperty drmModePropertyRes;
     18 typedef struct _drmModePropertyBlob drmModePropertyBlobRes;
     19 typedef struct _drmModeRes drmModeRes;
     20 
     21 namespace ui {
     22 
     23 struct DrmResourcesDeleter {
     24   void operator()(drmModeRes* resources) const;
     25 };
     26 struct DrmConnectorDeleter {
     27   void operator()(drmModeConnector* connector) const;
     28 };
     29 struct DrmCrtcDeleter {
     30   void operator()(drmModeCrtc* crtc) const;
     31 };
     32 struct DrmEncoderDeleter {
     33   void operator()(drmModeEncoder* encoder) const;
     34 };
     35 struct DrmObjectPropertiesDeleter {
     36   void operator()(drmModeObjectProperties* properties) const;
     37 };
     38 struct DrmPlaneDeleter {
     39   void operator()(drmModePlane* plane) const;
     40 };
     41 struct DrmPlaneResDeleter {
     42   void operator()(drmModePlaneRes* plane_res) const;
     43 };
     44 struct DrmPropertyDeleter {
     45   void operator()(drmModePropertyRes* property) const;
     46 };
     47 struct DrmPropertyBlobDeleter {
     48   void operator()(drmModePropertyBlobRes* property) const;
     49 };
     50 struct DrmFramebufferDeleter {
     51   void operator()(drmModeFB* framebuffer) const;
     52 };
     53 
     54 typedef scoped_ptr<drmModeRes, DrmResourcesDeleter> ScopedDrmResourcesPtr;
     55 typedef scoped_ptr<drmModeConnector, DrmConnectorDeleter> ScopedDrmConnectorPtr;
     56 typedef scoped_ptr<drmModeCrtc, DrmCrtcDeleter> ScopedDrmCrtcPtr;
     57 typedef scoped_ptr<drmModeEncoder, DrmEncoderDeleter> ScopedDrmEncoderPtr;
     58 typedef scoped_ptr<drmModeObjectProperties, DrmObjectPropertiesDeleter>
     59     ScopedDrmObjectPropertyPtr;
     60 typedef scoped_ptr<drmModePlane, DrmPlaneDeleter> ScopedDrmPlanePtr;
     61 typedef scoped_ptr<drmModePlaneRes, DrmPlaneResDeleter> ScopedDrmPlaneResPtr;
     62 typedef scoped_ptr<drmModePropertyRes, DrmPropertyDeleter> ScopedDrmPropertyPtr;
     63 typedef scoped_ptr<drmModePropertyBlobRes, DrmPropertyBlobDeleter>
     64 ScopedDrmPropertyBlobPtr;
     65 typedef scoped_ptr<drmModeFB, DrmFramebufferDeleter> ScopedDrmFramebufferPtr;
     66 
     67 }  // namespace ui
     68 
     69 #endif  // UI_OZONE_PLATFORM_DRI_SCOPED_DRM_TYPES_H_
     70