52 lines
732 B
C
52 lines
732 B
C
|
/*
|
||
|
* 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
|