git.fiddlerwoaroof.com
session.cc
bb80149c
 #include <memory>
 #include <string>
 
 #include "session.h"
 #include "sys_pam.h"
 #include "request.h"
 
 namespace
 {
328af6e0
 class impl : public sessions_ifc {
bb80149c
     private:
         pam pam_;
     public:
     impl(const pam &pam) : pam_(pam) {}
     std::string user_name (const pam_request &request)  const {
         const char *user_name;
         pam_.get_user(request.handle(), &user_name);
         return user_name;
     }
 };
 
 }
 
328af6e0
 sessions sessions::create(const pam &pam) {
     return sessions(std::make_shared<impl>(pam));
bb80149c
 }