plugify 1.2.8
Loading...
Searching...
No Matches
registrar.hpp
1#pragma once
2
3#include "plugify/global.h"
4#include "plugify/types.hpp"
5
6namespace plugify {
7 PLUGIFY_API std::string ToDebugString(UniqueId id) noexcept;
8 PLUGIFY_API std::string ToShortString(UniqueId id) noexcept;
9
10 // RAII registrar helper: registers in ctor, unregisters in dtor
11 class Registrar {
12 public:
13 // DebugInfo contains the human readable metadata
14 struct DebugInfo {
15 std::string name;
16 ExtensionType type;
17 std::string version;
18 std::filesystem::path location;
19 };
20
22 ~Registrar();
23
24 Registrar(const Registrar&) = delete;
25 Registrar& operator=(const Registrar&) = delete;
26 Registrar(Registrar&&) noexcept;
27 Registrar& operator=(Registrar&&) noexcept;
28
29 private:
30 UniqueId _id;
31 };
32}