winix/core/groups.h

52 lines
732 B
C++
Executable File

/*
* This file is a part of CMSLU -- Content Management System like Unix
* and is not publicly distributed
*
* Copyright (c) 2008, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfilegroups
#define headerfilegroups
#include <map>
#include "group.h"
#include "db.h"
#include "ugcontainer.h"
class Groups
{
typedef UGContainer<Group> Table;
Table table;
public:
typedef Table::Iterator Iterator;
typedef Table::SizeType SizeType;
Groups();
void Clear();
void ReadGroups();
Group * GetGroup(long group_id);
Group * GetGroup(const std::string & name);
long GetGroupId(const std::string & name);
Iterator Begin();
Iterator End();
SizeType Size();
Group & operator[](SizeType pos);
};
#endif