/* SLiM - Simple Login Manager Copyright (C) 1997, 1998 Per Liden Copyright (C) 2004-06 Simone Rota Copyright (C) 2004-06 Johannes Winkelmann 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. */ #ifndef _SWITCHUSER_H_ #define _SWITCHUSER_H_ #include #include #include #include #include #include #include #include #include "log.h" #include "cfg.h" class SwitchUser { public: SwitchUser(struct passwd *pw, Cfg *c, const std::string& display, char** _env); ~SwitchUser(); void Login(const char* cmd, const char* mcookie); private: SwitchUser(); void SetEnvironment(); void SetUserId(); void Execute(const char* cmd); void SetClientAuth(const char* mcookie); Cfg* cfg; struct passwd *Pw; std::string displayName; char** env; }; #endif /* _SWITCHUSER_H_ */