unsigned int vdisplay, vsync_start, vsync_end, vtotal;
unsigned int refresh, vscan, clock;
unsigned int flags;
- int current, output, connect;
+ int current, output, connect, dpms;
const char *name;
} E_Info_Output_Mode;
_e_output_mode_info_new(uint32_t h, uint32_t hsync_start, uint32_t hsync_end, uint32_t htotal,
uint32_t v, uint32_t vsync_start, uint32_t vsync_end, uint32_t vtotal,
uint32_t refresh, uint32_t vscan, uint32_t clock, uint32_t flags,
- int current, int output, int connect, const char *name)
+ int current, int output, int connect, const char *name, int dpms)
{
E_Info_Output_Mode *mode = NULL;
mode->output = output;
mode->connect = connect;
mode->name = eina_stringshare_add(name);
+ mode->dpms = dpms;
return mode;
}
uint32_t h, hsync_start, hsync_end, htotal;
uint32_t v, vsync_start, vsync_end, vtotal;
uint32_t refresh, vscan, clock, flag;
- int current, output, connect;
+ int current, output, connect, dpms;
const char *name;
E_Info_Output_Mode *mode = NULL;
res = eldbus_message_iter_arguments_get(ec,
&h, &hsync_start, &hsync_end, &htotal,
&v, &vsync_start, &vsync_end, &vtotal,
&refresh, &vscan, &clock, &flag, &name,
- ¤t, &output, &connect, &gl);
+ ¤t, &output, &connect, &gl, &dpms);
if (!res)
{
printf("Failed to get output mode info\n");
mode = _e_output_mode_info_new(h, hsync_start, hsync_end, htotal,
v, vsync_start, vsync_end, vtotal,
refresh, vscan, clock, flag,
- current, output, connect, name);
+ current, output, connect, name, dpms);
e_info_client.mode_list = eina_list_append(e_info_client.mode_list, mode);
}
e_info_client.gl = gl;
int output = 0;
int idx = 0;
char curr;
+ const char *str_dpms[] = {
+ "on",
+ "standby",
+ "suspend",
+ "off"
+ };
if (!_e_info_client_eldbus_message_with_args("output_mode", _cb_output_mode_info,
SIGNATURE_OUTPUT_MODE_CLIENT, E_INFO_CMD_OUTPUT_MODE_GET, 0))
idx = 0;
if (mode->connect == 1)
- printf("%s\n", "connected");
+ printf("%s, %s\n", "connected", str_dpms[mode->dpms]);
else
{
- printf("%s\n", "disconnected");
+ printf("%s, %s\n", "disconnected", str_dpms[mode->dpms]);
continue;
}
}
tdm_error ret = TDM_ERROR_NONE;
int i, j, count, mode_count, current;
unsigned int preferred;
+ tdm_output_dpms dpms;
eldbus_message_iter_arguments_append(iter, "a("SIGNATURE_OUTPUT_MODE_SERVER")",
&array_of_mode);
&struct_of_mode);
eldbus_message_iter_arguments_append(struct_of_mode, SIGNATURE_OUTPUT_MODE_SERVER,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "none",
- 0, 0, 0, 0);
+ 0, 0, 0, 0, 0);
eldbus_message_iter_container_close(array_of_mode, struct_of_mode);
eldbus_message_iter_container_close(iter, array_of_mode);
&struct_of_mode);
eldbus_message_iter_arguments_append(struct_of_mode, SIGNATURE_OUTPUT_MODE_SERVER,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "none",
- 0, i, 0, 1);
+ 0, i, 0, 1, 0);
eldbus_message_iter_container_close(array_of_mode, struct_of_mode);
continue;
if (ret != TDM_ERROR_NONE)
continue;
+ ret = tdm_output_get_dpms(output, &dpms);
+ if (ret != TDM_ERROR_NONE)
+ continue;
+
for (j = 0; j < mode_count; j++)
{
eldbus_message_iter_arguments_append(array_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,
- current, i, 1, 1);
+ current, i, 1, 1, dpms);
eldbus_message_iter_container_close(array_of_mode, struct_of_mode);
}
}