use assert instead of if check 81/38181/1
authorSoohye Shin <soohye.shin@samsung.com>
Tue, 14 Apr 2015 07:49:20 +0000 (16:49 +0900)
committerSoohye Shin <soohye.shin@samsung.com>
Tue, 14 Apr 2015 07:49:20 +0000 (16:49 +0900)
Change-Id: I3f8d9672f3e2dd2d05f7a34e637cbad9532ccb03
Signed-off-by: Soohye Shin <soohye.shin@samsung.com>
src/userbar.cpp

index 41dd827..4c203bb 100644 (file)
 #define USER_NAME_GUEST "guest"
 #define USER_NAME_OWNER "owner"
 
-#define ASSERT(exp) if (!(exp)) { _ERR(#exp); abort(); }
-
 enum _ubar_state {
        UBAR_STATE_HIDE,
        UBAR_STATE_USER,
        UBAR_STATE_ITEM,
-       UBAR_STATE_USER_CTXPOPUP,
        UBAR_STATE_ITEM_CTXPOPUP,
-       UBAR_STATE_USER_POPUP,
        UBAR_STATE_ITEM_POPUP
 };
 
@@ -120,10 +116,9 @@ static void _update_arrow(Evas_Object *scr, Evas_Object *left_arrow,
 {
        Evas_Coord rx, ry, rw, rh, cw;
 
-       if (!scr || !left_arrow || !right_arrow) {
-               _ERR("Invalid argument");
-               return;
-       }
+       ASSERT(scr);
+       ASSERT(left_arrow);
+       ASSERT(right_arrow);
 
        elm_scroller_region_get(scr, &rx, &ry, &rw, &rh);
        elm_scroller_child_size_get(scr, &cw, NULL);
@@ -148,10 +143,7 @@ static void _scroll_cb(void *data, Evas_Object *obj,
 {
        struct _ubar_data *bar;
 
-       if (!data) {
-               _ERR("Invalid arguement");
-               return;
-       }
+       ASSERT(data);
 
        bar = (struct _ubar_data *)data;
 
@@ -227,10 +219,8 @@ static int _add_init_user(struct _ubar_data *bar, Evas_Object *base)
        struct _ubar_item *item;
        Evas_Object *ly, *ic_bg, *ic;
 
-       if (!bar || !base) {
-               _ERR("Invalid argument");
-               return -1;
-       }
+       ASSERT(bar);
+       ASSERT(base);
 
        item = (struct _ubar_item *)calloc(1, sizeof(*item));
        if (!item) {
@@ -323,10 +313,11 @@ static void _update_scroll(struct _ubar_item *cur, Evas_Object *scr,
        Evas_Coord rx, ry, rw, rh, cw;
        int r;
 
-       if (!cur || !scr || !right_arrow || !left_arrow || !list) {
-               _ERR("Invalid argument");
-               return;
-       }
+       ASSERT(cur);
+       ASSERT(scr);
+       ASSERT(right_arrow);
+       ASSERT(left_arrow);
+       ASSERT(list);
 
        elm_scroller_region_get(scr, &rx, &ry, &rw, &rh);
        elm_scroller_child_size_get(scr, &cw, NULL);
@@ -374,10 +365,8 @@ static int _add_items(struct _ubar_data *bar, Evas_Object *base)
 {
        Evas_Object *ly, *scr, *bx;
 
-       if (!bar || !base) {
-               _ERR("Invalid argument");
-               return -1;
-       }
+       ASSERT(bar);
+       ASSERT(base);
 
        ly = elm_layout_add(base);
        if (!ly) {
@@ -431,10 +420,9 @@ static int _add_bar(struct bar_info *info, Evas_Object *base)
        struct _ubar_data *bar;
        int r;
 
-       if (!info || !info->data || !base) {
-               _ERR("Invalid argument");
-               return -1;
-       }
+       ASSERT(info);
+       ASSERT(info->data);
+       ASSERT(base);
 
        bar = (struct _ubar_data *)info->data;
 
@@ -456,10 +444,8 @@ static int _update_user(struct _ubar_data *bar, CEngine *eng)
        const char *thumb;
        const char *name;
 
-       if (!bar || !eng) {
-               _ERR("Invalid argument");
-               return -1;
-       }
+       ASSERT(bar);
+       ASSERT(eng);
 
        item = bar->user;
 
@@ -536,10 +522,7 @@ static Evas_Object *_add_label(Evas_Object *ly, const char *name,
        Evas_Object *lbl;
        const char *s;
 
-       if (!ly) {
-               _ERR("Invalid argument");
-               return NULL;
-       }
+       ASSERT(ly);
 
        lbl = elm_label_add(ly);
        if (!lbl) {
@@ -572,8 +555,8 @@ static struct _ubar_item *_pack_item(struct _ubar_data *bar,
        struct _ubar_item *item;
        const char *name, *thumb_bg, *thumb;
 
-       if (!bar || !it)
-               return NULL;
+       ASSERT(bar);
+       ASSERT(it);
 
        item = (struct _ubar_item *)calloc(1, sizeof(*item));
        if (!item) {
@@ -649,10 +632,7 @@ static void _pack_arrow(struct _ubar_data *bar, int size)
 {
        Evas_Object *ly;
 
-       if (!bar) {
-               _ERR("Invalid argument");
-               return;
-       }
+       ASSERT(bar);
 
        ly = elm_layout_add(bar->bx);
        if (!ly) {
@@ -684,10 +664,8 @@ static void _set_circular_focus(struct _ubar_data *bar)
        struct _ubar_item *first_item, *last_item;
        int count;
 
-       if (!bar || !bar->list) {
-               _ERR("Invalid argument");
-               return;
-       }
+       ASSERT(bar);
+       ASSERT(bar->list);
 
        count = eina_list_count(bar->list);
        if (count <= 1)
@@ -713,10 +691,8 @@ static int _update_items(struct _ubar_data *bar, void *eng)
        struct _ubar_item *item;
        void *obj;
 
-       if (!bar || !eng) {
-               _ERR("Invalid argument");
-               return -1;
-       }
+       ASSERT(bar);
+       ASSERT(eng);
 
        EINA_LIST_FREE(bar->list, obj) {
                item = (struct _ubar_item *)obj;
@@ -756,10 +732,9 @@ static int _update(struct bar_info *info, void *eng, void *data)
        int r;
        CEngine *engine;
 
-       if (!info || !info->data || !eng) {
-               _ERR("Invalid argument");
-               return -1;
-       }
+       ASSERT(info);
+       ASSERT(info->data);
+       ASSERT(eng);
 
        bar = (struct _ubar_data *)info->data;
        engine = (CEngine *)eng;
@@ -781,10 +756,8 @@ static Evas_Object *_get_item(struct bar_info *info)
 {
        struct _ubar_data *bar;
 
-       if (!info || !info->data) {
-               _ERR("Invalid argument");
-               return NULL;
-       }
+       ASSERT(info);
+       ASSERT(info->data);
 
        bar = (struct _ubar_data *)info->data;
 
@@ -798,10 +771,8 @@ static Eina_Bool _move_user(struct bar_info *info)
 {
        struct _ubar_data *bar;
 
-       if (!info || !info->data) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(info);
+       ASSERT(info->data);
 
        bar = (struct _ubar_data *)info->data;
 
@@ -815,10 +786,8 @@ static Eina_Bool _move_item(struct bar_info *info)
        struct _ubar_data *bar;
        struct _ubar_item *item;
 
-       if (!info || !info->data) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(info);
+       ASSERT(info->data);
 
        bar = (struct _ubar_data *)info->data;
 
@@ -835,10 +804,8 @@ static Eina_Bool _is_move(struct bar_info *info, int dir)
 {
        struct _ubar_data *bar;
 
-       if (!info || !info->data) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(info);
+       ASSERT(info->data);
 
        bar = (struct _ubar_data *)info->data;
 
@@ -864,10 +831,8 @@ static enum bar_event _move_right(struct bar_info *info)
        struct _ubar_data *bar;
        Eina_Bool r;
 
-       if (!info || !info->data) {
-               _ERR("Invalid argument");
-               return BAR_EVENT_ERROR;
-       }
+       ASSERT(info);
+       ASSERT(info->data);
 
        bar = (struct _ubar_data *)info->data;
 
@@ -884,10 +849,8 @@ static enum bar_event _move_left(struct bar_info *info)
        struct _ubar_data *bar;
        Eina_Bool r;
 
-       if (!info || !info->data) {
-               _ERR("Invalid argumnet");
-               return BAR_EVENT_ERROR;
-       }
+       ASSERT(info);
+       ASSERT(info->data);
 
        bar = (struct _ubar_data *)info->data;
 
@@ -933,9 +896,6 @@ static void _destroy_popup(struct _ubar_item *item)
        }
 
        switch (item->bar->state) {
-       case UBAR_STATE_USER_POPUP:
-               item->bar->state = UBAR_STATE_USER;
-               break;
        case UBAR_STATE_ITEM_POPUP:
                item->bar->state = UBAR_STATE_ITEM;
                break;
@@ -949,10 +909,8 @@ static enum bar_event _back(struct bar_info *info)
        struct _ubar_data *bar;
        enum bar_event r;
 
-       if (!info || !info->data) {
-               _ERR("Invalid argument");
-               return BAR_EVENT_ERROR;
-       }
+       ASSERT(info);
+       ASSERT(info->data);
 
        bar = (struct _ubar_data *)info->data;
 
@@ -963,20 +921,11 @@ static enum bar_event _back(struct bar_info *info)
        case UBAR_STATE_ITEM:
                r = _move_user(info) ? BAR_EVENT_DONE : BAR_EVENT_PASS;
                break;
-       case UBAR_STATE_USER_CTXPOPUP:
-               _destroy_ctxpopup(bar->user);
-               bar->state = UBAR_STATE_USER;
-               r = BAR_EVENT_DONE;
-               break;
        case UBAR_STATE_ITEM_CTXPOPUP:
                _destroy_ctxpopup(bar->cur);
                bar->state = UBAR_STATE_ITEM;
                r = BAR_EVENT_DONE;
                break;
-       case UBAR_STATE_USER_POPUP:
-               _destroy_popup(bar->user);
-               r = BAR_EVENT_DONE;
-               break;
        case UBAR_STATE_ITEM_POPUP:
                _destroy_popup(bar->cur);
                r = BAR_EVENT_DONE;
@@ -994,10 +943,9 @@ static Eina_Bool _add_popup_btn(Evas_Object *p, struct _ubar_item *item,
        Evas_Object *btn;
        int i;
 
-       if (!p || !item || !btn_info) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(p);
+       ASSERT(item);
+       ASSERT(btn_info)
 
        for (i = 0; i < size; i++) {
                btn = elm_button_add(p);
@@ -1041,10 +989,8 @@ static Evas_Object *_add_popup(Evas_Object *base, const char *title,
 {
        Evas_Object *popup, *win;
 
-       if (!base || !title) {
-               _ERR("Invalid argument");
-               return NULL;
-       }
+       ASSERT(base);
+       ASSERT(title);
 
        win = elm_object_parent_widget_get(base);
        if (!win) {
@@ -1070,10 +1016,8 @@ static void _show_message(struct _ubar_item *item, const char *signal)
 {
        Evas_Object *ly;
 
-       if (!item || !signal) {
-               _ERR("Invalid argument");
-               return;
-       }
+       ASSERT(item);
+       ASSERT(signal);
 
        elm_entry_entry_set(item->pw_entry, "");
        ly = elm_object_parent_widget_get(item->pw_entry);
@@ -1090,10 +1034,7 @@ static Eina_Bool _check_delete_user(struct _ubar_item *item)
        struct _ubar_data *bar;
        const char *password;
 
-       if (!item) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(item);
 
        bar = item->bar;
 
@@ -1132,10 +1073,10 @@ static Evas_Object *_add_arrow(struct _ubar_item *item, Evas_Object *p,
 {
        Evas_Object *ly;
 
-       if (!item || !p || !part || !group) {
-               _ERR("Invalid argument");
-               return NULL;
-       }
+       ASSERT(item);
+       ASSERT(p);
+       ASSERT(part);
+       ASSERT(group);
 
        ly = elm_layout_add(p);
        if (!ly) {
@@ -1172,32 +1113,15 @@ static void _popup_user_focused(void *data, Evas_Object *obj, void *ei)
        bar->popup_cur = foc;
 }
 
-static void _scroll_focused(void *data, Evas_Object *obj, void *ei)
-{
-       struct _ubar_data *bar;
-
-       if (!data) {
-               _ERR("Invalid argument");
-               return;
-       }
-
-       bar = (struct _ubar_data *)data;
-       if (!bar || !bar->popup_cur)
-               return;
-
-       elm_object_focus_set(bar->popup_cur->eo, EINA_TRUE);
-}
-
 static struct _ubar_item *_pack_icon(struct _ubar_data *bar, const char *icon,
                Evas_Object *p)
 {
        Evas_Object *ly, *ic, *ic_bg;
        struct _ubar_item *item;
 
-       if (!bar || !icon || !p) {
-               _ERR("Invalid argument");
-               return NULL;
-       }
+       ASSERT(bar);
+       ASSERT(icon);
+       ASSERT(p);
 
        item = (struct _ubar_item *)calloc(1, sizeof(*item));
        if (!item) {
@@ -1252,10 +1176,8 @@ static Eina_Bool _load_users(struct _ubar_data *bar, Evas_Object *p)
        int i;
        void *obj;
 
-       if (!bar || !p) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(bar);
+       ASSERT(p);
 
        scr = elm_scroller_add(p);
        if (!scr) {
@@ -1264,7 +1186,6 @@ static Eina_Bool _load_users(struct _ubar_data *bar, Evas_Object *p)
                return EINA_FALSE;
        }
        elm_object_focus_allow_set(scr, EINA_FALSE);
-       evas_object_smart_callback_add(scr, "focused", _scroll_focused, bar);
        elm_scroller_policy_set(scr, ELM_SCROLLER_POLICY_OFF,
                        ELM_SCROLLER_POLICY_OFF);
        elm_object_signal_callback_add(scr, SIG_SCROLL_RIGHT, SRC_ELM,
@@ -1313,10 +1234,8 @@ static Evas_Object *_add_entry(Evas_Object *p, const char *part, bool password)
 {
        Evas_Object *entry;
 
-       if (!p || !part) {
-               _ERR("Invalid argument");
-               return NULL;
-       }
+       ASSERT(p);
+       ASSERT(part);
 
        entry = elm_entry_add(p);
        if (!entry) {
@@ -1382,10 +1301,8 @@ static Evas_Object *_add_popup_items(struct _ubar_item *item,
 {
        Evas_Object *ly, *pw_entry, *right_arrow, *left_arrow;
 
-       if (!item || !popup) {
-               _ERR("Invalid argument");
-               return NULL;
-       }
+       ASSERT(item);
+       ASSERT(popup);
 
        ly = elm_layout_add(popup);
        if (!ly) {
@@ -1448,10 +1365,7 @@ static Eina_Bool _check_edit_user(struct _ubar_item *item)
        struct _ubar_item *cur;
        const char *icon, *password;
 
-       if (!item) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(item);
 
        bar = item->bar;
        cur = bar->popup_cur;
@@ -1489,16 +1403,9 @@ static void _popup_edit_clicked(void *data, Evas *e, Evas_Object *obj,
 
 static void _delete_ctxpopup(struct _ubar_data *bar)
 {
-       if (!bar) {
-               _ERR("Invalid argument");
-               return;
-       }
+       ASSERT(bar);
 
        switch (bar->state) {
-       case UBAR_STATE_USER_CTXPOPUP:
-               _destroy_ctxpopup(bar->user);
-               bar->state = UBAR_STATE_USER_POPUP;
-               break;
        case UBAR_STATE_ITEM_CTXPOPUP:
                _destroy_ctxpopup(bar->cur);
                bar->state = UBAR_STATE_ITEM_POPUP;
@@ -1529,10 +1436,7 @@ static Eina_Bool _load_edit_popup(struct _ubar_item *item)
                }
        };
 
-       if (!item) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(item);
 
        bar = item->bar;
        _delete_ctxpopup(bar);
@@ -1575,7 +1479,7 @@ static Eina_Bool _load_edit_popup(struct _ubar_item *item)
 
        name = item->it->Str(CEngineUBarItem::VSTR_NAME);
        thumb = item->it->Str(CEngineUBarItem::VSTR_THUMB);
-       
+
        if (bar->popup_list) {
                EINA_LIST_FOREACH(bar->popup_list, l, obj) {
                        cur = (struct _ubar_item *)obj;
@@ -1599,10 +1503,9 @@ static Eina_Bool _add_delete_item(Evas_Object *p, struct _ubar_item *item)
        const char *name;
        char buf[BUF_MAX];
 
-       if (!p || !item || !item->it) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(p);
+       ASSERT(item);
+       ASSERT(item->it);
 
        ly = elm_layout_add(p);
        if (!ly) {
@@ -1662,10 +1565,7 @@ static Eina_Bool _load_delete_popup(struct _ubar_item *item)
                }
        };
 
-       if (!item) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(item);
 
        bar = item->bar;
        _delete_ctxpopup(bar);
@@ -1720,10 +1620,7 @@ static Eina_Bool _check_login_user(struct _ubar_item *item)
 {
        const char *password;
 
-       if (!item) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(item);
 
        password = elm_entry_entry_get(item->pw_entry);
        if (!password || strlen(password) == 0) {
@@ -1754,10 +1651,9 @@ static Eina_Bool _add_login_item(Evas_Object *p, struct _ubar_item *item)
        Evas_Object *ly, *ic, *lbl, *entry;
        const char *name, *thumb;
 
-       if (!p || !item || !item->it) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(p);
+       ASSERT(item);
+       ASSERT(item->it);
 
        name = item->it->Str(CEngineUBarItem::VSTR_NAME);
        thumb = item->it->Str(CEngineUBarItem::VSTR_THUMB);
@@ -1827,10 +1723,7 @@ static Eina_Bool _load_login_popup(struct _ubar_item *item)
                }
        };
 
-       if (!item) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(item);
 
        _delete_ctxpopup(item->bar);
 
@@ -1885,10 +1778,7 @@ static void _ctxpopup_login_clicked(void *data, Evas *e, Evas_Object *obj,
 
 static bool _check_user(struct _ubar_item *item)
 {
-       if (!item) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(item);
 
        return item->bar->eng->GetPrivilege();
 }
@@ -1915,10 +1805,8 @@ static Eina_Bool _add_ctxpopup_btn(struct _ubar_item *item, Evas_Object *base)
                }
        };
 
-       if (!item || !base) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(item);
+       ASSERT(base);
 
        for (i = 0; i < (int) (sizeof(btn_info) / sizeof(*btn_info)); i++) {
                btn = elm_button_add(base);
@@ -1978,10 +1866,7 @@ static Eina_Bool _create_ctxpopup(struct _ubar_item *item)
        Evas_Coord x, w;
        const char *s;
 
-       if (!item) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(item);
 
        win = elm_object_parent_widget_get(item->bar->base);
        if (!win) {
@@ -2036,10 +1921,7 @@ static Eina_Bool _check_add_user(struct _ubar_item *item)
        struct _ubar_item *cur;
        const char *id, *password, *icon;
 
-       if (!item) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(item);
 
        bar = item->bar;
        cur = bar->popup_cur;
@@ -2082,10 +1964,7 @@ static Eina_Bool _check_popup_state(struct _ubar_item *item)
        struct _ubar_data *bar;
        Eina_Bool r;
 
-       if (!item) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(item);
 
        bar = item->bar;
        r = EINA_FALSE;
@@ -2182,10 +2061,7 @@ static Eina_Bool _load_add_popup(struct _ubar_item *item)
                }
        };
 
-       if (!item) {
-               _ERR("Invalid argument");
-               return EINA_FALSE;
-       }
+       ASSERT(item);
 
        bar = item->bar;
 
@@ -2242,10 +2118,8 @@ static enum bar_event _enter(struct bar_info *info)
        struct _ubar_data *bar;
        Eina_Bool r;
 
-       if (!info || !info->data) {
-               _ERR("Invalid argument");
-               return BAR_EVENT_ERROR;
-       }
+       ASSERT(info);
+       ASSERT(info->data);
 
        bar = (struct _ubar_data *)info->data;
 
@@ -2268,9 +2142,6 @@ static enum bar_event _enter(struct bar_info *info)
                        }
                }
                break;
-       case UBAR_STATE_USER_CTXPOPUP:
-               r = EINA_TRUE;
-               break;
        case UBAR_STATE_ITEM_CTXPOPUP:
                if (!bar->cur->ctxpopup)
                        break;
@@ -2283,13 +2154,6 @@ static enum bar_event _enter(struct bar_info *info)
                        r = _load_delete_popup(bar->cur);
                }
                break;
-       case UBAR_STATE_USER_POPUP:
-               if (!bar->user->popup)
-                       break;
-
-               _destroy_popup(bar->user);
-               r = EINA_TRUE;
-               break;
        case UBAR_STATE_ITEM_POPUP:
                if (!bar->cur->popup)
                        break;
@@ -2309,10 +2173,7 @@ static void _hide_bar(struct _ubar_data *bar)
        Eina_List *l;
        void *obj;
 
-       if (!bar) {
-               _ERR("Invalid argument");
-               return;
-       }
+       ASSERT(bar);
 
        elm_object_signal_emit(bar->user->eo, SIG_HIDE, SRC_PROG);
 
@@ -2330,8 +2191,8 @@ static enum bar_event _home(struct bar_info *info)
 {
        struct _ubar_data *bar;
 
-       if (!info || !info->data)
-               return BAR_EVENT_ERROR;
+       ASSERT(info);
+       ASSERT(info->data);
 
        bar = (struct _ubar_data *)info->data;
 
@@ -2380,10 +2241,8 @@ static void _hide(struct bar_info *info)
 {
        struct _ubar_data *bar;
 
-       if (!info || !info->data) {
-               _ERR("Invalid argument");
-               return;
-       }
+       ASSERT(info);
+       ASSERT(info->data);
 
        bar = (struct _ubar_data *)info->data;
 
@@ -2398,10 +2257,8 @@ static void _release(struct bar_info *info)
        struct _ubar_item *item;
        void *obj;
 
-       if (!info || !info->data) {
-               _ERR("Invalid argument");
-               return;
-       }
+       ASSERT(info);
+       ASSERT(info->data);
 
        bar = (struct _ubar_data *)info->data;
 
@@ -2439,8 +2296,7 @@ int init_user_bar(struct bar_info *info)
        ubar_ops.key_down       = _key_down;
        ubar_ops.release        = _release;
 
-       if (!info)
-               return -1;
+       ASSERT(info);
 
        bar = (struct _ubar_data *)calloc(1, sizeof(*bar));
        if (!bar) {