Botcraft 1.21.4
Loading...
Searching...
No Matches
PluginLoader.cpp File Reference
#include "protocolCraft/Utilities/Plugins/PluginLoader.hpp"
#include "protocolCraft/Utilities/Plugins/PluginObject.hpp"
#include <filesystem>
#include <functional>
#include <unordered_map>
#include <string_view>
#include <dlfcn.h>

Go to the source code of this file.

Classes

class  ProtocolCraft::Internal::PluginLoader
 

Namespaces

namespace  ProtocolCraft
 
namespace  ProtocolCraft::Internal
 

Macros

#define GetKnownProcAddress(plugins_map, plugin_name, func)   GetKnownProcAddressImpl(plugins_map[plugin_name], plugin_name.c_str(), #func, func);
 

Functions

template<typename F >
ProtocolCraft::Internal::GetKnownProcAddressImpl (void *hmod, const char *module_name, const char *name, F)
 
std::shared_ptr< PluginObjectProtocolCraft::CreateObjectFromPlugin (const char *identifier)
 Create an abstract PluginObject using a runtime loaded plugin (dll/so)
 

Variables

constexpr std::string_view ProtocolCraft::Internal::plugins_folder = "protocolcraft_plugins"
 Folder in which the protocolCraft plugins will be searched for.
 
PluginObject *(* ProtocolCraft::Internal::GetPluginObject )(const char *identifier)=0
 
void(* ProtocolCraft::Internal::DestroyPluginObject )(PluginObject *object)=0
 

Macro Definition Documentation

◆ GetKnownProcAddress

#define GetKnownProcAddress (   plugins_map,
  plugin_name,
  func 
)    GetKnownProcAddressImpl(plugins_map[plugin_name], plugin_name.c_str(), #func, func);

Definition at line 47 of file PluginLoader.cpp.