pub struct SessionManager { /* private fields */ }Expand description
Configurable session manager for storing session data in XDG directories.
This struct allows customization of the application prefix for session storage.
Sessions are stored per-user in the format:
~/.local/share/{app_name}/users/{username}/session.json
Implementations§
Source§impl SessionManager
impl SessionManager
Sourcepub fn new(app_name: impl Into<String>) -> Self
pub fn new(app_name: impl Into<String>) -> Self
Create a new session manager with a custom application name.
§Arguments
app_name- The application name to use as the directory prefix
Sourcepub fn get_session_path(&self, username: &str) -> Result<PathBuf>
pub fn get_session_path(&self, username: &str) -> Result<PathBuf>
Get the session file path for a given username using the configured app name.
Returns a path like: ~/.local/share/{app_name}/users/{username}/session.json
§Arguments
username- The Last.fm username
§Returns
Returns the path where the session should be stored, or an error if the XDG data directory cannot be determined.
Sourcepub fn save_session(&self, session: &LastFmEditSession) -> Result<()>
pub fn save_session(&self, session: &LastFmEditSession) -> Result<()>
Sourcepub fn load_session(&self, username: &str) -> Result<LastFmEditSession>
pub fn load_session(&self, username: &str) -> Result<LastFmEditSession>
Sourcepub fn session_exists(&self, username: &str) -> bool
pub fn session_exists(&self, username: &str) -> bool
Sourcepub fn remove_session(&self, username: &str) -> Result<()>
pub fn remove_session(&self, username: &str) -> Result<()>
Trait Implementations§
Source§impl Clone for SessionManager
impl Clone for SessionManager
Source§fn clone(&self) -> SessionManager
fn clone(&self) -> SessionManager
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SessionManager
impl RefUnwindSafe for SessionManager
impl Send for SessionManager
impl Sync for SessionManager
impl Unpin for SessionManager
impl UnwindSafe for SessionManager
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)