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_METHOD3(open,
int(
char const* path,
int flags, mode_t mode));
92 MOCK_METHOD2(drmOpen,
int(
const char *name,
const char *busid));
94 MOCK_METHOD3(drmIoctl,
int(
int fd,
unsigned long request,
void *arg));
96 MOCK_METHOD1(drmModeGetResources, drmModeResPtr(
int fd));
97 MOCK_METHOD2(drmModeGetConnector, drmModeConnectorPtr(
int fd, uint32_t connectorId));
98 MOCK_METHOD2(drmModeGetEncoder, drmModeEncoderPtr(
int fd, uint32_t encoder_id));
99 MOCK_METHOD2(drmModeGetCrtc, drmModeCrtcPtr(
int fd, uint32_t crtcId));
100 MOCK_METHOD8(drmModeSetCrtc,
int(
int fd, uint32_t crtcId, uint32_t bufferId,
101 uint32_t
x, uint32_t
y, uint32_t *connectors,
102 int count, drmModeModeInfoPtr mode));
104 MOCK_METHOD1(drmModeFreeResources,
void(drmModeResPtr ptr));
105 MOCK_METHOD1(drmModeFreeConnector,
void(drmModeConnectorPtr ptr));
106 MOCK_METHOD1(drmModeFreeEncoder,
void(drmModeEncoderPtr ptr));
107 MOCK_METHOD1(drmModeFreeCrtc,
void(drmModeCrtcPtr ptr));
110 uint8_t depth, uint8_t bpp, uint32_t pitch,
111 uint32_t bo_handle, uint32_t *buf_id));
112 MOCK_METHOD2(drmModeRmFB,
int(
int fd, uint32_t bufferId));
114 MOCK_METHOD5(drmModePageFlip,
int(
int fd, uint32_t crtc_id, uint32_t fb_id,
115 uint32_t flags,
void *user_data));
116 MOCK_METHOD2(drmHandleEvent,
int(
int fd, drmEventContextPtr evctx));
118 MOCK_METHOD2(drmGetMagic,
int(
int fd, drm_magic_t *magic));
119 MOCK_METHOD2(drmAuthMagic,
int(
int fd, drm_magic_t magic));
121 MOCK_METHOD4(drmPrimeHandleToFD,
int(
int fd, uint32_t handle, uint32_t flags,
int *prime_fd));
122 MOCK_METHOD3(drmPrimeFDToHandle,
int(
int fd,
int prime_fd, uint32_t *handle));
127 MOCK_METHOD5(drmModeSetCursor,
int (
int fd, uint32_t crtcId, uint32_t bo_handle, uint32_t width, uint32_t height));
128 MOCK_METHOD4(drmModeMoveCursor,
int (
int fd, uint32_t crtcId,
int x,
int y));
130 MOCK_METHOD2(drmSetInterfaceVersion,
int (
int fd, drmSetVersion* sv));
void add_connector(uint32_t connector_id, uint32_t type, drmModeConnection connection, uint32_t encoder_id, std::vector< drmModeModeInfo > &modes, std::vector< uint32_t > &possible_encoder_ids, geometry::Size const &physical_size)
MOCK_METHOD8(drmModeSetCrtc, int(int fd, uint32_t crtcId, uint32_t bufferId, uint32_t x, uint32_t y, uint32_t *connectors, int count, drmModeModeInfoPtr mode))
drmModeRes * resources_ptr()
MOCK_METHOD2(drmOpen, int(const char *name, const char *busid))
drmModeConnector * find_connector(uint32_t id)
Definition: dimensions.h:35
ModePreference
Definition: mock_drm.h:63
Definition: mock_drm.h:85
MOCK_METHOD3(open, int(char const *path, int flags, mode_t mode))
MOCK_METHOD4(drmPrimeHandleToFD, int(int fd, uint32_t handle, uint32_t flags, int *prime_fd))
unsigned int width
Definition: black_arrow.c:4
Definition: dimensions.h:35
Definition: mock_drm.h:63
void add_encoder(uint32_t encoder_id, uint32_t crtc_id, uint32_t possible_crtcs_mask)
unsigned int height
Definition: black_arrow.c:5
MOCK_METHOD5(drmModePageFlip, int(int fd, uint32_t crtc_id, uint32_t fb_id, uint32_t flags, void *user_data))
drmModeEncoder * find_encoder(uint32_t id)
Definition: mock_drm.h:39
FakeDRMResources fake_drm
Definition: mock_drm.h:133
static drmModeModeInfo create_mode(uint16_t hdisplay, uint16_t vdisplay, uint32_t clock, uint16_t htotal, uint16_t vtotal, ModePreference preferred)
MOCK_METHOD1(drmClose, int(int fd))
drmModeCrtc * find_crtc(uint32_t id)
void add_crtc(uint32_t id, drmModeModeInfo mode)
Definition: mock_drm.h:63