summaryrefslogtreecommitdiff
path: root/battleNetApi/include/tokenPool.hpp
blob: 0b1e4ccf9650e956a27e1d8b12db0f47e18a1a3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once

#include <queue>
#include <token.hpp>

static std::queue<Token> aTokenContainer;

class TokenPool {
  private:
    TokenPool() = delete;
    TokenPool(const TokenPool &) = delete;
    TokenPool(TokenPool &&) = delete;
    TokenPool &operator=(const TokenPool &) = delete;
    TokenPool &operator=(TokenPool &&) = delete;

  public:
    static void feedTokenSource(const std::span<std::string> &iJsonPaths);
    static void feedTokenSource(const std::string &iJsonPath);
    static std::optional<Token> availableToken();
};