1 #ifndef LIBFILEZILLA_IMPERSONATION_HEADER
2 #define LIBFILEZILLA_IMPERSONATION_HEADER
16 enum class impersonation_flag
22 class impersonation_token_impl;
50 explicit operator
bool()
const {
51 return impl_.operator bool();
54 bool operator==(impersonation_token
const&)
const;
55 bool operator<(impersonation_token
const&)
const;
64 std::size_t
hash() const noexcept;
67 friend class impersonation_token_impl;
68 std::unique_ptr<impersonation_token_impl> impl_;
85 struct hash<
fz::impersonation_token>
Impersonation tokens for a given user can be used to spawn processes running as that user.
Definition: impersonation.hpp:33
impersonation_token(fz::native_string const &username, fz::native_string const &password)
Creates an impersonation token, verifying credentials in the proceess.
fz::native_string home() const
Returns home directory, may be empty.
fz::native_string username() const
Returns the name of the impersonated user.
std::size_t hash() const noexcept
For std::hash.
The namespace used by libfilezilla.
Definition: apply.hpp:17
native_string current_username()
Returns the username the calling thread is running under.
std::wstring native_string
A string in the system's native character type and encoding. Note: This typedef changes depending on...
Definition: string.hpp:34
bool operator==(symmetric_key const &lhs, symmetric_key const &rhs)
Side-channel safe comparison.
String types and assorted functions.