Add ostream overload to ServerProperties
This commit is contained in:
parent
e8244a3359
commit
fb0738b37e
|
@ -7,6 +7,7 @@
|
|||
#include <string_view>
|
||||
#include <unordered_map>
|
||||
#include <functional>
|
||||
#include <ostream>
|
||||
|
||||
using std::string;
|
||||
using std::string_view;
|
||||
|
@ -50,7 +51,7 @@ namespace Feather
|
|||
// Property<T> can be automatically cast to T
|
||||
operator T() const { return value; }
|
||||
|
||||
inline string ToString() { return std::to_string(value); }
|
||||
inline string ToString() const { return std::to_string(value); }
|
||||
|
||||
string_view key;
|
||||
private:
|
||||
|
@ -59,14 +60,21 @@ namespace Feather
|
|||
};
|
||||
|
||||
template <>
|
||||
inline string Property<string>::ToString()
|
||||
inline string Property<string>::ToString() const
|
||||
{
|
||||
return value;
|
||||
}
|
||||
|
||||
template <>
|
||||
inline string Property<bool>::ToString()
|
||||
inline string Property<bool>::ToString() const
|
||||
{
|
||||
return value ? "true" : "false";
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
std::ostream& operator<<(std::ostream& os, const Property<T>& prop)
|
||||
{
|
||||
os << prop.key << "=" << prop.ToString();
|
||||
return os;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -89,50 +89,50 @@ namespace Feather
|
|||
// Ex: Thu Jul 23 01:43:47 PDT 2020
|
||||
file << "#" << std::put_time(&localTime, "%a %b %d %H:%M:%S ") << timeZoneAbbr << std::put_time(&localTime, " %Y") << "\n";
|
||||
|
||||
file << onlineMode.key << "=" << onlineMode.ToString() << "\n";
|
||||
file << preventProxyConnections.key << "=" << preventProxyConnections.ToString() << "\n";
|
||||
file << serverIp.key << "=" << serverIp.ToString() << "\n";
|
||||
file << spawnAnimals.key << "=" << spawnAnimals.ToString() << "\n";
|
||||
file << spawnNpcs.key << "=" << spawnNpcs.ToString() << "\n";
|
||||
file << pvp.key << "=" << pvp.ToString() << "\n";
|
||||
file << allowFlight.key << "=" << allowFlight.ToString() << "\n";
|
||||
file << resourcePack.key << "=" << resourcePack.ToString() << "\n";
|
||||
file << motd.key << "=" << motd.ToString() << "\n";
|
||||
file << forceGameMode.key << "=" << forceGameMode.ToString() << "\n";
|
||||
file << enforceWhitelist.key << "=" << enforceWhitelist.ToString() << "\n";
|
||||
file << levelName.key << "=" << levelName.ToString() << "\n";
|
||||
file << serverPort.key << "=" << serverPort.ToString() << "\n";
|
||||
file << maxBuildHeight.key << "=" << maxBuildHeight.ToString() << "\n";
|
||||
//file << announcePlayerAchievements.key << "=" << announcePlayerAchievements.ToString() << "\n";
|
||||
file << enableQuery.key << "=" << enableQuery.ToString() << "\n";
|
||||
file << queryPort.key << "=" << queryPort.ToString() << "\n";
|
||||
file << enableRcon.key << "=" << enableRcon.ToString() << "\n";
|
||||
file << rconPort.key << "=" << rconPort.ToString() << "\n";
|
||||
file << rconPassword.key << "=" << rconPassword.ToString() << "\n";
|
||||
//file << resourcePackHash.key << "=" << resourcePackHash.ToString() << "\n";
|
||||
file << resourcePackSha1.key << "=" << resourcePackSha1.ToString() << "\n";
|
||||
file << hardcore.key << "=" << hardcore.ToString() << "\n";
|
||||
file << allowNether.key << "=" << allowNether.ToString() << "\n";
|
||||
file << spawnMonsters.key << "=" << spawnMonsters.ToString() << "\n";
|
||||
file << snooperEnabled.key << "=" << snooperEnabled.ToString() << "\n";
|
||||
file << useNativeTransport.key << "=" << useNativeTransport.ToString() << "\n";
|
||||
file << enableCommandBlock.key << "=" << enableCommandBlock.ToString() << "\n";
|
||||
file << spawnProtection.key << "=" << spawnProtection.ToString() << "\n";
|
||||
file << opPermissionLevel.key << "=" << opPermissionLevel.ToString() << "\n";
|
||||
file << functionPermissionLevel.key << "=" << functionPermissionLevel.ToString() << "\n";
|
||||
file << maxTickTime.key << "=" << maxTickTime.ToString() << "\n";
|
||||
file << viewDistance.key << "=" << viewDistance.ToString() << "\n";
|
||||
file << maxPlayers.key << "=" << maxPlayers.ToString() << "\n";
|
||||
file << networkCompressionThreshold.key << "=" << networkCompressionThreshold.ToString() << "\n";
|
||||
file << broadcastRconToOps.key << "=" << broadcastRconToOps.ToString() << "\n";
|
||||
file << broadcastConsoleToOps.key << "=" << broadcastConsoleToOps.ToString() << "\n";
|
||||
file << maxWorldSize.key << "=" << maxWorldSize.ToString() << "\n";
|
||||
file << syncChunkWrites.key << "=" << syncChunkWrites.ToString() << "\n";
|
||||
file << enableJmxMonitoring.key << "=" << enableJmxMonitoring.ToString() << "\n";
|
||||
file << enableStatus.key << "=" << enableStatus.ToString() << "\n";
|
||||
file << entityBroadcastRangePercentage.key << "=" << entityBroadcastRangePercentage.ToString() << "\n";
|
||||
file << playerIdleTimeout.key << "=" << playerIdleTimeout.ToString() << "\n";
|
||||
file << whiteList.key << "=" << whiteList.ToString() << "\n";
|
||||
file << onlineMode << "\n";
|
||||
file << preventProxyConnections << "\n";
|
||||
file << serverIp << "\n";
|
||||
file << spawnAnimals << "\n";
|
||||
file << spawnNpcs << "\n";
|
||||
file << pvp << "\n";
|
||||
file << allowFlight << "\n";
|
||||
file << resourcePack << "\n";
|
||||
file << motd << "\n";
|
||||
file << forceGameMode << "\n";
|
||||
file << enforceWhitelist << "\n";
|
||||
file << levelName << "\n";
|
||||
file << serverPort << "\n";
|
||||
file << maxBuildHeight << "\n";
|
||||
//file << announcePlayerAchievements << "\n";
|
||||
file << enableQuery << "\n";
|
||||
file << queryPort << "\n";
|
||||
file << enableRcon << "\n";
|
||||
file << rconPort << "\n";
|
||||
file << rconPassword << "\n";
|
||||
//file << resourcePackHash << "\n";
|
||||
file << resourcePackSha1 << "\n";
|
||||
file << hardcore << "\n";
|
||||
file << allowNether << "\n";
|
||||
file << spawnMonsters << "\n";
|
||||
file << snooperEnabled << "\n";
|
||||
file << useNativeTransport << "\n";
|
||||
file << enableCommandBlock << "\n";
|
||||
file << spawnProtection << "\n";
|
||||
file << opPermissionLevel << "\n";
|
||||
file << functionPermissionLevel << "\n";
|
||||
file << maxTickTime << "\n";
|
||||
file << viewDistance << "\n";
|
||||
file << maxPlayers << "\n";
|
||||
file << networkCompressionThreshold << "\n";
|
||||
file << broadcastRconToOps << "\n";
|
||||
file << broadcastConsoleToOps << "\n";
|
||||
file << maxWorldSize << "\n";
|
||||
file << syncChunkWrites << "\n";
|
||||
file << enableJmxMonitoring << "\n";
|
||||
file << enableStatus << "\n";
|
||||
file << entityBroadcastRangePercentage << "\n";
|
||||
file << playerIdleTimeout << "\n";
|
||||
file << whiteList << "\n";
|
||||
|
||||
file << "\n";
|
||||
file.close();
|
||||
|
|
Loading…
Reference in New Issue