📄 userdb.h
字号:
/*
This file is part of SWAIN (http://sourceforge.net/projects/swain).
Copyright (C) 2006 Daniel Lindstr鰉 and Daniel Nilsson
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#pragma once
#define MAX_USERS 64
#define MAX_GROUPS 64
#include "Group.h"
#include "User.h"
#include "..\Common\DynList.h"
#include "..\Common\defines.h"
#define USERS_FILE "users.txt"
#define GROUPS_FILE "groups.txt"
class UserDB
{
private:
DynList<User *> *users;
DynList<Group *> *groups;
int addUser(User *user);
void removeUser(User *user);
public:
UserDB(bool readFile = false);
~UserDB(void);
bool writeToFile(void);
bool readFromFile(void);
void removeUser(int userid);
int createGroup(char *name);
int addUser(const char* name, const char *passwd);
void addUserToGroup(int userid, int groupid);
int query(const int flags, const int *groups, int num_groups, int *result, int result_size, int filteruser);
bool userIsMemberOf(const int *groups, int num_groups, int userid);
int getUserId(const char *name);
bool checkPasswd(int id, const char *passwd);
STATUS getUserStatus(int id);
void setUserStatus(int id, STATUS status);
bool userExists(int id);
bool groupExists(int id);
const char *getName(int index);
const char *getGroup(int gid);
int getCount(void);
int getDbSize(void);
bool setUserCId(int id, int cid);
int getUserCid(int id);
int getUserByCid(int cid);
bool setUserAddr(int id, int addr);
int getUserAddr(int id);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -