#ifndef XrdMon_XrdUser_H
#define XrdMon_XrdUser_H
#include <Glasses/ZList.h>
#include <Gled/GTime.h>
class XrdServer;
class XrdFile;
class XrdUser : public ZList
{
MAC_RNR_FRIENDS(XrdUser);
friend class XrdServer;
private:
Int_t m_dict_id;
void _init();
protected:
TString mRealName;
TString mDN;
TString mVO;
TString mRole;
TString mGroup;
TString mServerUsername;
TString mFromHost;
TString mFromDomain;
Bool_t bNumericHost;
TString mAppInfo;
GTime mLoginTime;
GTime mDisconnectTime;
GTime mLastMsgTime;
Bool_t bTraceMon;
ZLink<XrdServer> mServer;
public:
XrdUser(const TString& n="XrdUser", const TString& t="");
XrdUser(const TString& n, const TString& t,
const TString& dn, const TString& vo, const TString& ro, const TString& gr,
const TString& su, const TString& fh, const TString& fd, Bool_t num_host,
const GTime& st);
virtual ~XrdUser();
TString GetFromFqhn() const;
Bool_t IsConnected() const { return mDisconnectTime.IsNever() && ! mLoginTime.IsNever(); }
void AddFile(XrdFile* file);
void AppendAppInfo(const TString& app_info);
static TString ParseHumanName(const TString& dn);
#include "XrdUser.h7"
ClassDef(XrdUser, 1);
};
#endif