/* * This file is a part of Winix * and is not publicly distributed * * Copyright (c) 2008-2010, Tomasz Sowa * All rights reserved. * */ #ifndef headerfilecmslucoreusers #define headerfilecmslucoreusers #include #include "user.h" #include "ugcontainer.h" #include "lastcontainer.h" #include "request.h" #include "db.h" class Users { typedef UGContainer Table; Table table; Request * request; long how_many_logged; public: typedef Table::Iterator Iterator; typedef Table::SizeType SizeType; LastContainer last; Users(); void SetRequest(Request * request); void Clear(); void ReadUsers(Db * db); bool AddUser(const User & user); bool IsUser(const std::string & name); User * GetUser(long user_id); User * GetUser(const std::string & name); long GetUserId(const std::string & name); Iterator Begin(); Iterator End(); SizeType Size(); User & operator[](SizeType pos); void LoginUser(long user_id, bool remember_me); void LogoutCurrentUser(); void IncrementLoggedUsers(); long HowManyLogged(); }; #endif