winix/core/users.cpp

111 lines
1.0 KiB
C++
Executable File

/*
* This file is a part of CMSLU -- Content Management System like Unix
* and is not publicly distributed
*
* Copyright (c) 2008-2009, Tomasz Sowa
* All rights reserved.
*
*/
#include "users.h"
#include "db.h"
Users::Users()
{
Clear();
}
void Users::Clear()
{
table.Clear();
}
void Users::ReadUsers()
{
Clear();
db.GetUsers(table);
}
User * Users::GetUser(long user_id)
{
Table::Iterator i = table.FindId(user_id);
if( i == table.End() )
return 0;
return &(*i);
}
User * Users::GetUser(const std::string & name)
{
Table::Iterator i = table.FindName(name);
if( i == table.End() )
return 0;
return &(*i);
}
long Users::GetUserId(const std::string & name)
{
User * puser = GetUser(name);
if( !puser )
return -1;
return puser->id;
}
Users::Iterator Users::Begin()
{
return table.Begin();
}
Users::Iterator Users::End()
{
return table.End();
}
Users::SizeType Users::Size()
{
return table.Size();
}
User & Users::operator[](Users::SizeType pos)
{
return table[pos];
}