Struct SFAccount

Source
pub struct SFAccount { /* private fields */ }

Implementations§

Source§

impl SFAccount

Source

pub fn username(&self) -> &str

Returns the username of this S&F account

Source

pub async fn login( username: String, password: String, ) -> Result<SFAccount, SFError>

Initializes a SFAccount by logging the user in using the supplied clear text credentials

§Errors

May return basically every possible SFError variant, because we are both sending a command and parsing the result

Source

pub async fn login_with_options( username: String, password: String, options: ConnectionOptions, ) -> Result<SFAccount, SFError>

Initializes a SFAccount by logging the user in using the supplied clear text credentials and the provided options to use for the communication with the server

§Errors

May return basically every possible SFError variant, because we are both sending a command and parsing the result

Source

pub async fn login_hashed( username: String, pw_hash: PWHash, ) -> Result<SFAccount, SFError>

Initializes a SFAccount by logging the user in using the hashed password

§Errors

May return basically every possible SFError variant, because we are both sending a command and parsing the result

Source

pub async fn login_hashed_with_options( username: String, pw_hash: PWHash, options: ConnectionOptions, ) -> Result<SFAccount, SFError>

Initializes a SFAccount by logging the user in using the hashed password and the provided options to use for communication

§Errors

May return basically every possible SFError variant, because we are both sending a command and parsing the result

Source

pub async fn refresh_login(&mut self) -> Result<(), SFError>

Refreshes the SSO session by logging in again with the stored credentials. This can be used when the server removed our session either for being connected too long, or the server was restarted/cache cleared and forgot us

§Errors

InvalidRequest if you call this with anything else then a SSO/SF account character. Even Google/Steam accounts will not work.

Source

pub async fn characters(self) -> Result<Vec<Result<Session, SFError>>, SFError>

Queries the SSO for all characters associated with this account. This consumes the Account, as the character sessions may need to refresh the accounts session, which they are only allowed to do, if they own it (in an Arc<Mutex<_>>) and there should be no need to keep the account around anyways

§Errors

May return ParsingError if the server changed it’s API, or ConnectionError, if the server could not be reached. The characters in the Vec may be InvalidRequest, iff the server the server the character would be on could not be determined

Trait Implementations§

Source§

impl Debug for SFAccount

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T