@@ -25,60 +25,54 @@ if ({{source}}.IsNull()) {
25
25
{{>decode_value target=(concat "newElement_" depth) source=(concat "entry_" depth) cluster=cluster depth=(incrementDepth depth) isArray=false forceNotList=true omitDeclaration=false earlyReturn=earlyReturn}}
26
26
chip::JniReferences::GetInstance().AddToList({{target}}, newElement_{{depth}});
27
27
}
28
- {{else}}
29
- {{#if_is_struct type}}
30
- {{#zcl_struct_items_by_struct_and_cluster_name type cluster}}
31
- {{>decode_value target=(concat ../target "_" (asLowerCamelCase label)) source=(concat ../source "." (asLowerCamelCase label)) cluster=../cluster depth=(incrementDepth ../depth) omitDeclaration=false earlyReturn=../earlyReturn}}
32
- {{/zcl_struct_items_by_struct_and_cluster_name}}
28
+ {{else if_is_struct type}}
29
+ {{#zcl_struct_items_by_struct_and_cluster_name type cluster}}
30
+ {{>decode_value target=(concat ../target "_" (asLowerCamelCase label)) source=(concat ../source "." (asLowerCamelCase label)) cluster=../cluster depth=(incrementDepth ../depth) omitDeclaration=false earlyReturn=../earlyReturn}}
31
+ {{/zcl_struct_items_by_struct_and_cluster_name}}
33
32
34
- {
35
- jclass {{asLowerCamelCase type}}StructClass_{{depth}};
36
- err = chip::JniReferences::GetInstance().GetLocalClassRef(env, "chip/devicecontroller/ChipStructs${{asUpperCamelCase cluster}}Cluster{{asUpperCamelCase type}}", {{asLowerCamelCase type}}StructClass_{{depth}});
37
- if (err != CHIP_NO_ERROR) {
38
- ChipLogError(Zcl, "Could not find class ChipStructs${{asUpperCamelCase cluster}}Cluster{{asUpperCamelCase type}}");
39
- return {{earlyReturn}};
40
- }
33
+ {
34
+ jclass {{asLowerCamelCase type}}StructClass_{{depth}};
35
+ err = chip::JniReferences::GetInstance().GetLocalClassRef(env, "chip/devicecontroller/ChipStructs${{asUpperCamelCase cluster}}Cluster{{asUpperCamelCase type}}", {{asLowerCamelCase type}}StructClass_{{depth}});
36
+ if (err != CHIP_NO_ERROR) {
37
+ ChipLogError(Zcl, "Could not find class ChipStructs${{asUpperCamelCase cluster}}Cluster{{asUpperCamelCase type}}");
38
+ return {{earlyReturn}};
39
+ }
41
40
42
- jmethodID {{asLowerCamelCase type}}StructCtor_{{depth}};
43
- err = chip::JniReferences::GetInstance().FindMethod(
44
- env, {{asLowerCamelCase type}}StructClass_{{depth}}, "<init>",
45
- "({{#zcl_struct_items_by_struct_and_cluster_name type cluster}}{{asJniSignature type null (asUpperCamelCase ../cluster) true}}{{/zcl_struct_items_by_struct_and_cluster_name}})V",
46
- &{{asLowerCamelCase type}}StructCtor_{{depth}});
47
- if (err != CHIP_NO_ERROR || {{asLowerCamelCase type}}StructCtor_{{depth}} == nullptr) {
48
- ChipLogError(Zcl, "Could not find ChipStructs${{asUpperCamelCase cluster}}Cluster{{asUpperCamelCase type}} constructor");
49
- return {{earlyReturn}};
50
- }
41
+ jmethodID {{asLowerCamelCase type}}StructCtor_{{depth}};
42
+ err = chip::JniReferences::GetInstance().FindMethod(
43
+ env, {{asLowerCamelCase type}}StructClass_{{depth}}, "<init>",
44
+ "({{#zcl_struct_items_by_struct_and_cluster_name type cluster}}{{asJniSignature type null (asUpperCamelCase ../cluster) true}}{{/zcl_struct_items_by_struct_and_cluster_name}})V",
45
+ &{{asLowerCamelCase type}}StructCtor_{{depth}});
46
+ if (err != CHIP_NO_ERROR || {{asLowerCamelCase type}}StructCtor_{{depth}} == nullptr) {
47
+ ChipLogError(Zcl, "Could not find ChipStructs${{asUpperCamelCase cluster}}Cluster{{asUpperCamelCase type}} constructor");
48
+ return {{earlyReturn}};
49
+ }
51
50
52
- {{target}} = env->NewObject({{asLowerCamelCase type}}StructClass_{{depth}}, {{asLowerCamelCase type}}StructCtor_{{depth}}
53
- {{#zcl_struct_items_by_struct_and_cluster_name type cluster}}
54
- , {{../target}}_{{asLowerCamelCase label}}
51
+ {{target}} = env->NewObject({{asLowerCamelCase type}}StructClass_{{depth}}, {{asLowerCamelCase type}}StructCtor_{{depth}}
52
+ {{#zcl_struct_items_by_struct_and_cluster_name type cluster}}
53
+ , {{../target}}_{{asLowerCamelCase label}}
55
54
{{/zcl_struct_items_by_struct_and_cluster_name}}
56
55
);
57
- }
56
+ }
57
+ {{else if_is_strongly_typed_chip_enum type}}
58
+ std::string {{target}}ClassName = "{{asJniClassName type null (asUpperCamelCase cluster)}}";
59
+ std::string {{target}}CtorSignature = "({{asJniSignature type null (asUpperCamelCase cluster) false}})V";
60
+ {{asJniBasicType type false}} jni{{target}} = static_cast<{{asJniBasicType type false}}>({{source}});
61
+ chip::JniReferences::GetInstance().CreateBoxedObject<{{asJniBasicType type false}}>({{target}}ClassName.c_str(), {{target}}CtorSignature.c_str(), jni{{target}}, {{target}});
62
+ {{else if (isOctetString type)}}
63
+ jbyteArray {{target}}ByteArray = env->NewByteArray(static_cast<jsize>({{source}}.size()));
64
+ env->SetByteArrayRegion({{target}}ByteArray, 0, static_cast<jsize>({{source}}.size()), reinterpret_cast<const jbyte *>({{source}}.data()));
65
+ {{target}} = {{target}}ByteArray;
66
+ {{else if (isCharString type)}}
67
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF({{source}}, {{target}}));
68
+ {{else}}
69
+ std::string {{target}}ClassName = "{{asJniClassName type null (asUpperCamelCase cluster)}}";
70
+ std::string {{target}}CtorSignature = "({{asJniSignature type null (asUpperCamelCase cluster) false}})V";
71
+ {{#if_is_strongly_typed_bitmap type}}
72
+ {{asJniBasicType type false}} jni{{target}} = static_cast<{{asJniBasicType type false}}>({{source}}.Raw());
73
+ chip::JniReferences::GetInstance().CreateBoxedObject<{{asJniBasicType type false}}>({{target}}ClassName.c_str(), {{target}}CtorSignature.c_str(), jni{{target}}, {{target}});
58
74
{{else}}
59
- {{#if_is_strongly_typed_chip_enum type}}
60
- std::string {{target}}ClassName = "{{asJniClassName type null (asUpperCamelCase cluster)}}";
61
- std::string {{target}}CtorSignature = "({{asJniSignature type null (asUpperCamelCase cluster) false}})V";
62
- {{asJniBasicType type false}} jni{{target}} = static_cast<{{asJniBasicType type false}}>({{source}});
63
- chip::JniReferences::GetInstance().CreateBoxedObject<{{asJniBasicType type false}}>({{target}}ClassName.c_str(), {{target}}CtorSignature.c_str(), jni{{target}}, {{target}});
64
- {{else}}
65
- {{#if (isOctetString type)}}
66
- jbyteArray {{target}}ByteArray = env->NewByteArray(static_cast<jsize>({{source}}.size()));
67
- env->SetByteArrayRegion({{target}}ByteArray, 0, static_cast<jsize>({{source}}.size()), reinterpret_cast<const jbyte *>({{source}}.data()));
68
- {{target}} = {{target}}ByteArray;
69
- {{else if (isCharString type)}}
70
- LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF({{source}}, {{target}}));
71
- {{else}}
72
- std::string {{target}}ClassName = "{{asJniClassName type null (asUpperCamelCase cluster)}}";
73
- std::string {{target}}CtorSignature = "({{asJniSignature type null (asUpperCamelCase cluster) false}})V";
74
- {{#if_is_strongly_typed_bitmap type}}
75
- {{asJniBasicType type false}} jni{{target}} = static_cast<{{asJniBasicType type false}}>({{source}}.Raw());
76
- chip::JniReferences::GetInstance().CreateBoxedObject<{{asJniBasicType type false}}>({{target}}ClassName.c_str(), {{target}}CtorSignature.c_str(), jni{{target}}, {{target}});
77
- {{else}}
78
- {{asJniBasicType type false}} jni{{target}} = static_cast<{{asJniBasicType type false}}>({{source}});
79
- chip::JniReferences::GetInstance().CreateBoxedObject<{{asJniBasicType type false}}>({{target}}ClassName.c_str(), {{target}}CtorSignature.c_str(), jni{{target}}, {{target}});
80
- {{/if_is_strongly_typed_bitmap}}
81
- {{/if}}
82
- {{/if_is_strongly_typed_chip_enum}}
83
- {{/if_is_struct}}
75
+ {{asJniBasicType type false}} jni{{target}} = static_cast<{{asJniBasicType type false}}>({{source}});
76
+ chip::JniReferences::GetInstance().CreateBoxedObject<{{asJniBasicType type false}}>({{target}}ClassName.c_str(), {{target}}CtorSignature.c_str(), jni{{target}}, {{target}});
77
+ {{/if_is_strongly_typed_bitmap}}
84
78
{{/if}}
0 commit comments