change the symbol name related to the voutput 77/211477/2
authorSooChan Lim <sc1.lim@samsung.com>
Tue, 6 Aug 2019 00:01:12 +0000 (09:01 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Tue, 6 Aug 2019 04:01:03 +0000 (13:01 +0900)
1. The voutput is created at the tdm_display, so it belongs to the tdm_display.
The creation of the voutput should be done at the display.
2. The voutput should be distinguished from the output. The functions associated
with the voutput has to get the voutput symbol name.

Change-Id: Ie21def171a1e8d9c43150e23347542c3a232db23

backends/virtual/tdm_virtual.c
backends/virtual/tdm_virtual.h
backends/virtual/tdm_virtual_display.c
include/tdm_backend.h
src/tdm_display.c
src/tdm_output.c
src/tdm_private.h
src/tdm_server.c

index f4ad7fe..580d440 100644 (file)
@@ -65,7 +65,7 @@ tdm_virtual_init(tdm_display *dpy, tdm_error *error)
        virtual_func_display.display_get_outputs = virtual_display_get_outputs;
        virtual_func_display.display_get_fd = virtual_display_get_fd;
        virtual_func_display.display_handle_events = virtual_display_handle_events;
-       virtual_func_display.voutput_create = virtual_output_create;
+       virtual_func_display.display_voutput_create = virtual_display_voutput_create;
 
        memset(&virtual_func_output, 0, sizeof(virtual_func_output));
        virtual_func_output.output_get_capability = virtual_output_get_capability;
@@ -83,14 +83,14 @@ tdm_virtual_init(tdm_display *dpy, tdm_error *error)
        virtual_func_output.output_set_status_handler = virtual_output_set_status_handler;
 
        memset(&virtual_func_voutput, 0, sizeof(virtual_func_voutput));
-       virtual_func_voutput.voutput_destroy = virtual_output_destroy;
-       virtual_func_voutput.voutput_set_available_mode = virtual_output_set_available_mode;
-       virtual_func_voutput.voutput_set_physical_size = virtual_output_set_physical_size;
-       virtual_func_voutput.voutput_connect = virtual_output_connect;
-       virtual_func_voutput.voutput_disconnect = virtual_output_disconnect;
-       virtual_func_voutput.voutput_get_output = virtual_output_get_output;
-       virtual_func_voutput.voutput_set_commit_func = virtual_output_set_commit_func;
-       virtual_func_voutput.voutput_commit_done = virtual_output_commit_done;
+       virtual_func_voutput.voutput_destroy = virtual_voutput_destroy;
+       virtual_func_voutput.voutput_set_available_mode = virtual_voutput_set_available_mode;
+       virtual_func_voutput.voutput_set_physical_size = virtual_voutput_set_physical_size;
+       virtual_func_voutput.voutput_connect = virtual_voutput_connect;
+       virtual_func_voutput.voutput_disconnect = virtual_voutput_disconnect;
+       virtual_func_voutput.voutput_get_output = virtual_voutput_get_output;
+       virtual_func_voutput.voutput_set_commit_func = virtual_voutput_set_commit_func;
+       virtual_func_voutput.voutput_commit_done = virtual_voutput_commit_done;
 
        memset(&virtual_func_layer, 0, sizeof(virtual_func_layer));
        virtual_func_layer.layer_get_capability = virtual_layer_get_capability;
index c85dff6..0a5c377 100644 (file)
@@ -29,8 +29,7 @@ tdm_error virtual_display_get_capability(tdm_backend_data *bdata, tdm_caps_displ
 tdm_output **virtual_display_get_outputs(tdm_backend_data *bdata, int *count, tdm_error *error);
 tdm_error virtual_display_get_fd(tdm_backend_data *bdata, int *fd);
 tdm_error virtual_display_handle_events(tdm_backend_data *bdata);
-tdm_output *virtual_display_output_create(tdm_backend_data *bdata, const char* name, tdm_error *error);
-tdm_error virtual_display_output_destroy(tdm_backend_data *bdata, tdm_output *output);
+tdm_voutput *virtual_display_voutput_create(tdm_backend_data *bdata, const char *name, tdm_error *error);
 
 tdm_error virtual_output_get_capability(tdm_output *output, tdm_caps_output *caps);
 tdm_layer **virtual_output_get_layers(tdm_output *output, int *count, tdm_error *error);
@@ -42,17 +41,16 @@ tdm_error virtual_output_set_dpms(tdm_output *output, tdm_output_dpms dpms_value
 tdm_error virtual_output_get_dpms(tdm_output *output, tdm_output_dpms *dpms_value);
 tdm_error virtual_output_set_mode(tdm_output *output, const tdm_output_mode *mode);
 tdm_error virtual_output_get_mode(tdm_output *output, const tdm_output_mode **mode);
-tdm_error virtual_output_set_available_mode(tdm_output *output, const tdm_output_mode *modes, int count);
-tdm_error virtual_output_set_physical_size(tdm_output *output, unsigned int mmwidth, unsigned int mmheight);
-tdm_error virtual_output_connect(tdm_output *output);
-tdm_error virtual_output_disconnect(tdm_output *output);
 tdm_error virtual_output_set_status_handler(tdm_output *output, tdm_output_status_handler func, void *user_data);
 
-tdm_voutput *virtual_output_create(tdm_backend_data *bdata, const char *name, tdm_error *error);
-tdm_error virtual_output_destroy(tdm_voutput *voutput);
-tdm_output *virtual_output_get_output(tdm_voutput *voutput, tdm_error *error);
-tdm_error virtual_output_set_commit_func(tdm_voutput *voutput,  tdm_voutput_commit_handler commit_func);
-tdm_error virtual_output_commit_done(tdm_voutput *voutput);
+tdm_error virtual_voutput_set_available_mode(tdm_output *output, const tdm_output_mode *modes, int count);
+tdm_error virtual_voutput_set_physical_size(tdm_output *output, unsigned int mmwidth, unsigned int mmheight);
+tdm_error virtual_voutput_connect(tdm_output *output);
+tdm_error virtual_voutput_disconnect(tdm_output *output);
+tdm_error virtual_voutput_destroy(tdm_voutput *voutput);
+tdm_output *virtual_voutput_get_output(tdm_voutput *voutput, tdm_error *error);
+tdm_error virtual_voutput_set_commit_func(tdm_voutput *voutput,  tdm_voutput_commit_handler commit_func);
+tdm_error virtual_voutput_commit_done(tdm_voutput *voutput);
 
 tdm_error virtual_layer_get_capability(tdm_layer *layer, tdm_caps_layer *caps);
 tdm_error virtual_layer_set_info(tdm_layer *layer, tdm_info_layer *info);
index e9e503f..ea3f5af 100644 (file)
@@ -605,7 +605,7 @@ virtual_output_set_status_handler(tdm_output *output,
 }
 
 tdm_error
-virtual_output_set_available_mode(tdm_voutput *voutput, const tdm_output_mode *modes, int count)
+virtual_voutput_set_available_mode(tdm_voutput *voutput, const tdm_output_mode *modes, int count)
 {
        tdm_virtual_voutput_data *voutput_data = voutput;
        tdm_virtual_output_data *output_data = NULL;
@@ -633,7 +633,7 @@ virtual_output_set_available_mode(tdm_voutput *voutput, const tdm_output_mode *m
 }
 
 tdm_error
-virtual_output_set_physical_size(tdm_voutput *voutput, unsigned int mmwidth, unsigned int mmheight)
+virtual_voutput_set_physical_size(tdm_voutput *voutput, unsigned int mmwidth, unsigned int mmheight)
 {
        tdm_virtual_voutput_data *voutput_data = voutput;
 
@@ -648,7 +648,7 @@ virtual_output_set_physical_size(tdm_voutput *voutput, unsigned int mmwidth, uns
 }
 
 tdm_error
-virtual_output_connect(tdm_voutput *voutput)
+virtual_voutput_connect(tdm_voutput *voutput)
 {
        tdm_virtual_voutput_data *voutput_data = voutput;
        tdm_virtual_output_data *output_data = NULL;
@@ -671,7 +671,7 @@ virtual_output_connect(tdm_voutput *voutput)
 }
 
 tdm_error
-virtual_output_disconnect(tdm_voutput *voutput)
+virtual_voutput_disconnect(tdm_voutput *voutput)
 {
 
        tdm_virtual_voutput_data *voutput_data = voutput;
@@ -778,7 +778,7 @@ virtual_layer_unset_buffer(tdm_layer *layer)
 }
 
 tdm_voutput *
-virtual_output_create(tdm_backend_data *bdata, const char *name, tdm_error *error)
+virtual_display_voutput_create(tdm_backend_data *bdata, const char *name, tdm_error *error)
 {
        tdm_virtual_data *virtual_data = bdata;
        tdm_virtual_voutput_data *voutput_data = NULL;
@@ -888,7 +888,7 @@ create_fail:
 }
 
 tdm_error
-virtual_output_destroy(tdm_voutput *voutput)
+virtual_voutput_destroy(tdm_voutput *voutput)
 {
        tdm_virtual_data *virtual_data = NULL;
        tdm_virtual_voutput_data *vo = NULL, *voutput_data = voutput;
@@ -943,7 +943,7 @@ virtual_output_destroy(tdm_voutput *voutput)
 }
 
 tdm_output *
-virtual_output_get_output(tdm_voutput *voutput, tdm_error *error)
+virtual_voutput_get_output(tdm_voutput *voutput, tdm_error *error)
 {
        tdm_virtual_voutput_data *voutput_data = voutput;
 
@@ -958,7 +958,7 @@ virtual_output_get_output(tdm_voutput *voutput, tdm_error *error)
 }
 
 tdm_error
-virtual_output_set_commit_func(tdm_voutput *voutput,  tdm_voutput_commit_handler commit_func)
+virtual_voutput_set_commit_func(tdm_voutput *voutput,  tdm_voutput_commit_handler commit_func)
 {
        tdm_virtual_voutput_data *voutput_data = voutput;
 
@@ -970,7 +970,7 @@ virtual_output_set_commit_func(tdm_voutput *voutput,  tdm_voutput_commit_handler
 }
 
 tdm_error
-virtual_output_commit_done(tdm_voutput *voutput)
+virtual_voutput_commit_done(tdm_voutput *voutput)
 {
        tdm_virtual_voutput_data *voutput_data = voutput;
        tdm_virtual_output_data *output_data = NULL;
index c5e9e8e..f8ddd85 100644 (file)
@@ -344,7 +344,7 @@ typedef struct _tdm_func_display {
         * @remark
         * A backend module doesn't need to implement this function if doesn't support virtual output.
         */
-       tdm_voutput *(*voutput_create)(tdm_backend_data *bdata, const char *name, tdm_error *error);
+       tdm_voutput *(*display_voutput_create)(tdm_backend_data *bdata, const char *name, tdm_error *error);
 
        void (*reserved2)(void);
        void (*reserved3)(void);
@@ -596,7 +596,7 @@ typedef struct _tdm_func_voutput {
         * @brief Destroy a virtual output object of a backend module
         * @param[in] voutput The voutput object
         * @return #TDM_ERROR_NONE if success. Otherwise, error value.
-        * @see voutput_create() function
+        * @see display_voutput_create() function
         * @remark
         * A backend module doesn't need to implement this function if doesn't support virtual output.
         */
index 7d2f82b..814e60c 100644 (file)
@@ -989,3 +989,118 @@ tdm_module_check_abi(tdm_private_module *private_module, int abimaj, int abimin)
        return 1;
 }
 
+INTERN tdm_voutput *
+tdm_display_voutput_create(tdm_display *dpy, const char *name, tdm_error *error)
+{
+       tdm_private_module *private_module = NULL;
+       tdm_private_module *current_module = NULL;
+       tdm_private_voutput *private_voutput = NULL;
+       tdm_private_output *private_output = NULL;
+       tdm_func_display *func_display = NULL;
+       tdm_func_voutput *func_voutput = NULL;
+       tdm_voutput *voutput_backend = NULL;
+       tdm_output *output_backend = NULL;
+       int output_find = 0;
+       tdm_private_display *private_display;
+       tdm_error ret = TDM_ERROR_NONE;
+
+       TDM_RETURN_VAL_IF_FAIL_WITH_ERROR(dpy != NULL, TDM_ERROR_INVALID_PARAMETER, NULL);
+       private_display = (tdm_private_display*)dpy;
+       private_module = private_display->virtual_module;
+       TDM_RETURN_VAL_IF_FAIL_WITH_ERROR(private_module != NULL, TDM_ERROR_BAD_MODULE, NULL);
+
+       _pthread_mutex_lock(&private_display->lock);
+
+       if (error) *error = TDM_ERROR_NONE;
+
+       private_voutput = calloc(1, sizeof(tdm_private_voutput));
+       if (!private_voutput) {
+               if (error) *error = TDM_ERROR_OUT_OF_MEMORY;
+               _pthread_mutex_unlock(&private_display->lock);
+               return NULL;
+       }
+
+       func_display = &private_module->func_display;
+       func_voutput = &private_module->func_voutput;
+       current_module = private_display->current_module;
+       private_display->current_module = private_module;
+
+       voutput_backend = func_display->display_voutput_create(private_module->bdata, name, &ret);
+
+       if (voutput_backend == NULL || ret != TDM_ERROR_NONE) {
+               TDM_ERR("display_voutput_create fail");
+               free(private_voutput);
+               if (error) *error = ret;
+               private_display->current_module = current_module;
+               _pthread_mutex_unlock(&private_display->lock);
+               return NULL;
+       }
+       private_voutput->voutput_backend = voutput_backend;
+       private_voutput->private_display = private_display;
+       private_voutput->private_module = private_module;
+       LIST_INITHEAD(&private_voutput->voutput_commit_handler_list);
+
+       output_backend = func_voutput->voutput_get_output(voutput_backend, &ret);
+       if (output_backend == NULL || ret != TDM_ERROR_NONE) {
+               TDM_ERR("voutput_get_output fail");
+               free(private_voutput);
+               if (error) *error = ret;
+               if (func_voutput->voutput_destroy)
+                       func_voutput->voutput_destroy(voutput_backend);
+               else
+                       TDM_ERR("no destroy function");
+               private_display->current_module = current_module;
+               _pthread_mutex_unlock(&private_display->lock);
+               return NULL;
+       }
+
+       ret = tdm_display_update_output(private_display->current_module, output_backend);
+       if (ret != TDM_ERROR_NONE) {
+               TDM_ERR("tdm_display_update_output fail");
+               free(private_voutput);
+               if (func_voutput->voutput_destroy)
+                       func_voutput->voutput_destroy(voutput_backend);
+               else
+                       TDM_ERR("no destroy function");
+               if (error) *error = ret;
+               private_display->current_module = current_module;
+               _pthread_mutex_unlock(&private_display->lock);
+               return NULL;
+       }
+
+       LIST_FOR_EACH_ENTRY(private_output, &private_module->output_list, link) {
+               if (private_output->output_backend == output_backend) {
+                       output_find = 1;
+                       break;
+               }
+       }
+
+       if (output_find != 1) {
+               private_output = NULL;
+               free(private_voutput);
+               if (func_voutput->voutput_destroy)
+                       func_voutput->voutput_destroy(voutput_backend);
+               else
+                       TDM_ERR("no destroy function");
+               private_voutput = NULL;
+       } else {
+               strncpy(private_voutput->name, name, TDM_NAME_LEN - 1);
+               private_voutput->name[TDM_NAME_LEN - 1] = '\0';
+               strncpy(private_output->name, name, TDM_NAME_LEN - 1);
+               private_output->name[TDM_NAME_LEN - 1] = '\0';
+
+               private_voutput->private_output = private_output;
+               private_output->private_voutput = private_voutput;
+
+               /* do not use vblank */
+               tdm_output_choose_commit_per_vblank_mode(private_output, 0);
+
+               LIST_ADDTAIL(&private_voutput->link, &private_module->voutput_list);
+       }
+
+       private_display->current_module = current_module;
+
+       _pthread_mutex_unlock(&private_display->lock);
+
+       return private_voutput;
+}
index 1a0e980..07cfa4a 100644 (file)
@@ -2140,122 +2140,6 @@ tdm_output_choose_commit_per_vblank_mode(tdm_private_output *private_output, int
        return TDM_ERROR_NONE;
 }
 
-INTERN tdm_voutput *
-tdm_voutput_create(tdm_display *dpy, const char *name, tdm_error *error)
-{
-       tdm_private_module *private_module = NULL;
-       tdm_private_module *current_module = NULL;
-       tdm_private_voutput *private_voutput = NULL;
-       tdm_private_output *private_output = NULL;
-       tdm_func_display *func_display = NULL;
-       tdm_func_voutput *func_voutput = NULL;
-       tdm_voutput *voutput_backend = NULL;
-       tdm_output *output_backend = NULL;
-       int output_find = 0;
-       tdm_private_display *private_display;
-       tdm_error ret = TDM_ERROR_NONE;
-
-       TDM_RETURN_VAL_IF_FAIL_WITH_ERROR(dpy != NULL, TDM_ERROR_INVALID_PARAMETER, NULL);
-       private_display = (tdm_private_display*)dpy;
-       private_module = private_display->virtual_module;
-       TDM_RETURN_VAL_IF_FAIL_WITH_ERROR(private_module != NULL, TDM_ERROR_BAD_MODULE, NULL);
-
-       _pthread_mutex_lock(&private_display->lock);
-
-       if (error) *error = TDM_ERROR_NONE;
-
-       private_voutput = calloc(1, sizeof(tdm_private_voutput));
-       if (!private_voutput) {
-               if (error) *error = TDM_ERROR_OUT_OF_MEMORY;
-               _pthread_mutex_unlock(&private_display->lock);
-               return NULL;
-       }
-
-       func_display = &private_module->func_display;
-       func_voutput = &private_module->func_voutput;
-       current_module = private_display->current_module;
-       private_display->current_module = private_module;
-
-       voutput_backend = func_display->voutput_create(private_module->bdata, name, &ret);
-
-       if (voutput_backend == NULL || ret != TDM_ERROR_NONE) {
-               TDM_ERR("voutput_create fail");
-               free(private_voutput);
-               if (error) *error = ret;
-               private_display->current_module = current_module;
-               _pthread_mutex_unlock(&private_display->lock);
-               return NULL;
-       }
-       private_voutput->voutput_backend = voutput_backend;
-       private_voutput->private_display = private_display;
-       private_voutput->private_module = private_module;
-       LIST_INITHEAD(&private_voutput->voutput_commit_handler_list);
-
-       output_backend = func_voutput->voutput_get_output(voutput_backend, &ret);
-       if (output_backend == NULL || ret != TDM_ERROR_NONE) {
-               TDM_ERR("voutput_get_output fail");
-               free(private_voutput);
-               if (error) *error = ret;
-               if (func_voutput->voutput_destroy)
-                       func_voutput->voutput_destroy(voutput_backend);
-               else
-                       TDM_ERR("no destroy function");
-               private_display->current_module = current_module;
-               _pthread_mutex_unlock(&private_display->lock);
-               return NULL;
-       }
-
-       ret = tdm_display_update_output(private_display->current_module, output_backend);
-       if (ret != TDM_ERROR_NONE) {
-               TDM_ERR("tdm_display_update_output fail");
-               free(private_voutput);
-               if (func_voutput->voutput_destroy)
-                       func_voutput->voutput_destroy(voutput_backend);
-               else
-                       TDM_ERR("no destroy function");
-               if (error) *error = ret;
-               private_display->current_module = current_module;
-               _pthread_mutex_unlock(&private_display->lock);
-               return NULL;
-       }
-
-       LIST_FOR_EACH_ENTRY(private_output, &private_module->output_list, link) {
-               if (private_output->output_backend == output_backend) {
-                       output_find = 1;
-                       break;
-               }
-       }
-
-       if (output_find != 1) {
-               private_output = NULL;
-               free(private_voutput);
-               if (func_voutput->voutput_destroy)
-                       func_voutput->voutput_destroy(voutput_backend);
-               else
-                       TDM_ERR("no destroy function");
-               private_voutput = NULL;
-       } else {
-               strncpy(private_voutput->name, name, TDM_NAME_LEN - 1);
-               private_voutput->name[TDM_NAME_LEN - 1] = '\0';
-               strncpy(private_output->name, name, TDM_NAME_LEN - 1);
-               private_output->name[TDM_NAME_LEN - 1] = '\0';
-
-               private_voutput->private_output = private_output;
-               private_output->private_voutput = private_voutput;
-
-               /* do not use vblank */
-               tdm_output_choose_commit_per_vblank_mode(private_output, 0);
-
-               LIST_ADDTAIL(&private_voutput->link, &private_module->voutput_list);
-       }
-
-       private_display->current_module = current_module;
-
-       _pthread_mutex_unlock(&private_display->lock);
-
-       return private_voutput;
-}
-
 INTERN tdm_error
 tdm_voutput_destroy(tdm_voutput *voutput)
 {
index b65c01e..33904da 100644 (file)
@@ -261,7 +261,7 @@ tdm_monitor_server_command(tdm_display *dpy, const char *options, char *reply, i
 
 /* virtual */
 tdm_voutput *
-tdm_voutput_create(tdm_display *dpy, const char *name, tdm_error *error);
+tdm_display_voutput_create(tdm_display *dpy, const char *name, tdm_error *error);
 tdm_error
 tdm_voutput_destroy(tdm_voutput *voutput);
 tdm_error
index cfaf044..25ad51d 100644 (file)
@@ -1318,7 +1318,7 @@ _tdm_server_cb_create_virtual_output(struct wl_client *client, struct wl_resourc
                return;
        }
 
-       voutput = tdm_voutput_create(private_server->private_loop->dpy, name, &ret);
+       voutput = tdm_display_voutput_create(private_server->private_loop->dpy, name, &ret);
        if (!voutput) {
                TDM_ERR("voutput creation fail(%s)(%d).", name, ret);
                wl_resource_post_error(resource, WL_DISPLAY_ERROR_NO_MEMORY,