Changeset feeac0d in mainline for uspace/srv/hid


Ignore:
Timestamp:
2013-09-10T16:32:35Z (12 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4982d87
Parents:
e8d6ce2
Message:

Simplify use of list_foreach.

Location:
uspace/srv/hid
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/hid/compositor/compositor.c

    re8d6ce2 rfeeac0d  
    335335        }
    336336
    337         list_foreach(viewport_list, link) {
    338                 viewport_t *vp = list_get_instance(link, viewport_t, link);
     337        list_foreach(viewport_list, link, viewport_t, vp) {
    339338                sysarg_t w_vp, h_vp;
    340339                surface_get_resolution(vp->surface, &w_vp, &h_vp);
     
    354353        fibril_mutex_lock(&pointer_list_mtx);
    355354
    356         list_foreach(pointer_list, link) {
    357                 pointer_t *ptr = list_get_instance(link, pointer_t, link);
     355        list_foreach(pointer_list, link, pointer_t, ptr) {
    358356                ptr->pos.x = ptr->pos.x > viewport_bound_rect.x ? ptr->pos.x : viewport_bound_rect.x;
    359357                ptr->pos.y = ptr->pos.y > viewport_bound_rect.y ? ptr->pos.y : viewport_bound_rect.y;
     
    374372        fibril_mutex_lock(&pointer_list_mtx);
    375373
    376         list_foreach(viewport_list, link) {
    377 
     374        list_foreach(viewport_list, link, viewport_t, vp) {
    378375                /* Determine what part of the viewport must be updated. */
    379                 viewport_t *vp = list_get_instance(link, viewport_t, link);
    380376                sysarg_t x_dmg_vp, y_dmg_vp, w_dmg_vp, h_dmg_vp;
    381377                surface_get_resolution(vp->surface, &w_dmg_vp, &h_dmg_vp);
     
    446442                        }
    447443
    448                         list_foreach(pointer_list, link) {
    449 
    450                                 pointer_t *ptr = list_get_instance(link, pointer_t, link);
     444                        list_foreach(pointer_list, link, pointer_t, ptr) {
    451445                                if (ptr->ghost.surface) {
    452446
     
    522516                        }
    523517
    524                         list_foreach(pointer_list, link) {
     518                        list_foreach(pointer_list, link, pointer_t, ptr) {
    525519
    526520                                /* Determine what part of the pointer intersects with the
    527521                                 * updated area of the current viewport. */
    528                                 pointer_t *ptr = list_get_instance(link, pointer_t, link);
    529522                                sysarg_t x_dmg_ptr, y_dmg_ptr, w_dmg_ptr, h_dmg_ptr;
    530523                                surface_t *sf_ptr = ptr->cursor.states[ptr->state];
     
    569562
    570563        /* Notify visualizers about updated regions. */
    571         list_foreach(viewport_list, link) {
    572                 viewport_t *vp = list_get_instance(link, viewport_t, link);
     564        list_foreach(viewport_list, link, viewport_t, vp) {
    573565                sysarg_t x_dmg_vp, y_dmg_vp, w_dmg_vp, h_dmg_vp;
    574566                surface_get_damaged_region(vp->surface, &x_dmg_vp, &y_dmg_vp, &w_dmg_vp, &h_dmg_vp);
     
    631623
    632624        fibril_mutex_lock(&pointer_list_mtx);
    633         list_foreach(pointer_list, link) {
    634                 pointer_t *pointer = list_get_instance(link, pointer_t, link);
     625        list_foreach(pointer_list, link, pointer_t, pointer) {
    635626                if (pointer->id == pos_id) {
    636627                        pointer->grab_flags = pointer->pressed ? grab_flags : GF_EMPTY;
     
    710701{
    711702        fibril_mutex_lock(&window_list_mtx);
    712         window_t *window = NULL;
    713         list_foreach(window_list, link) {
    714                 window = list_get_instance(link, window_t, link);
     703
     704        list_foreach(window_list, link, window_t, window) {
    715705                if (window == target) {
    716706                        prodcons_produce(&window->queue, &event->link);
    717                 }
    718         }
    719         if (!window) {
    720                 free(event);
    721         }
     707                        fibril_mutex_unlock(&window_list_mtx);
     708                        return;
     709                }
     710        }
     711
    722712        fibril_mutex_unlock(&window_list_mtx);
     713        free(event);
    723714}
    724715
     
    863854        window_t *win = NULL;
    864855        fibril_mutex_lock(&window_list_mtx);
    865         list_foreach(window_list, link) {
    866                 window_t *cur = list_get_instance(link, window_t, link);
     856        list_foreach(window_list, link, window_t, cur) {
    867857                if (cur->in_dsid == service_id || cur->out_dsid == service_id) {
    868858                        win = cur;
     
    1007997                /* Close all clients and their windows. */
    1008998                fibril_mutex_lock(&window_list_mtx);
    1009                 list_foreach(window_list, link) {
    1010                         window_t *win = list_get_instance(link, window_t, link);
     999                list_foreach(window_list, link, window_t, win) {
    10111000                        window_event_t *event = (window_event_t *) malloc(sizeof(window_event_t));
    10121001                        if (event) {
     
    10341023        viewport_t *vp = NULL;
    10351024        fibril_mutex_lock(&viewport_list_mtx);
    1036         list_foreach(viewport_list, link) {
    1037                 viewport_t *cur = list_get_instance(link, viewport_t, link);
     1025        list_foreach(viewport_list, link, viewport_t, cur) {
    10381026                if (cur->dsid == (service_id_t) IPC_GET_ARG1(*icall)) {
    10391027                        vp = cur;
     
    15711559
    15721560        /* Determine the window which the mouse click belongs to. */
    1573         list_foreach(window_list, link) {
    1574                 win = list_get_instance(link, window_t, link);
     1561        list_foreach(window_list, link, window_t, cw) {
     1562                win = cw;
    15751563                if (win->surface) {
    15761564                        surface_get_resolution(win->surface, &width, &height);
  • uspace/srv/hid/input/input.c

    re8d6ce2 rfeeac0d  
    470470{
    471471        /* For each keyboard device */
    472         list_foreach(kbd_devs, kdev_link) {
    473                 kbd_dev_t *kdev = list_get_instance(kdev_link, kbd_dev_t,
    474                     kbd_devs);
    475                
     472        list_foreach(kbd_devs, kbd_devs, kbd_dev_t, kdev) {
    476473                /* Yield port */
    477474                if (kdev->port_ops != NULL)
     
    483480{
    484481        /* For each keyboard device */
    485         list_foreach(kbd_devs, kdev_link) {
    486                 kbd_dev_t *kdev = list_get_instance(kdev_link, kbd_dev_t,
    487                     kbd_devs);
    488                
     482        list_foreach(kbd_devs, kbd_devs, kbd_dev_t, kdev) {
    489483                /* Reclaim port */
    490484                if (kdev->port_ops != NULL)
     
    521515               
    522516                /* Determine whether we already know this device. */
    523                 list_foreach(kbd_devs, kdev_link) {
    524                         kbd_dev_t *kdev = list_get_instance(kdev_link,
    525                             kbd_dev_t, kbd_devs);
     517                list_foreach(kbd_devs, kbd_devs, kbd_dev_t, kdev) {
    526518                        if (kdev->svc_id == svcs[i]) {
    527519                                already_known = true;
     
    574566               
    575567                /* Determine whether we already know this device. */
    576                 list_foreach(mouse_devs, mdev_link) {
    577                         mouse_dev_t *mdev = list_get_instance(mdev_link,
    578                             mouse_dev_t, mouse_devs);
     568                list_foreach(mouse_devs, mouse_devs, mouse_dev_t, mdev) {
    579569                        if (mdev->svc_id == svcs[i]) {
    580570                                already_known = true;
  • uspace/srv/hid/output/output.c

    re8d6ce2 rfeeac0d  
    8282        int ret = EOK;
    8383       
    84         list_foreach(outdevs, link) {
    85                 outdev_t *dev = list_get_instance(link, outdev_t, link);
    86                
     84        list_foreach(outdevs, link, outdev_t, dev) {
    8785                assert(dev->ops.yield);
    8886               
     
    9997        int ret = EOK;
    10098       
    101         list_foreach(outdevs, link) {
    102                 outdev_t *dev = list_get_instance(link, outdev_t, link);
    103                
     99        list_foreach(outdevs, link, outdev_t, dev) {
    104100                assert(dev->ops.claim);
    105101               
     
    117113        sysarg_t rows = MAX_ROWS;
    118114       
    119         list_foreach(outdevs, link) {
    120                 outdev_t *dev = list_get_instance(link, outdev_t, link);
    121                
     115        list_foreach(outdevs, link, outdev_t, dev) {
    122116                cols = min(cols, dev->cols);
    123117                rows = min(rows, dev->rows);
     
    131125        console_caps_t caps = 0;
    132126       
    133         list_foreach(outdevs, link) {
    134                 outdev_t *dev = list_get_instance(link, outdev_t, link);
    135                
     127        list_foreach(outdevs, link, outdev_t, dev) {
    136128                assert(dev->ops.get_caps);
    137129               
     
    145137{
    146138        frontbuf_t *frontbuf = NULL;
    147         list_foreach(frontbufs, link) {
    148                 frontbuf_t *cur = list_get_instance(link, frontbuf_t, link);
     139        list_foreach(frontbufs, link, frontbuf_t, cur) {
    149140                if (cur == (frontbuf_t *) handle) {
    150141                        frontbuf = cur;
     
    216207        chargrid_get_cursor(buf, &col, &row);
    217208       
    218         list_foreach(outdevs, link) {
    219                 outdev_t *dev = list_get_instance(link, outdev_t, link);
    220                
     209        list_foreach(outdevs, link, outdev_t, dev) {
    221210                assert(dev->ops.cursor_update);
    222211               
     
    237226static void srv_set_style(ipc_callid_t iid, ipc_call_t *icall)
    238227{
    239         list_foreach(outdevs, link) {
    240                 outdev_t *dev = list_get_instance(link, outdev_t, link);
    241                
     228        list_foreach(outdevs, link, outdev_t, dev) {
    242229                dev->attrs.type = CHAR_ATTR_STYLE;
    243230                dev->attrs.val.style =
     
    250237static void srv_set_color(ipc_callid_t iid, ipc_call_t *icall)
    251238{
    252         list_foreach(outdevs, link) {
    253                 outdev_t *dev = list_get_instance(link, outdev_t, link);
    254                
     239        list_foreach(outdevs, link, outdev_t, dev) {
    255240                dev->attrs.type = CHAR_ATTR_INDEX;
    256241                dev->attrs.val.index.bgcolor =
     
    267252static void srv_set_rgb_color(ipc_callid_t iid, ipc_call_t *icall)
    268253{
    269         list_foreach(outdevs, link) {
    270                 outdev_t *dev = list_get_instance(link, outdev_t, link);
    271                
     254        list_foreach(outdevs, link, outdev_t, dev) {
    272255                dev->attrs.type = CHAR_ATTR_RGB;
    273256                dev->attrs.val.rgb.bgcolor = IPC_GET_ARG1(*icall);
     
    325308        chargrid_t *buf = (chargrid_t *) frontbuf->data;
    326309       
    327         list_foreach(outdevs, link) {
    328                 outdev_t *dev = list_get_instance(link, outdev_t, link);
    329                
     310        list_foreach(outdevs, link, outdev_t, dev) {
    330311                assert(dev->ops.char_update);
    331312               
     
    374355        chargrid_t *buf = (chargrid_t *) frontbuf->data;
    375356       
    376         list_foreach(outdevs, link) {
    377                 outdev_t *dev = list_get_instance(link, outdev_t, link);
    378                
     357        list_foreach(outdevs, link, outdev_t, dev) {
    379358                assert(dev->ops.char_update);
    380359               
  • uspace/srv/hid/remcons/user.c

    re8d6ce2 rfeeac0d  
    128128
    129129        fibril_mutex_lock(&users_guard);
    130         list_foreach(users, link) {
    131                 telnet_user_t *tmp = list_get_instance(link, telnet_user_t, link);
     130        list_foreach(users, link, telnet_user_t, tmp) {
    132131                if (tmp->service_id == id) {
    133132                        user = tmp;
Note: See TracChangeset for help on using the changeset viewer.