Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/application/discord/application_manager.h
blob: ab0e8563168284c4d00388603fde9b13fc00407a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma once

#include "types.h"

namespace discord {

class ApplicationManager final {
public:
    ~ApplicationManager() = default;

    void ValidateOrExit(std::function<void(Result)> callback);
    void GetCurrentLocale(char locale[128]);
    void GetCurrentBranch(char branch[4096]);
    void GetOAuth2Token(std::function<void(Result, OAuth2Token const&)> callback);
    void GetTicket(std::function<void(Result, char const*)> callback);

private:
    friend class Core;

    ApplicationManager() = default;
    ApplicationManager(ApplicationManager const& rhs) = delete;
    ApplicationManager& operator=(ApplicationManager const& rhs) = delete;
    ApplicationManager(ApplicationManager&& rhs) = delete;
    ApplicationManager& operator=(ApplicationManager&& rhs) = delete;

    IDiscordApplicationManager* internal_;
    static IDiscordApplicationEvents events_;
};

} // namespace discord