aboutsummaryrefslogtreecommitdiff
path: root/source/include/wanda/magic.hpp
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2022-09-16 23:28:09 +0200
committerFelix Morgner <felix.morgner@gmail.com>2022-09-16 23:28:09 +0200
commitf4d9880d3c9555b48affad727589ef5c093b1841 (patch)
treea5552b5a33000a527748ac1c72ca366476af0936 /source/include/wanda/magic.hpp
parent64922e213ac731279cf3341253e67509adb2dfc8 (diff)
downloadwanda-f4d9880d3c9555b48affad727589ef5c093b1841.tar.xz
wanda-f4d9880d3c9555b48affad727589ef5c093b1841.zip
source: clean up structure
Diffstat (limited to 'source/include/wanda/magic.hpp')
-rw-r--r--source/include/wanda/magic.hpp58
1 files changed, 0 insertions, 58 deletions
diff --git a/source/include/wanda/magic.hpp b/source/include/wanda/magic.hpp
deleted file mode 100644
index fcb153e..0000000
--- a/source/include/wanda/magic.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef WANDA_MAGIC_HPP
-#define WANDA_MAGIC_HPP
-
-#include <magic.h>
-
-#include <filesystem>
-#include <memory>
-#include <string>
-#include <type_traits>
-
-namespace wanda
-{
- struct magic
- {
- struct closer
- {
- auto operator()(magic_t handle) const noexcept -> void
- {
- magic_close(handle);
- }
- };
-
- enum struct mime_type
- {
- unknown,
- image_jpeg,
- image_png,
- };
-
- magic()
- : m_handle{magic_open(MAGIC_MIME_TYPE)}
- {
- magic_load(m_handle.get(), nullptr);
- }
-
- auto type(std::filesystem::path path) -> mime_type
- {
- auto magic_type = std::string{magic_file(m_handle.get(), path.native().c_str())};
-
- if (magic_type == "image/jpeg")
- {
- return mime_type::image_jpeg;
- }
- else if (magic_type == "image/png")
- {
- return mime_type::image_png;
- }
-
- return mime_type::unknown;
- }
-
- private:
- std::unique_ptr<std::remove_pointer_t<magic_t>, closer> m_handle;
- };
-
-} // namespace wanda
-
-#endif \ No newline at end of file