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.io.File;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
abstract public class AbstractCppCodegen extends DefaultCodegen implements CodegenConfig {
|
abstract public class AbstractCppCodegen extends DefaultCodegen implements CodegenConfig {
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(AbstractCppCodegen.class);
|
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);
|
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;
|
return objs;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public Map<String, Object> postProcessModels(Map<String, Object> objs) {
|
|
||||||
return postProcessModelsEnum(objs);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toEnumValue(String value, String datatype) {
|
public String toEnumValue(String value, String datatype) {
|
||||||
return escapeText(value);
|
return escapeText(value);
|
||||||
|
@ -42,14 +42,14 @@ public:
|
|||||||
enum class e{{classname}}
|
enum class e{{classname}}
|
||||||
{
|
{
|
||||||
{{#allowableValues}}
|
{{#allowableValues}}
|
||||||
{{#values}}
|
{{#enumVars}}
|
||||||
{{#enumDescription}}
|
{{#enumDescription}}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// {{enumDescription}}
|
/// {{enumDescription}}
|
||||||
/// </summary>
|
/// </summary>
|
||||||
{{/enumDescription}}
|
{{/enumDescription}}
|
||||||
{{classname}}_{{.}}{{^last}},{{/last}}
|
{{classname}}_{{{name}}}{{^last}},{{/last}}
|
||||||
{{/values}}
|
{{/enumVars}}
|
||||||
{{/allowableValues}}
|
{{/allowableValues}}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -27,8 +27,8 @@ web::json::value {{classname}}::toJson() const
|
|||||||
{
|
{
|
||||||
web::json::value val = web::json::value::object();
|
web::json::value val = web::json::value::object();
|
||||||
|
|
||||||
{{#allowableValues}}{{#values}}
|
{{#allowableValues}}{{#enumVars}}
|
||||||
if (m_value == e{{classname}}::{{classname}}_{{.}}) val = web::json::value::string(U("{{.}}"));{{/values}}{{/allowableValues}}
|
if (m_value == e{{classname}}::{{classname}}_{{name}}) val = web::json::value::string(U({{{value}}}));{{/enumVars}}{{/allowableValues}}
|
||||||
|
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
@ -37,8 +37,8 @@ void {{classname}}::fromJson(const web::json::value& val)
|
|||||||
{
|
{
|
||||||
auto s = val.as_string();
|
auto s = val.as_string();
|
||||||
|
|
||||||
{{#allowableValues}}{{#values}}
|
{{#allowableValues}}{{#enumVars}}
|
||||||
if (s == utility::conversions::to_string_t("{{.}}")) m_value = e{{classname}}::{{classname}}_{{.}};{{/values}}{{/allowableValues}}
|
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
|
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;
|
utility::string_t s;
|
||||||
|
|
||||||
{{#allowableValues}}{{#values}}
|
{{#allowableValues}}{{#enumVars}}
|
||||||
if (m_value == e{{classname}}::{{classname}}_{{.}}) s = utility::conversions::to_string_t("{{.}}");{{/values}}{{/allowableValues}}
|
if (m_value == e{{classname}}::{{classname}}_{{name}}) s = utility::conversions::to_string_t({{{value}}});{{/enumVars}}{{/allowableValues}}
|
||||||
|
|
||||||
multipart->add(ModelBase::toHttpContent(namePrefix, s));
|
multipart->add(ModelBase::toHttpContent(namePrefix, s));
|
||||||
}
|
}
|
||||||
@ -70,8 +70,8 @@ void {{classname}}::fromMultiPart(std::shared_ptr<MultipartFormData> multipart,
|
|||||||
s = ModelBase::stringFromHttpContent(multipart->getContent(namePrefix));
|
s = ModelBase::stringFromHttpContent(multipart->getContent(namePrefix));
|
||||||
e{{classname}} v;
|
e{{classname}} v;
|
||||||
|
|
||||||
{{#allowableValues}}{{#values}}
|
{{#allowableValues}}{{#enumVars}}
|
||||||
if (s == utility::conversions::to_string_t("{{.}}")) v = e{{classname}}::{{classname}}_{{.}};{{/values}}{{/allowableValues}}
|
if (s == utility::conversions::to_string_t({{{value}}})) v = e{{classname}}::{{classname}}_{{name}};{{/enumVars}}{{/allowableValues}}
|
||||||
|
|
||||||
setValue(v);
|
setValue(v);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user