r-type  0.0.0
R-Type main
Loading...
Searching...
No Matches
IPlugin.hpp
Go to the documentation of this file.
1///
2/// @file IPlugin.hpp
3/// @brief This file contains the plugin interface
4/// @namespace utl
5///
6
7#pragma once
8
9#include <string>
10
11namespace utl
12{
13
14 enum class PluginType : uint8_t
15 {
16 AUDIO = 0,
19 RENDERER = 2,
20 UNKNOWN = 255
21 };
22
23 ///
24 /// @interface IPlugin
25 /// @brief Interface for plugins
26 /// @namespace utl
27 ///
28 class IPlugin
29 {
30
31 public:
32 virtual ~IPlugin() = default;
33 [[nodiscard]] virtual const std::string getName() const = 0;
34 [[nodiscard]] virtual PluginType getType() const = 0;
35
36 }; // interface IPlugin
37} // namespace utl
Interface for plugins.
Definition IPlugin.hpp:29
virtual const std::string getName() const =0
virtual PluginType getType() const =0
virtual ~IPlugin()=default
PluginType
Definition IPlugin.hpp:15