virtual: add virtual backend module
[platform/core/uifw/libtdm.git] / src / tdm_backend.c
index c979129..12f6a2d 100644 (file)
@@ -109,6 +109,30 @@ tdm_backend_register_func_output(tdm_display *dpy, tdm_func_output *func_output)
 }
 
 EXTERN tdm_error
+tdm_backend_register_func_voutput(tdm_display *dpy, tdm_func_voutput *func_voutput)
+{
+       tdm_backend_module *module;
+
+       TDM_RETURN_VAL_IF_FAIL(TDM_MUTEX_IS_LOCKED(), TDM_ERROR_OPERATION_FAILED);
+
+       BACKEND_FUNC_ENTRY();
+
+       TDM_RETURN_VAL_IF_FAIL(func_voutput != NULL, TDM_ERROR_INVALID_PARAMETER);
+
+       assert(private_display->current_module);
+
+       /* the ABI version of backend module should be more than 1.1 */
+       module = private_display->current_module->module_data;
+       if (_check_abi_version(module, 1, 1) < 0)
+               return TDM_ERROR_BAD_MODULE;
+
+       private_display->current_module->func_voutput = *func_voutput;
+
+       return TDM_ERROR_NONE;
+}
+
+
+EXTERN tdm_error
 tdm_backend_register_func_layer(tdm_display *dpy, tdm_func_layer *func_layer)
 {
        tdm_backend_module *module;