Program Listing for File PAL.hpp
↰ Return to documentation for file (engine/include/Cacao/PAL.hpp
)
#pragma once
#include "DllHelper.hpp"
#include <string>
#include <memory>
namespace Cacao {
class CACAO_API PAL {
public:
static PAL& Get();
PAL(const PAL&) = delete;
PAL(PAL&&) = delete;
PAL& operator=(const PAL&) = delete;
PAL& operator=(PAL&&) = delete;
void SetModule(const std::string& mod);
bool InitializeModule();
void GfxConnect();
void GfxDisconnect();
void TerminateModule();
template<typename T>
void ConfigureImplPtr(T& obj) = delete;
struct Impl;
private:
std::unique_ptr<Impl> impl;
friend class ImplAccessor;
PAL();
~PAL();
};
}