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

summaryrefslogtreecommitdiff
path: root/source/application/discord/image_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/application/discord/image_manager.h')
-rw-r--r--source/application/discord/image_manager.h28
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