#include <stdint.h>
#include <wayland-server.h>
-#include <tizen-dpms-server-protocol.h>
+#include <libds/output.h>
#ifdef __cplusplus
extern "C" {
enum ds_tizen_dpms_mode
{
- DS_TIZEN_DPMS_MODE_ON = TIZEN_DPMS_MANAGER_MODE_ON,
- DS_TIZEN_DPMS_MODE_STANDBY = TIZEN_DPMS_MANAGER_MODE_STANDBY,
- DS_TIZEN_DPMS_MODE_SUSPEND = TIZEN_DPMS_MANAGER_MODE_SUSPEND,
- DS_TIZEN_DPMS_MODE_OFF = TIZEN_DPMS_MANAGER_MODE_OFF,
+ DS_TIZEN_DPMS_MODE_ON,
+ DS_TIZEN_DPMS_MODE_STANDBY,
+ DS_TIZEN_DPMS_MODE_SUSPEND,
+ DS_TIZEN_DPMS_MODE_OFF,
};
enum ds_tizen_dpms_error
{
- DS_TIZEN_DPMS_ERROR_NONE = TIZEN_DPMS_MANAGER_ERROR_NONE,
- DS_TIZEN_DPMS_ERROR_INVALID_PERMISSION = TIZEN_DPMS_MANAGER_ERROR_INVALID_PERMISSION,
- DS_TIZEN_DPMS_ERROR_INVALID_PARAMETER = TIZEN_DPMS_MANAGER_ERROR_INVALID_PARAMETER,
- DS_TIZEN_DPMS_ERROR_NOT_SUPPORTED = TIZEN_DPMS_MANAGER_ERROR_NOT_SUPPORTED,
- DS_TIZEN_DPMS_ERROR_ALREADY_DONE = TIZEN_DPMS_MANAGER_ERROR_ALREADY_DONE,
+ DS_TIZEN_DPMS_ERROR_NONE,
+ DS_TIZEN_DPMS_ERROR_INVALID_PERMISSION,
+ DS_TIZEN_DPMS_ERROR_INVALID_PARAMETER,
+ DS_TIZEN_DPMS_ERROR_NOT_SUPPORTED,
+ DS_TIZEN_DPMS_ERROR_ALREADY_DONE,
};
struct ds_tizen_dpms_event
void
ds_tizen_dpms_send_set_result(struct ds_tizen_dpms *dpms,
- enum ds_tizen_dpms_mode mode, enum ds_tizen_dpms_error error);
+ enum ds_tizen_dpms_mode ds_mode, enum ds_tizen_dpms_error ds_error);
void
ds_tizen_dpms_send_get_result(struct ds_tizen_dpms *dpms,
- enum ds_tizen_dpms_mode mode, enum ds_tizen_dpms_error error);
+ enum ds_tizen_dpms_mode ds_mode, enum ds_tizen_dpms_error ds_error);
#ifdef __cplusplus
}
#include <stdlib.h>
#include <wayland-server.h>
#include <libds/log.h>
-#include <libds/output.h>
#include <tizen-dpms-server-protocol.h>
#include "libds-tizen/dpms.h"
#include "util.h"
static void dpms_bind(struct wl_client *wl_client, void *data,
uint32_t version, uint32_t id);
+static enum ds_tizen_dpms_mode
+_ds_tizen_dpms_get_ds_dpms_mode(uint32_t mode)
+{
+ if (mode == TIZEN_DPMS_MANAGER_MODE_ON)
+ return DS_TIZEN_DPMS_MODE_ON;
+ else if (mode == TIZEN_DPMS_MANAGER_MODE_STANDBY)
+ return DS_TIZEN_DPMS_MODE_STANDBY;
+ else if (mode == TIZEN_DPMS_MANAGER_MODE_SUSPEND)
+ return DS_TIZEN_DPMS_MODE_SUSPEND;
+ else //TIZEN_DPMS_MANAGER_MODE_OFF
+ return DS_TIZEN_DPMS_MODE_OFF;
+}
+
+static uint32_t
+_ds_tizen_dpms_get_tizen_dpms_mode(enum ds_tizen_dpms_mode ds_mode)
+{
+ if (ds_mode == DS_TIZEN_DPMS_MODE_ON)
+ return TIZEN_DPMS_MANAGER_MODE_ON;
+ else if (ds_mode == DS_TIZEN_DPMS_MODE_STANDBY)
+ return TIZEN_DPMS_MANAGER_MODE_STANDBY;
+ else if (ds_mode == DS_TIZEN_DPMS_MODE_SUSPEND)
+ return TIZEN_DPMS_MANAGER_MODE_SUSPEND;
+ else //DS_TIZEN_DPMS_MODE_OFF
+ return TIZEN_DPMS_MANAGER_MODE_OFF;
+}
+
+static uint32_t
+_ds_tizen_dpms_get_tizen_dpms_error(enum ds_tizen_dpms_error ds_error)
+{
+ if (ds_error == DS_TIZEN_DPMS_ERROR_NONE)
+ return TIZEN_DPMS_MANAGER_ERROR_NONE;
+ else if (ds_error == DS_TIZEN_DPMS_ERROR_INVALID_PERMISSION)
+ return TIZEN_DPMS_MANAGER_ERROR_INVALID_PERMISSION;
+ else if (ds_error == DS_TIZEN_DPMS_ERROR_INVALID_PARAMETER)
+ return TIZEN_DPMS_MANAGER_ERROR_INVALID_PARAMETER;
+ else if (ds_error == DS_TIZEN_DPMS_ERROR_NOT_SUPPORTED)
+ return TIZEN_DPMS_MANAGER_ERROR_NOT_SUPPORTED;
+ else //DS_TIZEN_DPMS_ERROR_ALREADY_DONE
+ return TIZEN_DPMS_MANAGER_ERROR_ALREADY_DONE;
+}
+
WL_EXPORT struct ds_tizen_dpms *
ds_tizen_dpms_create(struct wl_display *display)
{
WL_EXPORT void
ds_tizen_dpms_send_set_result(struct ds_tizen_dpms *dpms,
- enum ds_tizen_dpms_mode mode, enum ds_tizen_dpms_error error)
+ enum ds_tizen_dpms_mode ds_mode, enum ds_tizen_dpms_error ds_error)
{
+ uint32_t mode;
+ uint32_t error;
+
+ if (ds_mode > DS_TIZEN_DPMS_MODE_OFF || ds_error > DS_TIZEN_DPMS_ERROR_ALREADY_DONE) {
+ ds_err("dpms send set result error invalid parameter");
+ return;
+ }
+ mode = _ds_tizen_dpms_get_tizen_dpms_mode(ds_mode);
+ error = _ds_tizen_dpms_get_tizen_dpms_error(ds_error);
ds_dbg("dpms send set result : mode(%d), error(%d)", mode, error);
tizen_dpms_manager_send_set_state(dpms->res, mode, error);
}
WL_EXPORT void
ds_tizen_dpms_send_get_result(struct ds_tizen_dpms *dpms,
- enum ds_tizen_dpms_mode mode, enum ds_tizen_dpms_error error)
+ enum ds_tizen_dpms_mode ds_mode, enum ds_tizen_dpms_error ds_error)
{
+ uint32_t mode;
+ uint32_t error;
+
+ if (ds_mode > DS_TIZEN_DPMS_MODE_OFF || ds_error > DS_TIZEN_DPMS_ERROR_ALREADY_DONE) {
+ ds_err("dpms send get result error invalid parameter");
+ return;
+ }
+ mode = _ds_tizen_dpms_get_tizen_dpms_mode(ds_mode);
+ error = _ds_tizen_dpms_get_tizen_dpms_error(ds_error);
ds_dbg("dpms send get result : mode(%d), error(%d)", mode, error);
tizen_dpms_manager_send_get_state(dpms->res, mode, error);
}
struct wl_resource *resource, struct wl_resource *output, uint32_t mode)
{
struct ds_tizen_dpms *dpms;
+ enum ds_tizen_dpms_mode ds_mode;
dpms = wl_resource_get_user_data(resource);
- if (mode > DS_TIZEN_DPMS_MODE_OFF) {
+ if (mode > TIZEN_DPMS_MANAGER_MODE_OFF) {
ds_err("set dpms error : not supported mode(%d)", mode);
- tizen_dpms_manager_send_set_state(resource, DS_TIZEN_DPMS_MODE_OFF,
- DS_TIZEN_DPMS_ERROR_INVALID_PARAMETER);
+ tizen_dpms_manager_send_set_state(resource, TIZEN_DPMS_MANAGER_MODE_OFF,
+ TIZEN_DPMS_MANAGER_ERROR_INVALID_PARAMETER);
return;
}
+ ds_mode = _ds_tizen_dpms_get_ds_dpms_mode(mode);
struct ds_tizen_dpms_event event = {
- .mode = mode,
+ .mode = ds_mode,
};
wl_signal_emit(&dpms->events.set_dpms, &event);