19 #ifndef MIR_TEST_DOUBLES_MOCK_DRM_H_
20 #define MIR_TEST_DOUBLES_MOCK_DRM_H_
22 #include <gmock/gmock.h>
25 #include <xf86drmMode.h>
49 void add_crtc(uint32_t
id, drmModeModeInfo mode);
50 void add_encoder(uint32_t encoder_id, uint32_t crtc_id, uint32_t possible_crtcs_mask);
51 void add_connector(uint32_t connector_id, uint32_t type, drmModeConnection connection,
52 uint32_t encoder_id, std::vector<drmModeModeInfo>& modes,
53 std::vector<uint32_t>& possible_encoder_ids,
64 static drmModeModeInfo
create_mode(uint16_t hdisplay, uint16_t vdisplay,
65 uint32_t clock, uint16_t htotal, uint16_t vtotal,
72 std::vector<drmModeCrtc> crtcs;
73 std::vector<drmModeEncoder> encoders;
74 std::vector<drmModeConnector> connectors;
76 std::vector<uint32_t> crtc_ids;
77 std::vector<uint32_t> encoder_ids;
78 std::vector<uint32_t> connector_ids;
80 std::vector<drmModeModeInfo> modes;
81 std::vector<drmModeModeInfo> modes_empty;
82 std::vector<uint32_t> connector_encoder_ids;
91 MOCK_METHOD2(drmOpen,
int(
const char *name,
const char *busid));
93 MOCK_METHOD3(drmIoctl,
int(
int fd,
unsigned long request,
void *arg));
95 MOCK_METHOD1(drmModeGetResources, drmModeResPtr(
int fd));
96 MOCK_METHOD2(drmModeGetConnector, drmModeConnectorPtr(
int fd, uint32_t connectorId));
97 MOCK_METHOD2(drmModeGetEncoder, drmModeEncoderPtr(
int fd, uint32_t encoder_id));
98 MOCK_METHOD2(drmModeGetCrtc, drmModeCrtcPtr(
int fd, uint32_t crtcId));
99 MOCK_METHOD8(drmModeSetCrtc,
int(
int fd, uint32_t crtcId, uint32_t bufferId,
100 uint32_t
x, uint32_t
y, uint32_t *connectors,
101 int count, drmModeModeInfoPtr mode));
103 MOCK_METHOD1(drmModeFreeResources,
void(drmModeResPtr ptr));
104 MOCK_METHOD1(drmModeFreeConnector,
void(drmModeConnectorPtr ptr));
105 MOCK_METHOD1(drmModeFreeEncoder,
void(drmModeEncoderPtr ptr));
106 MOCK_METHOD1(drmModeFreeCrtc,
void(drmModeCrtcPtr ptr));
109 uint8_t depth, uint8_t bpp, uint32_t pitch,
110 uint32_t bo_handle, uint32_t *buf_id));
111 MOCK_METHOD2(drmModeRmFB,
int(
int fd, uint32_t bufferId));
113 MOCK_METHOD5(drmModePageFlip,
int(
int fd, uint32_t crtc_id, uint32_t fb_id,
114 uint32_t flags,
void *user_data));
115 MOCK_METHOD2(drmHandleEvent,
int(
int fd, drmEventContextPtr evctx));
117 MOCK_METHOD2(drmGetMagic,
int(
int fd, drm_magic_t *magic));
118 MOCK_METHOD2(drmAuthMagic,
int(
int fd, drm_magic_t magic));
120 MOCK_METHOD4(drmPrimeHandleToFD,
int(
int fd, uint32_t handle, uint32_t flags,
int *prime_fd));
121 MOCK_METHOD3(drmPrimeFDToHandle,
int(
int fd,
int prime_fd, uint32_t *handle));
126 MOCK_METHOD5(drmModeSetCursor,
int (
int fd, uint32_t crtcId, uint32_t bo_handle, uint32_t width, uint32_t height));
127 MOCK_METHOD4(drmModeMoveCursor,
int (
int fd, uint32_t crtcId,
int x,
int y));
129 MOCK_METHOD2(drmSetInterfaceVersion,
int (
int fd, drmSetVersion* sv));