diff options
Diffstat (limited to 'source/application/discord/image_manager.h')
-rw-r--r-- | source/application/discord/image_manager.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/source/application/discord/image_manager.h b/source/application/discord/image_manager.h new file mode 100644 index 0000000..b096b17 --- /dev/null +++ b/source/application/discord/image_manager.h @@ -0,0 +1,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 |