summaryrefslogtreecommitdiff
path: root/generator/templates/base_struct_function.h.jinja2
blob: cd1c23d6b0f64d840abaf4a501b465e86cd40c4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
{#- To avoid code duplication was crated this parent file, which contain common part used in:
    "templates/functions/template.h" and "templates/structs/template.h". -#}
{% include 'copyright.jinja2' %}
{% block imports %}
{%- for import in imports.enum %}
#import "{{import}}.h"
{%- endfor %}
{%- if imports.struct %}
{% endif -%}
{%- for import in imports.struct %}
@class {{import}};
{%- endfor %}
{%- endblock %}

NS_ASSUME_NONNULL_BEGIN
{% include 'description.jinja2' %}
@interface {{name}} : {{extends_class}}{{ending}}
{%- block constructors %}
{% for c in constructors %}
/**
 {%- if c.description %}
 {%- for d in c.description %}
 * {{d}}
 {%- endfor %}
 *
 {%- endif %}
 {%- for a in c.all %}
 * @param {{a.variable}} - {{a.constructor_argument}}
 {%- endfor %}
 * @return A {{name}} object
 */
{%- if deprecated or c.deprecated %}
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
{%- endif %}
- (instancetype)initWith{{c.init}};
{%- if deprecated or c.deprecated %}
#pragma clang diagnostic pop
{%- endif %}
{% endfor -%}
{%- endblock -%}
{%- block methods %}
{%- for param in params %}
{%- include 'description_param.jinja2' %}
{%- if deprecated or param.deprecated %}
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
{%- endif %}
@property ({{'nullable, ' if not param.mandatory}}{{param.modifier}}, nonatomic) {{param.type_sdl}}{{param.origin}}{{' __deprecated' if param.deprecated and param.deprecated is sameas true }};
{%- if deprecated or param.deprecated %}
#pragma clang diagnostic pop
{%- endif %}
{% endfor %}
{%- endblock %}
@end

NS_ASSUME_NONNULL_END