ut: improve code coverage of tdm.c
[platform/core/uifw/libtdm.git] / ut / stubs / tdm_backend_module_subs.cpp
1 #include <stdlib.h>
2 #include <string.h>
3 #include <stdio.h>
4
5 #include "tdm_backend.h"
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10
11 struct _tdm_backend_module_data {
12         int tmp;
13 };
14
15 struct _tdm_backend_module_output_data {
16         tdm_caps_output caps;
17 };
18
19 struct _tdm_backend_module_layer_data {
20         int tmp;
21 };
22
23 typedef struct _tdm_backend_module_data                 tdm_backend_module_data;
24 typedef struct _tdm_backend_module_output_data  tdm_backend_module_output_data;
25 typedef struct _tdm_backend_module_layer_data   tdm_backend_module_layer_data;
26
27 tdm_backend_module_data                 backend_module_data;
28 tdm_backend_module_output_data  backend_module_output[4];
29 tdm_backend_module_layer_data   backend_module_layer;
30
31 tdm_error
32 tdm_backend_module_creat_output(tdm_backend_module_data *backend_module_data)
33 {
34         return TDM_ERROR_NONE;
35 }
36
37 void
38 tdm_backend_module_destroy_output(tdm_backend_module_data *backend_module_data)
39 {
40         return;
41 }
42
43 tdm_error
44 tdm_backend_module_creat_layer(tdm_backend_module_data *backend_module_data)
45 {
46         return TDM_ERROR_NONE;
47 }
48
49 void
50 tdm_backend_module_destroy_layer(tdm_backend_module_data *backend_module_data)
51 {
52 }
53
54 tdm_error
55 backend_module_display_get_pp_capability(tdm_backend_data *bdata, tdm_caps_pp *caps)
56 {
57         return TDM_ERROR_NONE;
58 }
59
60 tdm_error
61 backend_module_display_get_capability(tdm_backend_data *bdata, tdm_caps_display *caps)
62 {
63         caps->max_layer_count = 1;
64         return TDM_ERROR_NONE;
65 }
66
67 tdm_output**
68 backend_module_display_get_outputs(tdm_backend_data *bdata, int *count, tdm_error *error)
69 {
70         tdm_output** outputs;
71         *count = 4;
72         outputs = calloc(1, sizeof(tdm_backend_module_output_data*) * (4));
73         outputs[0] = &backend_module_output[0];
74         outputs[1] = &backend_module_output[1];
75         outputs[2] = &backend_module_output[2];
76         outputs[3] = &backend_module_output[3];
77         if (error) *error = TDM_ERROR_NONE;
78         return outputs;
79 }
80
81 tdm_pp*
82 backend_module_display_create_pp(tdm_backend_data *bdata, tdm_error *error)
83 {
84         return (tdm_pp*)1;
85 }
86
87 tdm_error
88 backend_module_display_get_capture_capability(tdm_backend_data *bdata, tdm_caps_capture *caps)
89 {
90         return TDM_ERROR_NONE;
91 }
92
93 tdm_capture*
94 backend_module_output_create_capture(tdm_output *output, tdm_error *error)
95 {
96         return (tdm_capture*)1;
97 }
98 tdm_capture*
99 backend_module_layer_create_capture(tdm_layer *layer, tdm_error *error)
100 {
101         return (tdm_capture*)1;
102 }
103
104
105 tdm_error
106 backend_module_output_get_capability(tdm_output *output, tdm_caps_output *caps)
107 {
108
109         tdm_backend_module_output_data *backend_output =  (tdm_backend_module_output_data*)output;
110         memcpy(caps, &backend_output->caps, sizeof(tdm_caps_output));
111
112         return TDM_ERROR_NONE;
113 }
114
115 tdm_layer**
116 backend_module_output_get_layers(tdm_output *output, int *count, tdm_error *error)
117 {
118         tdm_layer** layers;
119         *count = 1;
120         layers = calloc(*count, sizeof(tdm_layer));
121         layers[0] = &backend_module_layer;
122         if (error) *error = TDM_ERROR_NONE;
123
124         return layers;
125
126 }
127
128 tdm_error
129 backend_module_output_set_property(tdm_output *output, unsigned int id, tdm_value value)
130 {
131         return TDM_ERROR_NONE;
132 }
133
134 tdm_error
135 backend_module_output_get_property(tdm_output *output, unsigned int id, tdm_value *value)
136 {
137         return TDM_ERROR_NONE;
138 }
139
140 tdm_error
141 backend_module_output_wait_vblank(tdm_output *output, int interval, int sync, void *user_data)
142 {
143         return TDM_ERROR_NONE;
144 }
145
146 tdm_error
147 backend_module_output_set_vblank_handler(tdm_output *output, tdm_output_vblank_handler func)
148 {
149         return TDM_ERROR_NONE;
150 }
151
152 tdm_error
153 backend_module_output_commit(tdm_output *output, int sync, void *user_data)
154 {
155         return TDM_ERROR_NONE;
156 }
157
158 tdm_error
159 backend_module_output_set_commit_handler(tdm_output *output, tdm_output_commit_handler func)
160 {
161         return TDM_ERROR_NONE;
162 }
163
164 tdm_error
165 backend_module_output_set_dpms(tdm_output *output, tdm_output_dpms dpms_value)
166 {
167         return TDM_ERROR_NONE;
168 }
169
170 tdm_error
171 backend_module_output_get_dpms(tdm_output *output, tdm_output_dpms *dpms_value)
172 {
173         *dpms_value = TDM_OUTPUT_DPMS_ON;
174         return TDM_ERROR_NONE;
175 }
176
177 tdm_error
178 backend_module_output_set_mode(tdm_output *output, const tdm_output_mode *mode)
179 {
180         return TDM_ERROR_NONE;
181 }
182
183 tdm_error
184 backend_module_output_get_mode(tdm_output *output, const tdm_output_mode **mode)
185 {
186         return TDM_ERROR_NONE;
187 }
188
189 tdm_error
190 backend_module_layer_get_capability(tdm_layer *layer, tdm_caps_layer *caps)
191 {
192         return TDM_ERROR_NONE;
193 }
194
195 tdm_error
196 backend_module_layer_set_property(tdm_layer *layer, unsigned int id, tdm_value value)
197 {
198         return TDM_ERROR_NONE;
199 }
200
201 tdm_error
202 backend_module_layer_get_property(tdm_layer *layer, unsigned int id, tdm_value *value)
203 {
204         return TDM_ERROR_NONE;
205 }
206
207 tdm_error
208 backend_module_layer_set_info(tdm_layer *layer, tdm_info_layer *info)
209 {
210         return TDM_ERROR_NONE;
211 }
212
213 tdm_error
214 backend_module_layer_get_info(tdm_layer *layer, tdm_info_layer *info)
215 {
216         return TDM_ERROR_NONE;
217 }
218
219 tdm_error
220 backend_module_layer_set_buffer(tdm_layer *layer, tbm_surface_h buffer)
221 {
222         return TDM_ERROR_NONE;
223 }
224
225 tdm_error
226 backend_module_layer_unset_buffer(tdm_layer *layer)
227 {
228         return TDM_ERROR_NONE;
229 }
230
231
232 void
233 tdm_backend_module_deinit(tdm_backend_data *bdata)
234 {
235 }
236
237 void
238 backend_module_pp_destroy(tdm_pp *pp)
239 {
240 }
241 tdm_error
242 backend_module_pp_set_info(tdm_pp *pp, tdm_info_pp *info)
243 {
244         return TDM_ERROR_NONE;
245 }
246 tdm_error
247 backend_module_pp_attach(tdm_pp *pp, tbm_surface_h src, tbm_surface_h dst)
248 {
249         return TDM_ERROR_NONE;
250 }
251 tdm_error
252 backend_module_pp_commit(tdm_pp *pp)
253 {
254         return TDM_ERROR_NONE;
255 }
256 tdm_error
257 backend_module_pp_set_done_handler(tdm_pp *pp, tdm_pp_done_handler func, void *user_data)
258 {
259         return TDM_ERROR_NONE;
260 }
261
262 //
263 void
264 backend_module_capture_destroy(tdm_capture *capture)
265 {
266 }
267 tdm_error
268 backend_module_capture_set_info(tdm_capture *capture, tdm_info_capture *info)
269 {
270         return TDM_ERROR_NONE;
271 }
272 tdm_error
273 backend_module_capture_attach(tdm_capture *capture, tbm_surface_h buffer)
274 {
275         return TDM_ERROR_NONE;
276 }
277 tdm_error
278 backend_module_capture_commit(tdm_capture *capture)
279 {
280         return TDM_ERROR_NONE;
281 }
282 tdm_error
283 backend_module_capture_set_done_handler(tdm_capture *capture,
284                                                                           tdm_capture_done_handler func, void *user_data)
285 {
286         return TDM_ERROR_NONE;
287 }
288
289 tdm_backend_data*
290 tdm_backend_module_init(tdm_display *dpy, tdm_error *error)
291 {
292         tdm_func_display backend_module_func_display;
293         tdm_func_output backend_module_func_output;
294         tdm_func_layer backend_module_func_layer;
295         tdm_func_capture func_capture;
296         tdm_func_pp func_pp;
297
298         tdm_error ret;
299
300         if (!dpy) {
301                 if (error) *error = TDM_ERROR_BAD_REQUEST;
302                 return NULL;
303         }
304
305         backend_module_output[0].caps.status = TDM_OUTPUT_CONN_STATUS_CONNECTED;
306         backend_module_output[0].caps.type = TDM_OUTPUT_TYPE_DSI;
307         backend_module_output[1].caps.status = TDM_OUTPUT_CONN_STATUS_CONNECTED;
308         backend_module_output[1].caps.type = TDM_OUTPUT_TYPE_LVDS;
309         backend_module_output[2].caps.status = TDM_OUTPUT_CONN_STATUS_CONNECTED;
310         backend_module_output[2].caps.type = TDM_OUTPUT_TYPE_HDMIA;
311         backend_module_output[3].caps.status = TDM_OUTPUT_CONN_STATUS_CONNECTED;
312         backend_module_output[3].caps.type = TDM_OUTPUT_TYPE_HDMIB;
313
314         memset(&backend_module_func_display, 0, sizeof(backend_module_func_display));
315         backend_module_func_display.display_get_pp_capability = backend_module_display_get_pp_capability;
316         backend_module_func_display.display_get_capability = backend_module_display_get_capability;
317         backend_module_func_display.display_get_outputs = backend_module_display_get_outputs;
318         backend_module_func_display.display_get_fd = NULL;
319         backend_module_func_display.display_handle_events = NULL;
320
321         backend_module_func_display.display_create_pp = backend_module_display_create_pp;
322         backend_module_func_display.display_get_capture_capability = backend_module_display_get_capture_capability;
323         backend_module_func_output.output_create_capture = backend_module_output_create_capture;
324         backend_module_func_layer.layer_create_capture = backend_module_layer_create_capture;
325
326
327         memset(&backend_module_func_output, 0, sizeof(backend_module_func_output));
328         backend_module_func_output.output_get_capability = backend_module_output_get_capability;
329         backend_module_func_output.output_get_layers = backend_module_output_get_layers;
330         backend_module_func_output.output_set_property = backend_module_output_set_property;
331         backend_module_func_output.output_get_property = backend_module_output_get_property;
332         backend_module_func_output.output_wait_vblank = backend_module_output_wait_vblank;
333         backend_module_func_output.output_set_vblank_handler = backend_module_output_set_vblank_handler;
334         backend_module_func_output.output_commit = backend_module_output_commit;
335         backend_module_func_output.output_set_commit_handler = backend_module_output_set_commit_handler;
336         backend_module_func_output.output_set_dpms = backend_module_output_set_dpms;
337         backend_module_func_output.output_get_dpms = backend_module_output_get_dpms;
338         backend_module_func_output.output_set_mode = backend_module_output_set_mode;
339         backend_module_func_output.output_get_mode = backend_module_output_get_mode;
340
341         memset(&backend_module_func_layer, 0, sizeof(backend_module_func_layer));
342         backend_module_func_layer.layer_get_capability = backend_module_layer_get_capability;
343         backend_module_func_layer.layer_set_property = backend_module_layer_set_property;
344         backend_module_func_layer.layer_get_property = backend_module_layer_get_property;
345         backend_module_func_layer.layer_set_info = backend_module_layer_set_info;
346         backend_module_func_layer.layer_get_info = backend_module_layer_get_info;
347         backend_module_func_layer.layer_set_buffer = backend_module_layer_set_buffer;
348         backend_module_func_layer.layer_unset_buffer = backend_module_layer_unset_buffer;
349
350         memset(&func_capture, 0, sizeof(tdm_func_capture));
351         func_capture.capture_attach = backend_module_capture_attach;
352         func_capture.capture_commit = backend_module_capture_commit;
353         func_capture.capture_destroy = backend_module_capture_destroy;
354         func_capture.capture_set_done_handler = backend_module_capture_set_done_handler;
355         func_capture.capture_set_info = backend_module_capture_set_info;
356
357
358         memset(&func_pp, 0, sizeof(tdm_func_pp));
359         func_pp.pp_attach = backend_module_pp_attach;
360         func_pp.pp_commit = backend_module_pp_commit;
361         func_pp.pp_destroy = backend_module_pp_destroy;
362         func_pp.pp_set_done_handler = backend_module_pp_set_done_handler;
363         func_pp.pp_set_info = backend_module_pp_set_info;
364
365         ret = tdm_backend_register_func_display(dpy, &backend_module_func_display);
366         ret = tdm_backend_register_func_output(dpy, &backend_module_func_output);
367         ret = tdm_backend_register_func_layer(dpy, &backend_module_func_layer);
368         ret = tdm_backend_register_func_pp(dpy, &func_pp);
369         ret = tdm_backend_register_func_capture(dpy, &func_capture);
370
371         if (error)
372                 *error = TDM_ERROR_NONE;
373
374         return (tdm_backend_data*) &backend_module_data;
375 }
376
377 tdm_backend_module tdm_backend_module_stub = {
378         "backend_module_stub",
379         "Samsung",
380         TDM_BACKEND_ABI_VERSION,
381         tdm_backend_module_init,
382         tdm_backend_module_deinit
383 };
384
385 #ifdef __cplusplus
386 }
387 #endif