forked from loafle/openapi-generator-original
Add missing enum processing in C++ codegen, already present for Qt5 (#3986)
This commit is contained in:
parent
b5fb92d5a8
commit
c8d5701089
@ -35,6 +35,7 @@ import org.slf4j.LoggerFactory;
|
||||
import java.io.File;
|
||||
import java.net.URL;
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
|
||||
abstract public class AbstractCppCodegen extends DefaultCodegen implements CodegenConfig {
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(AbstractCppCodegen.class);
|
||||
@ -306,4 +307,9 @@ abstract public class AbstractCppCodegen extends DefaultCodegen implements Codeg
|
||||
this.additionalProperties.put("serverHost", host);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> postProcessModels(Map<String, Object> objs) {
|
||||
return postProcessModelsEnum(objs);
|
||||
}
|
||||
}
|
||||
|
@ -332,11 +332,6 @@ public class CppQt5AbstractCodegen extends AbstractCppCodegen implements Codegen
|
||||
return objs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> postProcessModels(Map<String, Object> objs) {
|
||||
return postProcessModelsEnum(objs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toEnumValue(String value, String datatype) {
|
||||
return escapeText(value);
|
||||
|
@ -42,14 +42,14 @@ public:
|
||||
enum class e{{classname}}
|
||||
{
|
||||
{{#allowableValues}}
|
||||
{{#values}}
|
||||
{{#enumVars}}
|
||||
{{#enumDescription}}
|
||||
/// <summary>
|
||||
/// {{enumDescription}}
|
||||
/// </summary>
|
||||
{{/enumDescription}}
|
||||
{{classname}}_{{.}}{{^last}},{{/last}}
|
||||
{{/values}}
|
||||
{{classname}}_{{{name}}}{{^last}},{{/last}}
|
||||
{{/enumVars}}
|
||||
{{/allowableValues}}
|
||||
};
|
||||
|
||||
|
@ -27,8 +27,8 @@ web::json::value {{classname}}::toJson() const
|
||||
{
|
||||
web::json::value val = web::json::value::object();
|
||||
|
||||
{{#allowableValues}}{{#values}}
|
||||
if (m_value == e{{classname}}::{{classname}}_{{.}}) val = web::json::value::string(U("{{.}}"));{{/values}}{{/allowableValues}}
|
||||
{{#allowableValues}}{{#enumVars}}
|
||||
if (m_value == e{{classname}}::{{classname}}_{{name}}) val = web::json::value::string(U({{{value}}}));{{/enumVars}}{{/allowableValues}}
|
||||
|
||||
return val;
|
||||
}
|
||||
@ -37,8 +37,8 @@ void {{classname}}::fromJson(const web::json::value& val)
|
||||
{
|
||||
auto s = val.as_string();
|
||||
|
||||
{{#allowableValues}}{{#values}}
|
||||
if (s == utility::conversions::to_string_t("{{.}}")) m_value = e{{classname}}::{{classname}}_{{.}};{{/values}}{{/allowableValues}}
|
||||
{{#allowableValues}}{{#enumVars}}
|
||||
if (s == utility::conversions::to_string_t({{{value}}})) m_value = e{{classname}}::{{classname}}_{{name}};{{/enumVars}}{{/allowableValues}}
|
||||
}
|
||||
|
||||
void {{classname}}::toMultipart(std::shared_ptr<MultipartFormData> multipart, const utility::string_t& prefix) const
|
||||
@ -51,8 +51,8 @@ void {{classname}}::toMultipart(std::shared_ptr<MultipartFormData> multipart, co
|
||||
|
||||
utility::string_t s;
|
||||
|
||||
{{#allowableValues}}{{#values}}
|
||||
if (m_value == e{{classname}}::{{classname}}_{{.}}) s = utility::conversions::to_string_t("{{.}}");{{/values}}{{/allowableValues}}
|
||||
{{#allowableValues}}{{#enumVars}}
|
||||
if (m_value == e{{classname}}::{{classname}}_{{name}}) s = utility::conversions::to_string_t({{{value}}});{{/enumVars}}{{/allowableValues}}
|
||||
|
||||
multipart->add(ModelBase::toHttpContent(namePrefix, s));
|
||||
}
|
||||
@ -70,8 +70,8 @@ void {{classname}}::fromMultiPart(std::shared_ptr<MultipartFormData> multipart,
|
||||
s = ModelBase::stringFromHttpContent(multipart->getContent(namePrefix));
|
||||
e{{classname}} v;
|
||||
|
||||
{{#allowableValues}}{{#values}}
|
||||
if (s == utility::conversions::to_string_t("{{.}}")) v = e{{classname}}::{{classname}}_{{.}};{{/values}}{{/allowableValues}}
|
||||
{{#allowableValues}}{{#enumVars}}
|
||||
if (s == utility::conversions::to_string_t({{{value}}})) v = e{{classname}}::{{classname}}_{{name}};{{/enumVars}}{{/allowableValues}}
|
||||
|
||||
setValue(v);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user