#pragma once class ServerInterface { virtual int getConfigInt(const std::wstring& name, int defaultValue) = 0; virtual std::wstring getConfigString(const std::wstring& name, const std::wstring& defaultValue) = 0; virtual bool getConfigBoolean(const std::wstring& name, bool defaultValue) = 0; virtual void setProperty(std::wstring& propertyName, void* value) = 0; virtual void configSave() = 0; virtual std::wstring getConfigPath() = 0; virtual std::wstring getServerIp() = 0; virtual int getServerPort() = 0; virtual std::wstring getServerName() = 0; virtual std::wstring getServerVersion() = 0; virtual int getPlayerCount() = 0; virtual int getMaxPlayers() = 0; virtual std::wstring[] getPlayerNames() = 0; virtual std::wstring getWorldName() = 0; virtual std::wstring getPluginNames() = 0; virtual void disablePlugin() = 0; virtual std::wstring runCommand(const std::wstring& command) = 0; virtual bool isDebugging() = 0; // Logging virtual void info(const std::wstring& string) = 0; virtual void warn(const std::wstring& string) = 0; virtual void error(const std::wstring& string) = 0; virtual void debug(const std::wstring& string) = 0; };