37 lines
806 B
C++
37 lines
806 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
|
|
class Token {
|
|
public:
|
|
enum class CodeType {
|
|
None = 0,
|
|
Close = 1,
|
|
Open = 2,
|
|
Nerver = 3,
|
|
};
|
|
|
|
public:
|
|
explicit Token(const std::string& token) noexcept;
|
|
explicit Token() noexcept;
|
|
~Token() noexcept;
|
|
|
|
static Token FromConfig();
|
|
static Token FromServer(const std::string& token);
|
|
bool SaveConfig() const;
|
|
|
|
const std::string& GetToken(void) const noexcept { return m_token; }
|
|
|
|
std::string encode() const;
|
|
bool decode(const std::string& str);
|
|
bool DecodeFromJson(const std::string& token);
|
|
|
|
bool IsValide() const { return !m_token.empty(); }
|
|
|
|
void SetCode(CodeType code) { m_code = code; }
|
|
CodeType GetCode() const { return m_code; }
|
|
|
|
private:
|
|
std::string m_token;
|
|
CodeType m_code = CodeType::None;
|
|
}; |