utils: codegen: ipc: Add deserializer() function
Add `deserializer()` in `serializer.tmpl` to have a single function that generates all the necessary functions into the template specialization like `serializer()`. This also avoids the duplication of some conditional logic. Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
This commit is contained in:
@@ -32,12 +32,7 @@ class IPADataSerializer<{{struct|name}}>
|
||||
{
|
||||
public:
|
||||
{{- serializer.serializer(struct)}}
|
||||
{%- if struct|has_fd %}
|
||||
{{serializer.deserializer_fd(struct)}}
|
||||
{%- else %}
|
||||
{{serializer.deserializer_no_fd(struct)}}
|
||||
{{serializer.deserializer_fd_simple(struct)}}
|
||||
{%- endif %}
|
||||
{{- serializer.deserializer(struct)}}
|
||||
};
|
||||
{% endfor %}
|
||||
|
||||
|
||||
@@ -33,12 +33,7 @@ class IPADataSerializer<{{struct|name_full}}>
|
||||
{
|
||||
public:
|
||||
{{- serializer.serializer(struct)}}
|
||||
{%- if struct|has_fd %}
|
||||
{{serializer.deserializer_fd(struct)}}
|
||||
{%- else %}
|
||||
{{serializer.deserializer_no_fd(struct)}}
|
||||
{{serializer.deserializer_fd_simple(struct)}}
|
||||
{%- endif %}
|
||||
{{- serializer.deserializer(struct)}}
|
||||
};
|
||||
{% endfor %}
|
||||
|
||||
|
||||
@@ -317,3 +317,17 @@
|
||||
return ret;
|
||||
}
|
||||
{%- endmacro %}
|
||||
|
||||
{#
|
||||
# \brief Deserialize a struct
|
||||
#
|
||||
# Generate code for IPADataSerializer specialization, for deserializing \a struct.
|
||||
#}
|
||||
{%- macro deserializer(struct) %}
|
||||
{%- if struct|has_fd %}
|
||||
{{deserializer_fd(struct)}}
|
||||
{%- else %}
|
||||
{{deserializer_no_fd(struct)}}
|
||||
{{deserializer_fd_simple(struct)}}
|
||||
{%- endif %}
|
||||
{%- endmacro %}
|
||||
|
||||
Reference in New Issue
Block a user