2016-01-06 11:46:06 +00:00
|
|
|
#ifndef OPENMW_COMPONENTS_FALLBACK_VALIDATE_H
|
|
|
|
#define OPENMW_COMPONENTS_FALLBACK_VALIDATE_H
|
|
|
|
|
2022-06-25 15:51:01 +00:00
|
|
|
#include <map>
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
2016-01-06 11:46:06 +00:00
|
|
|
|
2022-06-25 15:51:01 +00:00
|
|
|
namespace boost
|
|
|
|
{
|
|
|
|
class any;
|
|
|
|
}
|
|
|
|
|
2016-01-06 11:46:06 +00:00
|
|
|
namespace Fallback
|
|
|
|
{
|
|
|
|
|
2023-04-27 09:01:21 +00:00
|
|
|
bool isAllowedIntFallbackKey(std::string_view key);
|
|
|
|
bool isAllowedFloatFallbackKey(std::string_view key);
|
|
|
|
bool isAllowedNonNumericFallbackKey(std::string_view key);
|
|
|
|
bool isAllowedUnusedFallbackKey(std::string_view key); // imported from Morrowind.ini but unused
|
|
|
|
|
2016-07-12 00:06:57 +00:00
|
|
|
struct FallbackMap
|
|
|
|
{
|
|
|
|
std::map<std::string, std::string> mMap;
|
|
|
|
};
|
|
|
|
|
2023-04-27 09:01:21 +00:00
|
|
|
// Parses and validates a fallback map from boost program_options.
|
|
|
|
// Note: for boost to pick up the validate function, you need to pull in the namespace e.g.
|
|
|
|
// by using namespace Fallback;
|
2020-10-23 12:03:36 +00:00
|
|
|
void validate(boost::any& v, std::vector<std::string> const& tokens, FallbackMap*, int);
|
2016-01-06 11:46:06 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|