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

summaryrefslogtreecommitdiff
path: root/source/application/discord/image_manager.h
blob: b096b17105f56095370bb8cf4f6018653aa932b0 (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
#pragma once

#include "types.h"

namespace discord {

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

    void Fetch(ImageHandle handle, bool refresh, std::function<void(Result, ImageHandle)> callback);
    Result GetDimensions(ImageHandle handle, ImageDimensions* dimensions);
    Result GetData(ImageHandle handle, std::uint8_t* data, std::uint32_t dataLength);

private:
    friend class Core;

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

    IDiscordImageManager* internal_;
    static IDiscordImageEvents events_;
};

} // namespace discord