📄 ftpuser.h
字号:
/****************************************************
* 用户和文件权限管理类
* 作者 gotter@163.com 2006-04-19
****************************************************/
#ifndef _FTP_USER_H_
#define _FTP_USER_H_
class CFtpUser
{
public:
struct PRIV
{
string sDir;
char szPriv[8];
};
protected:
//当前虚拟绝对目录
string m_sDir;
string m_sRealRootDir;
vector<PRIV> m_priv;
string m_sRealFrom;//当前要改的文件或目录名
public:
string m_sUser;//用户名
public:
CFtpUser();
virtual ~CFtpUser();
bool IsLoaded();
int BuildList(string &sList);
int Load(const char *pszPasswd);
int BuildStor(string &sRealFile,const char *pszFile);
int BuildRetr(string &sRealFile,const char *pszFile);
int DeleFile(const char *pszFile);
int Mkdir(const char *pszDir);
int Rmdir(const char *pszDir);
int GetFileSize(const char *pszArg);
int RenameFrom(const char *pszArg);
int RenameTo(const char *pszArg);
/*
变换虚拟目录,
pszDir--虚拟相对目录或虚拟绝对目录
返回--变换以后的当前虚拟绝对目录
*/
int ChangeDir(const char *pszDir);
//获取当前虚拟绝对目录
const char *GetDir();
//获取当前物理绝对目录
void GetRealDir(string &sRealDir);
/*
检查虚拟目录的访问权限
pszDir--虚拟相对目录或虚拟绝对目录
cMode--权限模式 有'r' , 'w' 和 'x' 三种选项
*/
bool CheckPrivilege(const char *pszDir,
char cMode);
/*
物理绝对目录到虚拟绝对目录的变换
sRealDir[out]--目录绝对目录
pszDir --虚拟绝对目录
*/
bool DirToRealDir(string &sRealDir,const char *pszDir);
/*
虚拟相对目录到物理绝对目录的变换
sRealDir[out]--物理绝对目录
pszDir --虚拟相对目录
chMode --虚拟目录的权限
*/
int DirToRealDir(string &sRealDir,const char *pszDir,char chMode);
/*
虚拟绝对目录到物理绝对目录的变换
sDir[out]--虚拟绝对目录
pszRealDir--物理绝对目录
*/
bool RealDirToDir(string &sDir,const char *pszRealDir);
/*
相对虚拟路径到绝对虚拟路径的转换
sAbsDir[out] --绝对虚拟路径
pszDir--相对虚拟路径(也可以是绝对虚拟路径)
*/
bool DirToAbsDir(string &sAbsDir,const char *pszDir);
const char *FormatDate(time_t t);
};
#endif//_FTP_USER_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -