10 #ifndef __PION_ADMIN_RIGHTS_HEADER__
11 #define __PION_ADMIN_RIGHTS_HEADER__
13 #include <pion/config.hpp>
14 #include <pion/logger.hpp>
15 #include <boost/cstdint.hpp>
16 #include <boost/thread/mutex.hpp>
43 static long run_as_user(
const std::string& user_name);
46 static long run_as_group(
const std::string& group_name);
59 static long find_system_id(
const std::string& name,
const std::string& file);
63 static const boost::int16_t ADMIN_USER_ID;
66 static boost::mutex m_mutex;
72 boost::unique_lock<boost::mutex> m_lock;
75 boost::int16_t m_user_id;
virtual ~admin_rights()
destructor releases administrative rights