Changeset 6285 for trunk/console

Show
Ignore:
Timestamp:
06/14/08 03:49:08 (6 months ago)
Author:
flynd
Message:

Updated to work with new group handling. I haven't tested this much but it compiles, starts and seems to work.

Location:
trunk/console/src
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/console/src/console.cpp

    r6244 r6285  
    14961496    else 
    14971497    { 
    1498       GroupList *g = gUserManager.LockGroupList(LOCK_R); 
    1499       if (m_nCurrentGroup > g->size()) 
     1498      LicqGroup* group = gUserManager.FetchGroup(m_nCurrentGroup, LOCK_R); 
     1499      if (group == NULL) 
    15001500        strcpy(szGroupName, "Invalid Group"); 
    15011501      else 
    1502         strcpy(szGroupName, (*g)[m_nCurrentGroup - 1]); 
    1503       gUserManager.UnlockGroupList(); 
     1502        strcpy(szGroupName, group->name().c_str()); 
     1503      gUserManager.DropGroup(group); 
    15041504    } 
    15051505  } 
  • trunk/console/src/console_menu.cpp

    r6176 r6285  
    389389    nGroupType = GROUPS_USER; 
    390390    nCurrentGroup = atol(_szArg); 
    391  
    392     if (nCurrentGroup > gUserManager.NumGroups()) 
    393     { 
    394       winMain->wprintf("%CInvalid group number (0 - %d)\n", COLOR_RED, 
    395                        gUserManager.NumGroups()); 
     391    LicqGroup* group = gUserManager.FetchGroup(nCurrentGroup, LOCK_R); 
     392 
     393    if (nCurrentGroup != 0 && group == NULL) 
     394    { 
     395      winMain->wprintf("%CInvalid group number\n", COLOR_RED); 
    396396      return; 
    397397    } 
    398398    m_nCurrentGroup = nCurrentGroup; 
    399399    m_nGroupType = nGroupType; 
    400     GroupList *g = gUserManager.LockGroupList(LOCK_R); 
    401400    winMain->wprintf("%C%ASwitching to group %d (%s).\n", 
    402401                     m_cColorInfo->nColor, m_cColorInfo->nAttr, 
    403402                     m_nCurrentGroup, 
    404                      m_nCurrentGroup == 0 ? "All Users" : (*g)[m_nCurrentGroup - 1]); 
    405     gUserManager.UnlockGroupList(); 
     403                     m_nCurrentGroup == 0 ? "All Users" : group->name().c_str()); 
     404    gUserManager.DropGroup(group); 
    406405  } 
    407406 
  • trunk/console/src/console_print.cpp

    r6244 r6285  
    204204  waddch(winMain->Win(), '\n'); 
    205205 
    206   GroupList *g = gUserManager.LockGroupList(LOCK_R); 
    207   for (GroupList::iterator i = g->begin(); i != g->end(); i++, j++) 
     206  FOR_EACH_GROUP_START_SORTED(LOCK_R) 
    208207  { 
    209208    PrintBoxLeft(); 
    210209    winMain->wprintf("%A%C%3d. %-19s", 
    211210        m_cColorGroupList->nAttr, 
    212         m_cColorGroupList->nColor, j, *i); 
     211        m_cColorGroupList->nColor, j, pGroup->name().c_str()); 
    213212    PrintBoxRight(26); 
    214   } 
    215   gUserManager.UnlockGroupList(); 
     213    ++j; 
     214  } 
     215  FOR_EACH_GROUP_END 
    216216 
    217217  waddch(winMain->Win(), ACS_LTEE);