2.0 alpha
[apps/core/preloaded/calendar.git] / ug / edit / ug-edit.c
index 64876ee..09572e5 100755 (executable)
   */
 
 
-
-
-
-
 #include <ui-gadget-module.h>
 #include <libintl.h>
 #include <appcore-common.h>
@@ -73,125 +69,156 @@ static Evas_Object *__cal_edit_ug_create_layout(Evas_Object *parent, ug_data *ug
        return ugd->base;
 }
 
-static void __cal_edit_ug_get_strnote(ug_data *ugd, bundle *data)
+static void __cal_edit_ug_get_strnote(ug_data *ugd, service_h service)
 {
-       if (NULL == ugd || NULL == data)
-       {
-               return;
-       }
+       c_ret_if(!ugd);
+       c_ret_if(!service);
+
+       char *str = NULL;
+       char *strnote = NULL;
+       int strnote_len = 0 ;
+       char strnote_tag[MAX_STR_LEN]= {0, };
+
+       if ((0 != ugd->account_id) && (0 != ugd->mail_id) && (NULL != ugd->src_box)) {
+
+               int r = service_get_extra_data(service, "note", &str);
+               c_ret_if(r != SERVICE_ERROR_NONE);
+
+               snprintf(strnote_tag, sizeof(strnote_tag), "%s%d_%d_%s", EMAIL_LINK_FLAG, ugd->account_id, ugd->mail_id, ugd->src_box);
+               strnote_len = strlen(str)+strlen(strnote_tag);
+
+               CAL_CALLOC(strnote, strnote_len+1, char);
+               if (strnote) {
+                       snprintf(strnote, strnote_len+1, "%s%s", str, strnote_tag);
+                       ugd->strnote = strdup(strnote);
+                       free(strnote);
+               }
+
+               free(str);
+       } else {
+               int r = service_get_extra_data(service, "note", &str);
+               c_ret_if(r != SERVICE_ERROR_NONE);
 
-       const char *str = bundle_get_val(data, "note");
-       if (str)
-               ugd->strnote = strdup(str);
-       else
-               ugd->strnote = NULL;
+               ugd->strnote = str;
+       }
 }
-static void __cal_edit_ug_get_bundle_parameter(ug_data *ugd, bundle *data)
+static void __cal_edit_ug_get_bundle_parameter(ug_data *ugd, service_h service)
 {
-       const char *str = NULL;
+       c_ret_if(!ugd);
+       c_ret_if(!service);
+
+       char *str = NULL;
        time_t t = time(NULL);
        struct tm cur_tm;
-       struct tm* returned_tm = gmtime_r(&t, &cur_tm);
-       if (!returned_tm)
-       {
-               ERR("gmtime return null");
-               return;
+       struct tm *returned_tm = gmtime_r(&t, &cur_tm);
+       c_ret_if(!returned_tm);
+
+       //year
+       int r = service_get_extra_data(service, "year", &str);
+       c_warn_if(r != SERVICE_ERROR_NONE, "service_get_extra_data() is failed(%d)", r);
+       if (str) {
+               ugd->tm_year = atoi(str);
+
+               free(str);
+
+               str = NULL;
+       } else {
+               ugd->tm_year = cur_tm.tm_year;
        }
 
-       if (NULL != data)
-       {
-               //year
-               str = bundle_get_val(data, "year");
-               if (NULL != str)
-               {
-                       ugd->tm_year = atoi(str);
-               }
-               else
-               {
-                       ugd->tm_year = cur_tm.tm_year;
-               }
+       //month
+       r = service_get_extra_data(service, "month", &str);
+       c_warn_if(r != SERVICE_ERROR_NONE, "service_get_extra_data() is failed(%d)", r);
+       if (str) {
+               ugd->tm_mon = atoi(str);
 
-               //month
-               str = bundle_get_val(data, "month");
-               if (NULL != str)
-               {
-                       ugd->tm_mon = atoi(str);
-               }
-               else
-               {
-                       ugd->tm_mon = cur_tm.tm_mon;
-               }
+               free(str);
 
-               //day
-               str = bundle_get_val(data, "day");
-               if (NULL != str)
-               {
-                       ugd->tm_mday = atoi(str);
-               }
-               else
-               {
-                       ugd->tm_mday = cur_tm.tm_mday;
-               }
+               str = NULL;
+       } else {
+               ugd->tm_mon = cur_tm.tm_mon;
+       }
 
+       //day
+       r = service_get_extra_data(service, "day", &str);
+       c_warn_if(r != SERVICE_ERROR_NONE, "service_get_extra_data() is failed(%d)", r);
+       if (str) {
+               ugd->tm_mday = atoi(str);
 
-               //day
-               str = bundle_get_val(data, "hour");
-               if (NULL != str)
-               {
-                       ugd->base_hour = atoi(str);
-               }
-               else
-               {
-                       ugd->base_hour = -1;
-               }
+               free(str);
 
-               //index
-               str = bundle_get_val(data, "index");
-               if (NULL != str)
-               {
-                       ugd->cid = atoi(str);
-               }
-               else
-               {
-                       ugd->cid = 0;
-               }
+               str = NULL;
+       } else {
+               ugd->tm_mday = cur_tm.tm_mday;
+       }
 
-               str = bundle_get_val(data, "account_id");
-               if (NULL != str)
-               {
-                       ugd->account_id =  atoi(str);
-               }
-               else
-               {
-                       ugd->account_id = 0;
-               }
 
-               str = bundle_get_val(data, "mail_id");
-               if (NULL != str)
-               {
-                       ugd->mail_id =  atoi(str);
-               }
-               else
-               {
-                       ugd->mail_id = 0;
-               }
+       //day
+       r = service_get_extra_data(service, "hour", &str);
+       c_warn_if(r != SERVICE_ERROR_NONE, "service_get_extra_data() is failed(%d)", r);
+       if (str) {
+               ugd->base_hour = atoi(str);
 
-               str = bundle_get_val(data, "src_box");
-               if (NULL != str)
-               {
-                       ugd->src_box = strdup(str);
-               }
-               else
-               {
-                       ugd->src_box = NULL;
-               }
+               free(str);
+
+               str = NULL;
+       } else {
+               ugd->base_hour = -1;
+       }
+
+       //index
+       r = service_get_extra_data(service, "index", &str);
+       c_warn_if(r != SERVICE_ERROR_NONE, "service_get_extra_data() is failed(%d)", r);
+       if (str) {
+               ugd->cid = atoi(str);
+
+               free(str);
+
+               str = NULL;
+       } else {
+               ugd->cid = 0;
+       }
+
+       r = service_get_extra_data(service, "account_id", &str);
+       c_warn_if(r != SERVICE_ERROR_NONE, "service_get_extra_data() is failed(%d)", r);
+       if (str) {
+               ugd->account_id =  atoi(str);
+
+               free(str);
+
+               str = NULL;
+       } else {
+               ugd->account_id = 0;
+       }
+
+       r = service_get_extra_data(service, "mail_id", &str);
+       c_warn_if(r != SERVICE_ERROR_NONE, "service_get_extra_data() is failed(%d)", r);
+       if (str) {
+               ugd->mail_id =  atoi(str);
+
+               free(str);
+
+               str = NULL;
+       } else {
+               ugd->mail_id = 0;
+       }
+
+       r = service_get_extra_data(service, "src_box", &str);
+       c_warn_if(r != SERVICE_ERROR_NONE, "service_get_extra_data() is failed(%d)", r);
+       if (str) {
+               ugd->src_box = strdup(str);
+
+               free(str);
 
-               __cal_edit_ug_get_strnote(ugd, data);
+               str = NULL;
+       } else {
+               ugd->src_box = NULL;
        }
 
+       __cal_edit_ug_get_strnote(ugd, service);
 }
 
-static void *__cal_edit_ug_create_callback(struct ui_gadget *ug, enum ug_mode mode, bundle *data, void *priv)
+static void *__cal_edit_ug_create_callback(ui_gadget_h ug, enum ug_mode mode, service_h service, void *priv)
 {
        if (NULL == ug || NULL == priv)
        {
@@ -205,7 +232,7 @@ static void *__cal_edit_ug_create_callback(struct ui_gadget *ug, enum ug_mode mo
        ugd = priv;
        ugd->ug = ug;
 
-       __cal_edit_ug_get_bundle_parameter(ugd,data);
+       __cal_edit_ug_get_bundle_parameter(ugd,service);
 
        if (UG_MODE_FULLVIEW != mode)
                return NULL;
@@ -226,7 +253,7 @@ static void *__cal_edit_ug_create_callback(struct ui_gadget *ug, enum ug_mode mo
        return base;
 }
 
-static void __cal_edit_ug_destroy_callback(struct ui_gadget *ug, bundle *data, void *priv)
+static void __cal_edit_ug_destroy_callback(ui_gadget_h ug, service_h service, void *priv)
 {
        CAL_FN_START;
 
@@ -242,7 +269,7 @@ static void __cal_edit_ug_destroy_callback(struct ui_gadget *ug, bundle *data, v
        free(ugd->strnote);
 }
 
-static void __cal_edit_ug_key_callback(struct ui_gadget *ug, enum ug_key_event evt, bundle *data, void *priv)
+static void __cal_edit_ug_key_callback(ui_gadget_h ug, enum ug_key_event evt, service_h service, void *priv)
 {
        if (!ug)
                return;