e_info_server: change output_mode method. 43/172643/2
authorJunkyeong Kim <jk0430.kim@samsung.com>
Thu, 15 Mar 2018 04:46:22 +0000 (13:46 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Fri, 16 Mar 2018 06:19:40 +0000 (06:19 +0000)
do not use tdm API to get mode info. instead use e_output API.

Change-Id: I14aa12d2b8d5b30fd95e887129855c3878590554
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
src/bin/e_info_server.c

index 55ce605..7f4b8dc 100644 (file)
@@ -3942,15 +3942,7 @@ _output_mode_msg_clients_append(Eldbus_Message_Iter *iter, E_Comp_Screen *e_comp
 {
    Eldbus_Message_Iter *array_of_mode;
    Eldbus_Message_Iter *struct_of_mode;
-   tdm_display *tdpy;
-   tdm_output *output = NULL;
-   tdm_output_conn_status status;
-   const tdm_output_mode *mode = NULL;
-   const tdm_output_mode *modes = NULL;
-   tdm_error ret = TDM_ERROR_NONE;
-   int i, j, count, mode_count, current;
-   unsigned int preferred;
-   tdm_output_dpms dpms;
+   int i, count;
 
    eldbus_message_iter_arguments_append(iter, "a("SIGNATURE_OUTPUT_MODE_SERVER")",
                                         &array_of_mode);
@@ -3970,19 +3962,21 @@ _output_mode_msg_clients_append(Eldbus_Message_Iter *iter, E_Comp_Screen *e_comp
      }
 
    count = e_comp_screen->num_outputs;
-   tdpy = e_comp_screen->tdisplay;
 
    for (i = 0; i < count; i++)
      {
-        output = tdm_display_get_output(tdpy, i, &ret);
-        if (ret != TDM_ERROR_NONE || output == NULL)
-          continue;
+        E_Output *eout = e_output_find_by_index(i);
+        E_Output_Mode *current_mode = NULL;
+        E_Output_Mode *emode = NULL;
+        Eina_List *modelist = NULL, *l = NULL;
+        const tdm_output_mode *tmode = NULL;
+        int current;
+        unsigned int preferred;
+        int dpms;
 
-        ret = tdm_output_get_conn_status(output, &status);
-        if (ret != TDM_ERROR_NONE)
-          continue;
+        if (eout == NULL) continue;
 
-        if (status == TDM_OUTPUT_CONN_STATUS_DISCONNECTED)
+        if (e_output_connected(eout) == EINA_FALSE)
           {
              eldbus_message_iter_arguments_append(array_of_mode, "("SIGNATURE_OUTPUT_MODE_SERVER")",
                                                   &struct_of_mode);
@@ -3994,32 +3988,30 @@ _output_mode_msg_clients_append(Eldbus_Message_Iter *iter, E_Comp_Screen *e_comp
              continue;
           }
 
-        ret = tdm_output_get_mode(output, &mode);
-        if (ret != TDM_ERROR_NONE)
-          continue;
+        current_mode = e_output_current_mode_get(eout);
+        modelist = e_output_mode_list_get(eout);
+        if (modelist == NULL) continue;
 
-        ret = tdm_output_get_available_modes(output, &modes, &mode_count);
-        if (ret != TDM_ERROR_NONE)
-          continue;
+        EINA_LIST_FOREACH(modelist, l, emode)
+          {
+             if (emode == NULL) continue;
 
-        ret = tdm_output_get_dpms(output, &dpms);
-        if (ret != TDM_ERROR_NONE)
-          continue;
+             tmode = emode->tmode;
 
-        for (j = 0; j < mode_count; j++)
-          {
-             eldbus_message_iter_arguments_append(array_of_mode, "("SIGNATURE_OUTPUT_MODE_SERVER")",
-                                                  &struct_of_mode);
-             current = 0;
-             if (mode == modes + j) current = 1;
+             if (tmode->type & TDM_OUTPUT_MODE_TYPE_PREFERRED) preferred = 1;
+             else preferred = 0;
+
+             if (emode == current_mode) current = 1;
+             else current = 0;
 
-             preferred = 0;
-             if (modes[j].type & TDM_OUTPUT_MODE_TYPE_PREFERRED) preferred = 1;
+             dpms = e_output_dpms_get(eout);
 
+             eldbus_message_iter_arguments_append(array_of_mode, "("SIGNATURE_OUTPUT_MODE_SERVER")",
+                                                  &struct_of_mode);
              eldbus_message_iter_arguments_append(struct_of_mode, SIGNATURE_OUTPUT_MODE_SERVER,
-                                                  modes[j].hdisplay, modes[j].hsync_start, modes[j].hsync_end, modes[j].htotal,
-                                                  modes[j].vdisplay, modes[j].vsync_start, modes[j].vsync_end, modes[j].vtotal,
-                                                  modes[j].vrefresh, modes[j].vscan, modes[j].clock, preferred, modes[j].name,
+                                                  tmode->hdisplay, tmode->hsync_start, tmode->hsync_end, tmode->htotal,
+                                                  tmode->vdisplay, tmode->vsync_start, tmode->vsync_end, tmode->vtotal,
+                                                  tmode->vrefresh, tmode->vscan, tmode->clock, preferred, tmode->name,
                                                   current, i, 1, 1, dpms);
              eldbus_message_iter_container_close(array_of_mode, struct_of_mode);
           }