19 #ifndef MIR_TEST_DOUBLES_MOCK_GBM_H_
20 #define MIR_TEST_DOUBLES_MOCK_GBM_H_
22 #include <gmock/gmock.h>
24 #pragma GCC diagnostic push
25 #pragma GCC diagnostic warning "-Wall"
27 #pragma GCC diagnostic pop
54 MOCK_METHOD1(gbm_create_device,
struct gbm_device*(
int fd));
55 MOCK_METHOD1(gbm_device_destroy,
void(
struct gbm_device *gbm));
56 MOCK_METHOD1(gbm_device_get_fd,
int(
struct gbm_device *gbm));
58 MOCK_METHOD5(gbm_surface_create,
struct gbm_surface*(
struct gbm_device *gbm,
60 uint32_t format, uint32_t flags));
61 MOCK_METHOD1(gbm_surface_destroy,
void(
struct gbm_surface *surface));
62 MOCK_METHOD1(gbm_surface_lock_front_buffer,
struct gbm_bo*(
struct gbm_surface *surface));
63 MOCK_METHOD2(gbm_surface_release_buffer,
void(
struct gbm_surface *surface,
struct gbm_bo *bo));
65 MOCK_METHOD5(gbm_bo_create,
struct gbm_bo*(
struct gbm_device *gbm,
66 uint32_t width, uint32_t height,
67 uint32_t format, uint32_t flags));
68 MOCK_METHOD1(gbm_bo_get_device,
struct gbm_device*(
struct gbm_bo *bo));
69 MOCK_METHOD1(gbm_bo_get_width, uint32_t(
struct gbm_bo *bo));
70 MOCK_METHOD1(gbm_bo_get_height, uint32_t(
struct gbm_bo *bo));
71 MOCK_METHOD1(gbm_bo_get_stride, uint32_t(
struct gbm_bo *bo));
72 MOCK_METHOD1(gbm_bo_get_format, uint32_t(
struct gbm_bo *bo));
73 MOCK_METHOD1(gbm_bo_get_handle,
union gbm_bo_handle(
struct gbm_bo *bo));
74 MOCK_METHOD3(gbm_bo_set_user_data,
void(
struct gbm_bo *bo,
void *data,
75 void (*destroy_user_data)(
struct gbm_bo *,
void *)));
76 MOCK_METHOD1(gbm_bo_get_user_data,
void*(
struct gbm_bo *bo));
77 MOCK_METHOD3(gbm_bo_write,
bool(
struct gbm_bo *bo,
const void *buf,
size_t count));
83 void on_gbm_bo_set_user_data(
struct gbm_bo *bo,
void *data,
84 void (*destroy_user_data)(
struct gbm_bo *,
void *))
86 destroyers.push_back(Destroyer{bo, data, destroy_user_data});
93 void (*destroy_user_data)(
struct gbm_bo *,
void *);
95 void operator()()
const { destroy_user_data(bo, data); }
98 std::vector<Destroyer> destroyers;
gbm_device * device
Definition: mock_gbm.h:42
Definition: mock_gbm.h:36
MOCK_METHOD2(gbm_surface_release_buffer, void(struct gbm_surface *surface, struct gbm_bo *bo))
gbm_surface * surface
Definition: mock_gbm.h:43
gbm_bo_handle bo_handle
Definition: mock_gbm.h:45
unsigned int width
Definition: black_arrow.c:4
~FakeGBMResources()=default
Definition: mock_gbm.h:48
gbm_bo * bo
Definition: mock_gbm.h:44
MOCK_METHOD5(gbm_surface_create, struct gbm_surface *(struct gbm_device *gbm, uint32_t width, uint32_t height, uint32_t format, uint32_t flags))
unsigned int height
Definition: black_arrow.c:5
MOCK_METHOD1(gbm_create_device, struct gbm_device *(int fd))
FakeGBMResources fake_gbm
Definition: mock_gbm.h:80
MOCK_METHOD3(gbm_bo_set_user_data, void(struct gbm_bo *bo, void *data, void(*destroy_user_data)(struct gbm_bo *, void *)))