blob: 4db00a7efd0f5773b79e1b3d0a202b58c85c4aa3 [file] [log] [blame]
/*
*
* Copyright (c) 2022 Project CHIP Authors
* All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <controller/java/CHIPAttributeTLVValueDecoder.h>
#include <app-common/zap-generated/cluster-objects.h>
#include <app-common/zap-generated/ids/Clusters.h>
#include <app-common/zap-generated/ids/Events.h>
#include <app/data-model/DecodableList.h>
#include <app/data-model/Decode.h>
#include <jni.h>
#include <lib/support/JniReferences.h>
#include <lib/support/JniTypeWrappers.h>
#include <lib/support/TypeTraits.h>
namespace chip {
jobject DecodeEventValue(const app::ConcreteEventPath & aPath, TLV::TLVReader & aReader, CHIP_ERROR * aError)
{
JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread();
CHIP_ERROR err = CHIP_NO_ERROR;
switch (aPath.mClusterId)
{
case app::Clusters::Identify::Id: {
using namespace app::Clusters::Identify;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::Groups::Id: {
using namespace app::Clusters::Groups;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::OnOff::Id: {
using namespace app::Clusters::OnOff;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::OnOffSwitchConfiguration::Id: {
using namespace app::Clusters::OnOffSwitchConfiguration;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::LevelControl::Id: {
using namespace app::Clusters::LevelControl;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::BinaryInputBasic::Id: {
using namespace app::Clusters::BinaryInputBasic;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::PulseWidthModulation::Id: {
using namespace app::Clusters::PulseWidthModulation;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::Descriptor::Id: {
using namespace app::Clusters::Descriptor;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::Binding::Id: {
using namespace app::Clusters::Binding;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::AccessControl::Id: {
using namespace app::Clusters::AccessControl;
switch (aPath.mEventId)
{
case Events::AccessControlEntryChanged::Id: {
Events::AccessControlEntryChanged::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_adminNodeID;
if (cppValue.adminNodeID.IsNull())
{
value_adminNodeID = nullptr;
}
else
{
std::string value_adminNodeIDClassName = "java/lang/Long";
std::string value_adminNodeIDCtorSignature = "(J)V";
jlong jnivalue_adminNodeID = static_cast<jlong>(cppValue.adminNodeID.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_adminNodeIDClassName.c_str(),
value_adminNodeIDCtorSignature.c_str(),
jnivalue_adminNodeID, value_adminNodeID);
}
jobject value_adminPasscodeID;
if (cppValue.adminPasscodeID.IsNull())
{
value_adminPasscodeID = nullptr;
}
else
{
std::string value_adminPasscodeIDClassName = "java/lang/Integer";
std::string value_adminPasscodeIDCtorSignature = "(I)V";
jint jnivalue_adminPasscodeID = static_cast<jint>(cppValue.adminPasscodeID.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_adminPasscodeIDClassName.c_str(),
value_adminPasscodeIDCtorSignature.c_str(),
jnivalue_adminPasscodeID, value_adminPasscodeID);
}
jobject value_changeType;
std::string value_changeTypeClassName = "java/lang/Integer";
std::string value_changeTypeCtorSignature = "(I)V";
jint jnivalue_changeType = static_cast<jint>(cppValue.changeType);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_changeTypeClassName.c_str(), value_changeTypeCtorSignature.c_str(), jnivalue_changeType, value_changeType);
jobject value_latestValue;
if (cppValue.latestValue.IsNull())
{
value_latestValue = nullptr;
}
else
{
jobject value_latestValue_privilege;
std::string value_latestValue_privilegeClassName = "java/lang/Integer";
std::string value_latestValue_privilegeCtorSignature = "(I)V";
jint jnivalue_latestValue_privilege = static_cast<jint>(cppValue.latestValue.Value().privilege);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_latestValue_privilegeClassName.c_str(), value_latestValue_privilegeCtorSignature.c_str(),
jnivalue_latestValue_privilege, value_latestValue_privilege);
jobject value_latestValue_authMode;
std::string value_latestValue_authModeClassName = "java/lang/Integer";
std::string value_latestValue_authModeCtorSignature = "(I)V";
jint jnivalue_latestValue_authMode = static_cast<jint>(cppValue.latestValue.Value().authMode);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_latestValue_authModeClassName.c_str(), value_latestValue_authModeCtorSignature.c_str(),
jnivalue_latestValue_authMode, value_latestValue_authMode);
jobject value_latestValue_subjects;
if (cppValue.latestValue.Value().subjects.IsNull())
{
value_latestValue_subjects = nullptr;
}
else
{
chip::JniReferences::GetInstance().CreateArrayList(value_latestValue_subjects);
auto iter_value_latestValue_subjects_3 = cppValue.latestValue.Value().subjects.Value().begin();
while (iter_value_latestValue_subjects_3.Next())
{
auto & entry_3 = iter_value_latestValue_subjects_3.GetValue();
jobject newElement_3;
std::string newElement_3ClassName = "java/lang/Long";
std::string newElement_3CtorSignature = "(J)V";
jlong jninewElement_3 = static_cast<jlong>(entry_3);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
newElement_3ClassName.c_str(), newElement_3CtorSignature.c_str(), jninewElement_3, newElement_3);
chip::JniReferences::GetInstance().AddToList(value_latestValue_subjects, newElement_3);
}
}
jobject value_latestValue_targets;
if (cppValue.latestValue.Value().targets.IsNull())
{
value_latestValue_targets = nullptr;
}
else
{
chip::JniReferences::GetInstance().CreateArrayList(value_latestValue_targets);
auto iter_value_latestValue_targets_3 = cppValue.latestValue.Value().targets.Value().begin();
while (iter_value_latestValue_targets_3.Next())
{
auto & entry_3 = iter_value_latestValue_targets_3.GetValue();
jobject newElement_3;
jobject newElement_3_cluster;
if (entry_3.cluster.IsNull())
{
newElement_3_cluster = nullptr;
}
else
{
std::string newElement_3_clusterClassName = "java/lang/Long";
std::string newElement_3_clusterCtorSignature = "(J)V";
jlong jninewElement_3_cluster = static_cast<jlong>(entry_3.cluster.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
newElement_3_clusterClassName.c_str(), newElement_3_clusterCtorSignature.c_str(),
jninewElement_3_cluster, newElement_3_cluster);
}
jobject newElement_3_endpoint;
if (entry_3.endpoint.IsNull())
{
newElement_3_endpoint = nullptr;
}
else
{
std::string newElement_3_endpointClassName = "java/lang/Integer";
std::string newElement_3_endpointCtorSignature = "(I)V";
jint jninewElement_3_endpoint = static_cast<jint>(entry_3.endpoint.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_3_endpointClassName.c_str(), newElement_3_endpointCtorSignature.c_str(),
jninewElement_3_endpoint, newElement_3_endpoint);
}
jobject newElement_3_deviceType;
if (entry_3.deviceType.IsNull())
{
newElement_3_deviceType = nullptr;
}
else
{
std::string newElement_3_deviceTypeClassName = "java/lang/Long";
std::string newElement_3_deviceTypeCtorSignature = "(J)V";
jlong jninewElement_3_deviceType = static_cast<jlong>(entry_3.deviceType.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
newElement_3_deviceTypeClassName.c_str(), newElement_3_deviceTypeCtorSignature.c_str(),
jninewElement_3_deviceType, newElement_3_deviceType);
}
jclass accessControlTargetStructStructClass_4;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$AccessControlClusterAccessControlTargetStruct",
accessControlTargetStructStructClass_4);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipStructs$AccessControlClusterAccessControlTargetStruct");
return nullptr;
}
jmethodID accessControlTargetStructStructCtor_4;
err = chip::JniReferences::GetInstance().FindMethod(
env, accessControlTargetStructStructClass_4, "<init>",
"(Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Long;)V", &accessControlTargetStructStructCtor_4);
if (err != CHIP_NO_ERROR || accessControlTargetStructStructCtor_4 == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipStructs$AccessControlClusterAccessControlTargetStruct constructor");
return nullptr;
}
newElement_3 = env->NewObject(accessControlTargetStructStructClass_4, accessControlTargetStructStructCtor_4,
newElement_3_cluster, newElement_3_endpoint, newElement_3_deviceType);
chip::JniReferences::GetInstance().AddToList(value_latestValue_targets, newElement_3);
}
}
jobject value_latestValue_fabricIndex;
std::string value_latestValue_fabricIndexClassName = "java/lang/Integer";
std::string value_latestValue_fabricIndexCtorSignature = "(I)V";
jint jnivalue_latestValue_fabricIndex = static_cast<jint>(cppValue.latestValue.Value().fabricIndex);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_latestValue_fabricIndexClassName.c_str(), value_latestValue_fabricIndexCtorSignature.c_str(),
jnivalue_latestValue_fabricIndex, value_latestValue_fabricIndex);
jclass accessControlEntryStructStructClass_1;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$AccessControlClusterAccessControlEntryStruct",
accessControlEntryStructStructClass_1);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipStructs$AccessControlClusterAccessControlEntryStruct");
return nullptr;
}
jmethodID accessControlEntryStructStructCtor_1;
err = chip::JniReferences::GetInstance().FindMethod(
env, accessControlEntryStructStructClass_1, "<init>",
"(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/lang/Integer;)V",
&accessControlEntryStructStructCtor_1);
if (err != CHIP_NO_ERROR || accessControlEntryStructStructCtor_1 == nullptr)
{
ChipLogError(Zcl, "Could not find ChipStructs$AccessControlClusterAccessControlEntryStruct constructor");
return nullptr;
}
value_latestValue =
env->NewObject(accessControlEntryStructStructClass_1, accessControlEntryStructStructCtor_1,
value_latestValue_privilege, value_latestValue_authMode, value_latestValue_subjects,
value_latestValue_targets, value_latestValue_fabricIndex);
}
jobject value_fabricIndex;
std::string value_fabricIndexClassName = "java/lang/Integer";
std::string value_fabricIndexCtorSignature = "(I)V";
jint jnivalue_fabricIndex = static_cast<jint>(cppValue.fabricIndex);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_fabricIndexClassName.c_str(),
value_fabricIndexCtorSignature.c_str(), jnivalue_fabricIndex,
value_fabricIndex);
jclass accessControlEntryChangedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$AccessControlClusterAccessControlEntryChangedEvent",
accessControlEntryChangedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$AccessControlClusterAccessControlEntryChangedEvent");
return nullptr;
}
jmethodID accessControlEntryChangedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, accessControlEntryChangedStructClass, "<init>",
"(Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Lchip/devicecontroller/"
"ChipStructs$AccessControlClusterAccessControlEntryStruct;Ljava/lang/Integer;)V",
&accessControlEntryChangedStructCtor);
if (err != CHIP_NO_ERROR || accessControlEntryChangedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$AccessControlClusterAccessControlEntryChangedEvent constructor");
return nullptr;
}
jobject value =
env->NewObject(accessControlEntryChangedStructClass, accessControlEntryChangedStructCtor, value_adminNodeID,
value_adminPasscodeID, value_changeType, value_latestValue, value_fabricIndex);
return value;
}
case Events::AccessControlExtensionChanged::Id: {
Events::AccessControlExtensionChanged::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_adminNodeID;
if (cppValue.adminNodeID.IsNull())
{
value_adminNodeID = nullptr;
}
else
{
std::string value_adminNodeIDClassName = "java/lang/Long";
std::string value_adminNodeIDCtorSignature = "(J)V";
jlong jnivalue_adminNodeID = static_cast<jlong>(cppValue.adminNodeID.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_adminNodeIDClassName.c_str(),
value_adminNodeIDCtorSignature.c_str(),
jnivalue_adminNodeID, value_adminNodeID);
}
jobject value_adminPasscodeID;
if (cppValue.adminPasscodeID.IsNull())
{
value_adminPasscodeID = nullptr;
}
else
{
std::string value_adminPasscodeIDClassName = "java/lang/Integer";
std::string value_adminPasscodeIDCtorSignature = "(I)V";
jint jnivalue_adminPasscodeID = static_cast<jint>(cppValue.adminPasscodeID.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_adminPasscodeIDClassName.c_str(),
value_adminPasscodeIDCtorSignature.c_str(),
jnivalue_adminPasscodeID, value_adminPasscodeID);
}
jobject value_changeType;
std::string value_changeTypeClassName = "java/lang/Integer";
std::string value_changeTypeCtorSignature = "(I)V";
jint jnivalue_changeType = static_cast<jint>(cppValue.changeType);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_changeTypeClassName.c_str(), value_changeTypeCtorSignature.c_str(), jnivalue_changeType, value_changeType);
jobject value_latestValue;
if (cppValue.latestValue.IsNull())
{
value_latestValue = nullptr;
}
else
{
jobject value_latestValue_data;
jbyteArray value_latestValue_dataByteArray =
env->NewByteArray(static_cast<jsize>(cppValue.latestValue.Value().data.size()));
env->SetByteArrayRegion(value_latestValue_dataByteArray, 0,
static_cast<jsize>(cppValue.latestValue.Value().data.size()),
reinterpret_cast<const jbyte *>(cppValue.latestValue.Value().data.data()));
value_latestValue_data = value_latestValue_dataByteArray;
jobject value_latestValue_fabricIndex;
std::string value_latestValue_fabricIndexClassName = "java/lang/Integer";
std::string value_latestValue_fabricIndexCtorSignature = "(I)V";
jint jnivalue_latestValue_fabricIndex = static_cast<jint>(cppValue.latestValue.Value().fabricIndex);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_latestValue_fabricIndexClassName.c_str(), value_latestValue_fabricIndexCtorSignature.c_str(),
jnivalue_latestValue_fabricIndex, value_latestValue_fabricIndex);
jclass accessControlExtensionStructStructClass_1;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$AccessControlClusterAccessControlExtensionStruct",
accessControlExtensionStructStructClass_1);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipStructs$AccessControlClusterAccessControlExtensionStruct");
return nullptr;
}
jmethodID accessControlExtensionStructStructCtor_1;
err = chip::JniReferences::GetInstance().FindMethod(env, accessControlExtensionStructStructClass_1, "<init>",
"([BLjava/lang/Integer;)V",
&accessControlExtensionStructStructCtor_1);
if (err != CHIP_NO_ERROR || accessControlExtensionStructStructCtor_1 == nullptr)
{
ChipLogError(Zcl, "Could not find ChipStructs$AccessControlClusterAccessControlExtensionStruct constructor");
return nullptr;
}
value_latestValue =
env->NewObject(accessControlExtensionStructStructClass_1, accessControlExtensionStructStructCtor_1,
value_latestValue_data, value_latestValue_fabricIndex);
}
jobject value_fabricIndex;
std::string value_fabricIndexClassName = "java/lang/Integer";
std::string value_fabricIndexCtorSignature = "(I)V";
jint jnivalue_fabricIndex = static_cast<jint>(cppValue.fabricIndex);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_fabricIndexClassName.c_str(),
value_fabricIndexCtorSignature.c_str(), jnivalue_fabricIndex,
value_fabricIndex);
jclass accessControlExtensionChangedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$AccessControlClusterAccessControlExtensionChangedEvent",
accessControlExtensionChangedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$AccessControlClusterAccessControlExtensionChangedEvent");
return nullptr;
}
jmethodID accessControlExtensionChangedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, accessControlExtensionChangedStructClass, "<init>",
"(Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Lchip/devicecontroller/"
"ChipStructs$AccessControlClusterAccessControlExtensionStruct;Ljava/lang/Integer;)V",
&accessControlExtensionChangedStructCtor);
if (err != CHIP_NO_ERROR || accessControlExtensionChangedStructCtor == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipEventStructs$AccessControlClusterAccessControlExtensionChangedEvent constructor");
return nullptr;
}
jobject value =
env->NewObject(accessControlExtensionChangedStructClass, accessControlExtensionChangedStructCtor, value_adminNodeID,
value_adminPasscodeID, value_changeType, value_latestValue, value_fabricIndex);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::Actions::Id: {
using namespace app::Clusters::Actions;
switch (aPath.mEventId)
{
case Events::StateChanged::Id: {
Events::StateChanged::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_actionID;
std::string value_actionIDClassName = "java/lang/Integer";
std::string value_actionIDCtorSignature = "(I)V";
jint jnivalue_actionID = static_cast<jint>(cppValue.actionID);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_actionIDClassName.c_str(), value_actionIDCtorSignature.c_str(), jnivalue_actionID, value_actionID);
jobject value_invokeID;
std::string value_invokeIDClassName = "java/lang/Long";
std::string value_invokeIDCtorSignature = "(J)V";
jlong jnivalue_invokeID = static_cast<jlong>(cppValue.invokeID);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_invokeIDClassName.c_str(), value_invokeIDCtorSignature.c_str(), jnivalue_invokeID, value_invokeID);
jobject value_newState;
std::string value_newStateClassName = "java/lang/Integer";
std::string value_newStateCtorSignature = "(I)V";
jint jnivalue_newState = static_cast<jint>(cppValue.newState);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_newStateClassName.c_str(), value_newStateCtorSignature.c_str(), jnivalue_newState, value_newState);
jclass stateChangedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$ActionsClusterStateChangedEvent", stateChangedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$ActionsClusterStateChangedEvent");
return nullptr;
}
jmethodID stateChangedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, stateChangedStructClass, "<init>",
"(Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Integer;)V",
&stateChangedStructCtor);
if (err != CHIP_NO_ERROR || stateChangedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$ActionsClusterStateChangedEvent constructor");
return nullptr;
}
jobject value =
env->NewObject(stateChangedStructClass, stateChangedStructCtor, value_actionID, value_invokeID, value_newState);
return value;
}
case Events::ActionFailed::Id: {
Events::ActionFailed::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_actionID;
std::string value_actionIDClassName = "java/lang/Integer";
std::string value_actionIDCtorSignature = "(I)V";
jint jnivalue_actionID = static_cast<jint>(cppValue.actionID);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_actionIDClassName.c_str(), value_actionIDCtorSignature.c_str(), jnivalue_actionID, value_actionID);
jobject value_invokeID;
std::string value_invokeIDClassName = "java/lang/Long";
std::string value_invokeIDCtorSignature = "(J)V";
jlong jnivalue_invokeID = static_cast<jlong>(cppValue.invokeID);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_invokeIDClassName.c_str(), value_invokeIDCtorSignature.c_str(), jnivalue_invokeID, value_invokeID);
jobject value_newState;
std::string value_newStateClassName = "java/lang/Integer";
std::string value_newStateCtorSignature = "(I)V";
jint jnivalue_newState = static_cast<jint>(cppValue.newState);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_newStateClassName.c_str(), value_newStateCtorSignature.c_str(), jnivalue_newState, value_newState);
jobject value_error;
std::string value_errorClassName = "java/lang/Integer";
std::string value_errorCtorSignature = "(I)V";
jint jnivalue_error = static_cast<jint>(cppValue.error);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_errorClassName.c_str(), value_errorCtorSignature.c_str(), jnivalue_error, value_error);
jclass actionFailedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$ActionsClusterActionFailedEvent", actionFailedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$ActionsClusterActionFailedEvent");
return nullptr;
}
jmethodID actionFailedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, actionFailedStructClass, "<init>",
"(Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;)V", &actionFailedStructCtor);
if (err != CHIP_NO_ERROR || actionFailedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$ActionsClusterActionFailedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(actionFailedStructClass, actionFailedStructCtor, value_actionID, value_invokeID,
value_newState, value_error);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::BasicInformation::Id: {
using namespace app::Clusters::BasicInformation;
switch (aPath.mEventId)
{
case Events::StartUp::Id: {
Events::StartUp::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_softwareVersion;
std::string value_softwareVersionClassName = "java/lang/Long";
std::string value_softwareVersionCtorSignature = "(J)V";
jlong jnivalue_softwareVersion = static_cast<jlong>(cppValue.softwareVersion);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_softwareVersionClassName.c_str(),
value_softwareVersionCtorSignature.c_str(),
jnivalue_softwareVersion, value_softwareVersion);
jclass startUpStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$BasicInformationClusterStartUpEvent", startUpStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$BasicInformationClusterStartUpEvent");
return nullptr;
}
jmethodID startUpStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, startUpStructClass, "<init>", "(Ljava/lang/Long;)V",
&startUpStructCtor);
if (err != CHIP_NO_ERROR || startUpStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$BasicInformationClusterStartUpEvent constructor");
return nullptr;
}
jobject value = env->NewObject(startUpStructClass, startUpStructCtor, value_softwareVersion);
return value;
}
case Events::ShutDown::Id: {
Events::ShutDown::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass shutDownStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$BasicInformationClusterShutDownEvent", shutDownStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$BasicInformationClusterShutDownEvent");
return nullptr;
}
jmethodID shutDownStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, shutDownStructClass, "<init>", "()V", &shutDownStructCtor);
if (err != CHIP_NO_ERROR || shutDownStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$BasicInformationClusterShutDownEvent constructor");
return nullptr;
}
jobject value = env->NewObject(shutDownStructClass, shutDownStructCtor);
return value;
}
case Events::Leave::Id: {
Events::Leave::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_fabricIndex;
std::string value_fabricIndexClassName = "java/lang/Integer";
std::string value_fabricIndexCtorSignature = "(I)V";
jint jnivalue_fabricIndex = static_cast<jint>(cppValue.fabricIndex);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_fabricIndexClassName.c_str(),
value_fabricIndexCtorSignature.c_str(), jnivalue_fabricIndex,
value_fabricIndex);
jclass leaveStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$BasicInformationClusterLeaveEvent", leaveStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$BasicInformationClusterLeaveEvent");
return nullptr;
}
jmethodID leaveStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, leaveStructClass, "<init>", "(Ljava/lang/Integer;)V",
&leaveStructCtor);
if (err != CHIP_NO_ERROR || leaveStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$BasicInformationClusterLeaveEvent constructor");
return nullptr;
}
jobject value = env->NewObject(leaveStructClass, leaveStructCtor, value_fabricIndex);
return value;
}
case Events::ReachableChanged::Id: {
Events::ReachableChanged::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_reachableNewValue;
std::string value_reachableNewValueClassName = "java/lang/Boolean";
std::string value_reachableNewValueCtorSignature = "(Z)V";
jboolean jnivalue_reachableNewValue = static_cast<jboolean>(cppValue.reachableNewValue);
chip::JniReferences::GetInstance().CreateBoxedObject<jboolean>(value_reachableNewValueClassName.c_str(),
value_reachableNewValueCtorSignature.c_str(),
jnivalue_reachableNewValue, value_reachableNewValue);
jclass reachableChangedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$BasicInformationClusterReachableChangedEvent",
reachableChangedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$BasicInformationClusterReachableChangedEvent");
return nullptr;
}
jmethodID reachableChangedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, reachableChangedStructClass, "<init>",
"(Ljava/lang/Boolean;)V", &reachableChangedStructCtor);
if (err != CHIP_NO_ERROR || reachableChangedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$BasicInformationClusterReachableChangedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(reachableChangedStructClass, reachableChangedStructCtor, value_reachableNewValue);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::OtaSoftwareUpdateProvider::Id: {
using namespace app::Clusters::OtaSoftwareUpdateProvider;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::OtaSoftwareUpdateRequestor::Id: {
using namespace app::Clusters::OtaSoftwareUpdateRequestor;
switch (aPath.mEventId)
{
case Events::StateTransition::Id: {
Events::StateTransition::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_previousState;
std::string value_previousStateClassName = "java/lang/Integer";
std::string value_previousStateCtorSignature = "(I)V";
jint jnivalue_previousState = static_cast<jint>(cppValue.previousState);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_previousStateClassName.c_str(),
value_previousStateCtorSignature.c_str(),
jnivalue_previousState, value_previousState);
jobject value_newState;
std::string value_newStateClassName = "java/lang/Integer";
std::string value_newStateCtorSignature = "(I)V";
jint jnivalue_newState = static_cast<jint>(cppValue.newState);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_newStateClassName.c_str(), value_newStateCtorSignature.c_str(), jnivalue_newState, value_newState);
jobject value_reason;
std::string value_reasonClassName = "java/lang/Integer";
std::string value_reasonCtorSignature = "(I)V";
jint jnivalue_reason = static_cast<jint>(cppValue.reason);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_reasonClassName.c_str(), value_reasonCtorSignature.c_str(), jnivalue_reason, value_reason);
jobject value_targetSoftwareVersion;
if (cppValue.targetSoftwareVersion.IsNull())
{
value_targetSoftwareVersion = nullptr;
}
else
{
std::string value_targetSoftwareVersionClassName = "java/lang/Long";
std::string value_targetSoftwareVersionCtorSignature = "(J)V";
jlong jnivalue_targetSoftwareVersion = static_cast<jlong>(cppValue.targetSoftwareVersion.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_targetSoftwareVersionClassName.c_str(), value_targetSoftwareVersionCtorSignature.c_str(),
jnivalue_targetSoftwareVersion, value_targetSoftwareVersion);
}
jclass stateTransitionStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$OtaSoftwareUpdateRequestorClusterStateTransitionEvent",
stateTransitionStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$OtaSoftwareUpdateRequestorClusterStateTransitionEvent");
return nullptr;
}
jmethodID stateTransitionStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, stateTransitionStructClass, "<init>",
"(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Long;)V", &stateTransitionStructCtor);
if (err != CHIP_NO_ERROR || stateTransitionStructCtor == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipEventStructs$OtaSoftwareUpdateRequestorClusterStateTransitionEvent constructor");
return nullptr;
}
jobject value = env->NewObject(stateTransitionStructClass, stateTransitionStructCtor, value_previousState,
value_newState, value_reason, value_targetSoftwareVersion);
return value;
}
case Events::VersionApplied::Id: {
Events::VersionApplied::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_softwareVersion;
std::string value_softwareVersionClassName = "java/lang/Long";
std::string value_softwareVersionCtorSignature = "(J)V";
jlong jnivalue_softwareVersion = static_cast<jlong>(cppValue.softwareVersion);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_softwareVersionClassName.c_str(),
value_softwareVersionCtorSignature.c_str(),
jnivalue_softwareVersion, value_softwareVersion);
jobject value_productID;
std::string value_productIDClassName = "java/lang/Integer";
std::string value_productIDCtorSignature = "(I)V";
jint jnivalue_productID = static_cast<jint>(cppValue.productID);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_productIDClassName.c_str(), value_productIDCtorSignature.c_str(), jnivalue_productID, value_productID);
jclass versionAppliedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$OtaSoftwareUpdateRequestorClusterVersionAppliedEvent",
versionAppliedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$OtaSoftwareUpdateRequestorClusterVersionAppliedEvent");
return nullptr;
}
jmethodID versionAppliedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, versionAppliedStructClass, "<init>", "(Ljava/lang/Long;Ljava/lang/Integer;)V", &versionAppliedStructCtor);
if (err != CHIP_NO_ERROR || versionAppliedStructCtor == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipEventStructs$OtaSoftwareUpdateRequestorClusterVersionAppliedEvent constructor");
return nullptr;
}
jobject value =
env->NewObject(versionAppliedStructClass, versionAppliedStructCtor, value_softwareVersion, value_productID);
return value;
}
case Events::DownloadError::Id: {
Events::DownloadError::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_softwareVersion;
std::string value_softwareVersionClassName = "java/lang/Long";
std::string value_softwareVersionCtorSignature = "(J)V";
jlong jnivalue_softwareVersion = static_cast<jlong>(cppValue.softwareVersion);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_softwareVersionClassName.c_str(),
value_softwareVersionCtorSignature.c_str(),
jnivalue_softwareVersion, value_softwareVersion);
jobject value_bytesDownloaded;
std::string value_bytesDownloadedClassName = "java/lang/Long";
std::string value_bytesDownloadedCtorSignature = "(J)V";
jlong jnivalue_bytesDownloaded = static_cast<jlong>(cppValue.bytesDownloaded);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_bytesDownloadedClassName.c_str(),
value_bytesDownloadedCtorSignature.c_str(),
jnivalue_bytesDownloaded, value_bytesDownloaded);
jobject value_progressPercent;
if (cppValue.progressPercent.IsNull())
{
value_progressPercent = nullptr;
}
else
{
std::string value_progressPercentClassName = "java/lang/Integer";
std::string value_progressPercentCtorSignature = "(I)V";
jint jnivalue_progressPercent = static_cast<jint>(cppValue.progressPercent.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_progressPercentClassName.c_str(),
value_progressPercentCtorSignature.c_str(),
jnivalue_progressPercent, value_progressPercent);
}
jobject value_platformCode;
if (cppValue.platformCode.IsNull())
{
value_platformCode = nullptr;
}
else
{
std::string value_platformCodeClassName = "java/lang/Long";
std::string value_platformCodeCtorSignature = "(J)V";
jlong jnivalue_platformCode = static_cast<jlong>(cppValue.platformCode.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_platformCodeClassName.c_str(),
value_platformCodeCtorSignature.c_str(),
jnivalue_platformCode, value_platformCode);
}
jclass downloadErrorStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$OtaSoftwareUpdateRequestorClusterDownloadErrorEvent",
downloadErrorStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$OtaSoftwareUpdateRequestorClusterDownloadErrorEvent");
return nullptr;
}
jmethodID downloadErrorStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, downloadErrorStructClass, "<init>", "(Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Long;)V",
&downloadErrorStructCtor);
if (err != CHIP_NO_ERROR || downloadErrorStructCtor == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipEventStructs$OtaSoftwareUpdateRequestorClusterDownloadErrorEvent constructor");
return nullptr;
}
jobject value = env->NewObject(downloadErrorStructClass, downloadErrorStructCtor, value_softwareVersion,
value_bytesDownloaded, value_progressPercent, value_platformCode);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::LocalizationConfiguration::Id: {
using namespace app::Clusters::LocalizationConfiguration;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::TimeFormatLocalization::Id: {
using namespace app::Clusters::TimeFormatLocalization;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::UnitLocalization::Id: {
using namespace app::Clusters::UnitLocalization;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::PowerSourceConfiguration::Id: {
using namespace app::Clusters::PowerSourceConfiguration;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::PowerSource::Id: {
using namespace app::Clusters::PowerSource;
switch (aPath.mEventId)
{
case Events::WiredFaultChange::Id: {
Events::WiredFaultChange::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_current;
chip::JniReferences::GetInstance().CreateArrayList(value_current);
auto iter_value_current_0 = cppValue.current.begin();
while (iter_value_current_0.Next())
{
auto & entry_0 = iter_value_current_0.GetValue();
jobject newElement_0;
std::string newElement_0ClassName = "java/lang/Integer";
std::string newElement_0CtorSignature = "(I)V";
jint jninewElement_0 = static_cast<jint>(entry_0);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0);
chip::JniReferences::GetInstance().AddToList(value_current, newElement_0);
}
jobject value_previous;
chip::JniReferences::GetInstance().CreateArrayList(value_previous);
auto iter_value_previous_0 = cppValue.previous.begin();
while (iter_value_previous_0.Next())
{
auto & entry_0 = iter_value_previous_0.GetValue();
jobject newElement_0;
std::string newElement_0ClassName = "java/lang/Integer";
std::string newElement_0CtorSignature = "(I)V";
jint jninewElement_0 = static_cast<jint>(entry_0);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0);
chip::JniReferences::GetInstance().AddToList(value_previous, newElement_0);
}
jclass wiredFaultChangeStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PowerSourceClusterWiredFaultChangeEvent", wiredFaultChangeStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$PowerSourceClusterWiredFaultChangeEvent");
return nullptr;
}
jmethodID wiredFaultChangeStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, wiredFaultChangeStructClass, "<init>",
"(Ljava/util/ArrayList;Ljava/util/ArrayList;)V",
&wiredFaultChangeStructCtor);
if (err != CHIP_NO_ERROR || wiredFaultChangeStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$PowerSourceClusterWiredFaultChangeEvent constructor");
return nullptr;
}
jobject value = env->NewObject(wiredFaultChangeStructClass, wiredFaultChangeStructCtor, value_current, value_previous);
return value;
}
case Events::BatFaultChange::Id: {
Events::BatFaultChange::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_current;
chip::JniReferences::GetInstance().CreateArrayList(value_current);
auto iter_value_current_0 = cppValue.current.begin();
while (iter_value_current_0.Next())
{
auto & entry_0 = iter_value_current_0.GetValue();
jobject newElement_0;
std::string newElement_0ClassName = "java/lang/Integer";
std::string newElement_0CtorSignature = "(I)V";
jint jninewElement_0 = static_cast<jint>(entry_0);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0);
chip::JniReferences::GetInstance().AddToList(value_current, newElement_0);
}
jobject value_previous;
chip::JniReferences::GetInstance().CreateArrayList(value_previous);
auto iter_value_previous_0 = cppValue.previous.begin();
while (iter_value_previous_0.Next())
{
auto & entry_0 = iter_value_previous_0.GetValue();
jobject newElement_0;
std::string newElement_0ClassName = "java/lang/Integer";
std::string newElement_0CtorSignature = "(I)V";
jint jninewElement_0 = static_cast<jint>(entry_0);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0);
chip::JniReferences::GetInstance().AddToList(value_previous, newElement_0);
}
jclass batFaultChangeStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PowerSourceClusterBatFaultChangeEvent", batFaultChangeStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$PowerSourceClusterBatFaultChangeEvent");
return nullptr;
}
jmethodID batFaultChangeStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, batFaultChangeStructClass, "<init>",
"(Ljava/util/ArrayList;Ljava/util/ArrayList;)V",
&batFaultChangeStructCtor);
if (err != CHIP_NO_ERROR || batFaultChangeStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$PowerSourceClusterBatFaultChangeEvent constructor");
return nullptr;
}
jobject value = env->NewObject(batFaultChangeStructClass, batFaultChangeStructCtor, value_current, value_previous);
return value;
}
case Events::BatChargeFaultChange::Id: {
Events::BatChargeFaultChange::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_current;
chip::JniReferences::GetInstance().CreateArrayList(value_current);
auto iter_value_current_0 = cppValue.current.begin();
while (iter_value_current_0.Next())
{
auto & entry_0 = iter_value_current_0.GetValue();
jobject newElement_0;
std::string newElement_0ClassName = "java/lang/Integer";
std::string newElement_0CtorSignature = "(I)V";
jint jninewElement_0 = static_cast<jint>(entry_0);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0);
chip::JniReferences::GetInstance().AddToList(value_current, newElement_0);
}
jobject value_previous;
chip::JniReferences::GetInstance().CreateArrayList(value_previous);
auto iter_value_previous_0 = cppValue.previous.begin();
while (iter_value_previous_0.Next())
{
auto & entry_0 = iter_value_previous_0.GetValue();
jobject newElement_0;
std::string newElement_0ClassName = "java/lang/Integer";
std::string newElement_0CtorSignature = "(I)V";
jint jninewElement_0 = static_cast<jint>(entry_0);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0);
chip::JniReferences::GetInstance().AddToList(value_previous, newElement_0);
}
jclass batChargeFaultChangeStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PowerSourceClusterBatChargeFaultChangeEvent",
batChargeFaultChangeStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$PowerSourceClusterBatChargeFaultChangeEvent");
return nullptr;
}
jmethodID batChargeFaultChangeStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, batChargeFaultChangeStructClass, "<init>",
"(Ljava/util/ArrayList;Ljava/util/ArrayList;)V",
&batChargeFaultChangeStructCtor);
if (err != CHIP_NO_ERROR || batChargeFaultChangeStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$PowerSourceClusterBatChargeFaultChangeEvent constructor");
return nullptr;
}
jobject value =
env->NewObject(batChargeFaultChangeStructClass, batChargeFaultChangeStructCtor, value_current, value_previous);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::GeneralCommissioning::Id: {
using namespace app::Clusters::GeneralCommissioning;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::NetworkCommissioning::Id: {
using namespace app::Clusters::NetworkCommissioning;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::DiagnosticLogs::Id: {
using namespace app::Clusters::DiagnosticLogs;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::GeneralDiagnostics::Id: {
using namespace app::Clusters::GeneralDiagnostics;
switch (aPath.mEventId)
{
case Events::HardwareFaultChange::Id: {
Events::HardwareFaultChange::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_current;
chip::JniReferences::GetInstance().CreateArrayList(value_current);
auto iter_value_current_0 = cppValue.current.begin();
while (iter_value_current_0.Next())
{
auto & entry_0 = iter_value_current_0.GetValue();
jobject newElement_0;
std::string newElement_0ClassName = "java/lang/Integer";
std::string newElement_0CtorSignature = "(I)V";
jint jninewElement_0 = static_cast<jint>(entry_0);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0);
chip::JniReferences::GetInstance().AddToList(value_current, newElement_0);
}
jobject value_previous;
chip::JniReferences::GetInstance().CreateArrayList(value_previous);
auto iter_value_previous_0 = cppValue.previous.begin();
while (iter_value_previous_0.Next())
{
auto & entry_0 = iter_value_previous_0.GetValue();
jobject newElement_0;
std::string newElement_0ClassName = "java/lang/Integer";
std::string newElement_0CtorSignature = "(I)V";
jint jninewElement_0 = static_cast<jint>(entry_0);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0);
chip::JniReferences::GetInstance().AddToList(value_previous, newElement_0);
}
jclass hardwareFaultChangeStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$GeneralDiagnosticsClusterHardwareFaultChangeEvent",
hardwareFaultChangeStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$GeneralDiagnosticsClusterHardwareFaultChangeEvent");
return nullptr;
}
jmethodID hardwareFaultChangeStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, hardwareFaultChangeStructClass, "<init>",
"(Ljava/util/ArrayList;Ljava/util/ArrayList;)V",
&hardwareFaultChangeStructCtor);
if (err != CHIP_NO_ERROR || hardwareFaultChangeStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$GeneralDiagnosticsClusterHardwareFaultChangeEvent constructor");
return nullptr;
}
jobject value =
env->NewObject(hardwareFaultChangeStructClass, hardwareFaultChangeStructCtor, value_current, value_previous);
return value;
}
case Events::RadioFaultChange::Id: {
Events::RadioFaultChange::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_current;
chip::JniReferences::GetInstance().CreateArrayList(value_current);
auto iter_value_current_0 = cppValue.current.begin();
while (iter_value_current_0.Next())
{
auto & entry_0 = iter_value_current_0.GetValue();
jobject newElement_0;
std::string newElement_0ClassName = "java/lang/Integer";
std::string newElement_0CtorSignature = "(I)V";
jint jninewElement_0 = static_cast<jint>(entry_0);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0);
chip::JniReferences::GetInstance().AddToList(value_current, newElement_0);
}
jobject value_previous;
chip::JniReferences::GetInstance().CreateArrayList(value_previous);
auto iter_value_previous_0 = cppValue.previous.begin();
while (iter_value_previous_0.Next())
{
auto & entry_0 = iter_value_previous_0.GetValue();
jobject newElement_0;
std::string newElement_0ClassName = "java/lang/Integer";
std::string newElement_0CtorSignature = "(I)V";
jint jninewElement_0 = static_cast<jint>(entry_0);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0);
chip::JniReferences::GetInstance().AddToList(value_previous, newElement_0);
}
jclass radioFaultChangeStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$GeneralDiagnosticsClusterRadioFaultChangeEvent",
radioFaultChangeStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$GeneralDiagnosticsClusterRadioFaultChangeEvent");
return nullptr;
}
jmethodID radioFaultChangeStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, radioFaultChangeStructClass, "<init>",
"(Ljava/util/ArrayList;Ljava/util/ArrayList;)V",
&radioFaultChangeStructCtor);
if (err != CHIP_NO_ERROR || radioFaultChangeStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$GeneralDiagnosticsClusterRadioFaultChangeEvent constructor");
return nullptr;
}
jobject value = env->NewObject(radioFaultChangeStructClass, radioFaultChangeStructCtor, value_current, value_previous);
return value;
}
case Events::NetworkFaultChange::Id: {
Events::NetworkFaultChange::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_current;
chip::JniReferences::GetInstance().CreateArrayList(value_current);
auto iter_value_current_0 = cppValue.current.begin();
while (iter_value_current_0.Next())
{
auto & entry_0 = iter_value_current_0.GetValue();
jobject newElement_0;
std::string newElement_0ClassName = "java/lang/Integer";
std::string newElement_0CtorSignature = "(I)V";
jint jninewElement_0 = static_cast<jint>(entry_0);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0);
chip::JniReferences::GetInstance().AddToList(value_current, newElement_0);
}
jobject value_previous;
chip::JniReferences::GetInstance().CreateArrayList(value_previous);
auto iter_value_previous_0 = cppValue.previous.begin();
while (iter_value_previous_0.Next())
{
auto & entry_0 = iter_value_previous_0.GetValue();
jobject newElement_0;
std::string newElement_0ClassName = "java/lang/Integer";
std::string newElement_0CtorSignature = "(I)V";
jint jninewElement_0 = static_cast<jint>(entry_0);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0);
chip::JniReferences::GetInstance().AddToList(value_previous, newElement_0);
}
jclass networkFaultChangeStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$GeneralDiagnosticsClusterNetworkFaultChangeEvent",
networkFaultChangeStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$GeneralDiagnosticsClusterNetworkFaultChangeEvent");
return nullptr;
}
jmethodID networkFaultChangeStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, networkFaultChangeStructClass, "<init>",
"(Ljava/util/ArrayList;Ljava/util/ArrayList;)V",
&networkFaultChangeStructCtor);
if (err != CHIP_NO_ERROR || networkFaultChangeStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$GeneralDiagnosticsClusterNetworkFaultChangeEvent constructor");
return nullptr;
}
jobject value =
env->NewObject(networkFaultChangeStructClass, networkFaultChangeStructCtor, value_current, value_previous);
return value;
}
case Events::BootReason::Id: {
Events::BootReason::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_bootReason;
std::string value_bootReasonClassName = "java/lang/Integer";
std::string value_bootReasonCtorSignature = "(I)V";
jint jnivalue_bootReason = static_cast<jint>(cppValue.bootReason);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_bootReasonClassName.c_str(), value_bootReasonCtorSignature.c_str(), jnivalue_bootReason, value_bootReason);
jclass bootReasonStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$GeneralDiagnosticsClusterBootReasonEvent", bootReasonStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$GeneralDiagnosticsClusterBootReasonEvent");
return nullptr;
}
jmethodID bootReasonStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, bootReasonStructClass, "<init>", "(Ljava/lang/Integer;)V",
&bootReasonStructCtor);
if (err != CHIP_NO_ERROR || bootReasonStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$GeneralDiagnosticsClusterBootReasonEvent constructor");
return nullptr;
}
jobject value = env->NewObject(bootReasonStructClass, bootReasonStructCtor, value_bootReason);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::SoftwareDiagnostics::Id: {
using namespace app::Clusters::SoftwareDiagnostics;
switch (aPath.mEventId)
{
case Events::SoftwareFault::Id: {
Events::SoftwareFault::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_id;
std::string value_idClassName = "java/lang/Long";
std::string value_idCtorSignature = "(J)V";
jlong jnivalue_id = static_cast<jlong>(cppValue.id);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_idClassName.c_str(), value_idCtorSignature.c_str(),
jnivalue_id, value_id);
jobject value_name;
if (!cppValue.name.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_name);
}
else
{
jobject value_nameInsideOptional;
LogErrorOnFailure(
chip::JniReferences::GetInstance().CharToStringUTF(cppValue.name.Value(), value_nameInsideOptional));
chip::JniReferences::GetInstance().CreateOptional(value_nameInsideOptional, value_name);
}
jobject value_faultRecording;
if (!cppValue.faultRecording.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_faultRecording);
}
else
{
jobject value_faultRecordingInsideOptional;
jbyteArray value_faultRecordingInsideOptionalByteArray =
env->NewByteArray(static_cast<jsize>(cppValue.faultRecording.Value().size()));
env->SetByteArrayRegion(value_faultRecordingInsideOptionalByteArray, 0,
static_cast<jsize>(cppValue.faultRecording.Value().size()),
reinterpret_cast<const jbyte *>(cppValue.faultRecording.Value().data()));
value_faultRecordingInsideOptional = value_faultRecordingInsideOptionalByteArray;
chip::JniReferences::GetInstance().CreateOptional(value_faultRecordingInsideOptional, value_faultRecording);
}
jclass softwareFaultStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SoftwareDiagnosticsClusterSoftwareFaultEvent",
softwareFaultStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SoftwareDiagnosticsClusterSoftwareFaultEvent");
return nullptr;
}
jmethodID softwareFaultStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, softwareFaultStructClass, "<init>",
"(Ljava/lang/Long;Ljava/util/Optional;Ljava/util/Optional;)V",
&softwareFaultStructCtor);
if (err != CHIP_NO_ERROR || softwareFaultStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SoftwareDiagnosticsClusterSoftwareFaultEvent constructor");
return nullptr;
}
jobject value =
env->NewObject(softwareFaultStructClass, softwareFaultStructCtor, value_id, value_name, value_faultRecording);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ThreadNetworkDiagnostics::Id: {
using namespace app::Clusters::ThreadNetworkDiagnostics;
switch (aPath.mEventId)
{
case Events::ConnectionStatus::Id: {
Events::ConnectionStatus::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_connectionStatus;
std::string value_connectionStatusClassName = "java/lang/Integer";
std::string value_connectionStatusCtorSignature = "(I)V";
jint jnivalue_connectionStatus = static_cast<jint>(cppValue.connectionStatus);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_connectionStatusClassName.c_str(),
value_connectionStatusCtorSignature.c_str(),
jnivalue_connectionStatus, value_connectionStatus);
jclass connectionStatusStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$ThreadNetworkDiagnosticsClusterConnectionStatusEvent",
connectionStatusStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$ThreadNetworkDiagnosticsClusterConnectionStatusEvent");
return nullptr;
}
jmethodID connectionStatusStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, connectionStatusStructClass, "<init>",
"(Ljava/lang/Integer;)V", &connectionStatusStructCtor);
if (err != CHIP_NO_ERROR || connectionStatusStructCtor == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipEventStructs$ThreadNetworkDiagnosticsClusterConnectionStatusEvent constructor");
return nullptr;
}
jobject value = env->NewObject(connectionStatusStructClass, connectionStatusStructCtor, value_connectionStatus);
return value;
}
case Events::NetworkFaultChange::Id: {
Events::NetworkFaultChange::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_current;
chip::JniReferences::GetInstance().CreateArrayList(value_current);
auto iter_value_current_0 = cppValue.current.begin();
while (iter_value_current_0.Next())
{
auto & entry_0 = iter_value_current_0.GetValue();
jobject newElement_0;
std::string newElement_0ClassName = "java/lang/Integer";
std::string newElement_0CtorSignature = "(I)V";
jint jninewElement_0 = static_cast<jint>(entry_0);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0);
chip::JniReferences::GetInstance().AddToList(value_current, newElement_0);
}
jobject value_previous;
chip::JniReferences::GetInstance().CreateArrayList(value_previous);
auto iter_value_previous_0 = cppValue.previous.begin();
while (iter_value_previous_0.Next())
{
auto & entry_0 = iter_value_previous_0.GetValue();
jobject newElement_0;
std::string newElement_0ClassName = "java/lang/Integer";
std::string newElement_0CtorSignature = "(I)V";
jint jninewElement_0 = static_cast<jint>(entry_0);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0);
chip::JniReferences::GetInstance().AddToList(value_previous, newElement_0);
}
jclass networkFaultChangeStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$ThreadNetworkDiagnosticsClusterNetworkFaultChangeEvent",
networkFaultChangeStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$ThreadNetworkDiagnosticsClusterNetworkFaultChangeEvent");
return nullptr;
}
jmethodID networkFaultChangeStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, networkFaultChangeStructClass, "<init>",
"(Ljava/util/ArrayList;Ljava/util/ArrayList;)V",
&networkFaultChangeStructCtor);
if (err != CHIP_NO_ERROR || networkFaultChangeStructCtor == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipEventStructs$ThreadNetworkDiagnosticsClusterNetworkFaultChangeEvent constructor");
return nullptr;
}
jobject value =
env->NewObject(networkFaultChangeStructClass, networkFaultChangeStructCtor, value_current, value_previous);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::WiFiNetworkDiagnostics::Id: {
using namespace app::Clusters::WiFiNetworkDiagnostics;
switch (aPath.mEventId)
{
case Events::Disconnection::Id: {
Events::Disconnection::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_reasonCode;
std::string value_reasonCodeClassName = "java/lang/Integer";
std::string value_reasonCodeCtorSignature = "(I)V";
jint jnivalue_reasonCode = static_cast<jint>(cppValue.reasonCode);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_reasonCodeClassName.c_str(), value_reasonCodeCtorSignature.c_str(), jnivalue_reasonCode, value_reasonCode);
jclass disconnectionStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$WiFiNetworkDiagnosticsClusterDisconnectionEvent",
disconnectionStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$WiFiNetworkDiagnosticsClusterDisconnectionEvent");
return nullptr;
}
jmethodID disconnectionStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, disconnectionStructClass, "<init>", "(Ljava/lang/Integer;)V",
&disconnectionStructCtor);
if (err != CHIP_NO_ERROR || disconnectionStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$WiFiNetworkDiagnosticsClusterDisconnectionEvent constructor");
return nullptr;
}
jobject value = env->NewObject(disconnectionStructClass, disconnectionStructCtor, value_reasonCode);
return value;
}
case Events::AssociationFailure::Id: {
Events::AssociationFailure::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_associationFailureCause;
std::string value_associationFailureCauseClassName = "java/lang/Integer";
std::string value_associationFailureCauseCtorSignature = "(I)V";
jint jnivalue_associationFailureCause = static_cast<jint>(cppValue.associationFailureCause);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_associationFailureCauseClassName.c_str(), value_associationFailureCauseCtorSignature.c_str(),
jnivalue_associationFailureCause, value_associationFailureCause);
jobject value_status;
std::string value_statusClassName = "java/lang/Integer";
std::string value_statusCtorSignature = "(I)V";
jint jnivalue_status = static_cast<jint>(cppValue.status);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_statusClassName.c_str(), value_statusCtorSignature.c_str(), jnivalue_status, value_status);
jclass associationFailureStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$WiFiNetworkDiagnosticsClusterAssociationFailureEvent",
associationFailureStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$WiFiNetworkDiagnosticsClusterAssociationFailureEvent");
return nullptr;
}
jmethodID associationFailureStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, associationFailureStructClass, "<init>",
"(Ljava/lang/Integer;Ljava/lang/Integer;)V",
&associationFailureStructCtor);
if (err != CHIP_NO_ERROR || associationFailureStructCtor == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipEventStructs$WiFiNetworkDiagnosticsClusterAssociationFailureEvent constructor");
return nullptr;
}
jobject value = env->NewObject(associationFailureStructClass, associationFailureStructCtor,
value_associationFailureCause, value_status);
return value;
}
case Events::ConnectionStatus::Id: {
Events::ConnectionStatus::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_connectionStatus;
std::string value_connectionStatusClassName = "java/lang/Integer";
std::string value_connectionStatusCtorSignature = "(I)V";
jint jnivalue_connectionStatus = static_cast<jint>(cppValue.connectionStatus);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_connectionStatusClassName.c_str(),
value_connectionStatusCtorSignature.c_str(),
jnivalue_connectionStatus, value_connectionStatus);
jclass connectionStatusStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$WiFiNetworkDiagnosticsClusterConnectionStatusEvent",
connectionStatusStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$WiFiNetworkDiagnosticsClusterConnectionStatusEvent");
return nullptr;
}
jmethodID connectionStatusStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, connectionStatusStructClass, "<init>",
"(Ljava/lang/Integer;)V", &connectionStatusStructCtor);
if (err != CHIP_NO_ERROR || connectionStatusStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$WiFiNetworkDiagnosticsClusterConnectionStatusEvent constructor");
return nullptr;
}
jobject value = env->NewObject(connectionStatusStructClass, connectionStatusStructCtor, value_connectionStatus);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::EthernetNetworkDiagnostics::Id: {
using namespace app::Clusters::EthernetNetworkDiagnostics;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::TimeSynchronization::Id: {
using namespace app::Clusters::TimeSynchronization;
switch (aPath.mEventId)
{
case Events::DSTTableEmpty::Id: {
Events::DSTTableEmpty::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass DSTTableEmptyStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$TimeSynchronizationClusterDSTTableEmptyEvent",
DSTTableEmptyStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$TimeSynchronizationClusterDSTTableEmptyEvent");
return nullptr;
}
jmethodID DSTTableEmptyStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, DSTTableEmptyStructClass, "<init>", "()V",
&DSTTableEmptyStructCtor);
if (err != CHIP_NO_ERROR || DSTTableEmptyStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$TimeSynchronizationClusterDSTTableEmptyEvent constructor");
return nullptr;
}
jobject value = env->NewObject(DSTTableEmptyStructClass, DSTTableEmptyStructCtor);
return value;
}
case Events::DSTStatus::Id: {
Events::DSTStatus::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_DSTOffsetActive;
std::string value_DSTOffsetActiveClassName = "java/lang/Boolean";
std::string value_DSTOffsetActiveCtorSignature = "(Z)V";
jboolean jnivalue_DSTOffsetActive = static_cast<jboolean>(cppValue.DSTOffsetActive);
chip::JniReferences::GetInstance().CreateBoxedObject<jboolean>(value_DSTOffsetActiveClassName.c_str(),
value_DSTOffsetActiveCtorSignature.c_str(),
jnivalue_DSTOffsetActive, value_DSTOffsetActive);
jclass DSTStatusStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$TimeSynchronizationClusterDSTStatusEvent", DSTStatusStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$TimeSynchronizationClusterDSTStatusEvent");
return nullptr;
}
jmethodID DSTStatusStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, DSTStatusStructClass, "<init>", "(Ljava/lang/Boolean;)V",
&DSTStatusStructCtor);
if (err != CHIP_NO_ERROR || DSTStatusStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$TimeSynchronizationClusterDSTStatusEvent constructor");
return nullptr;
}
jobject value = env->NewObject(DSTStatusStructClass, DSTStatusStructCtor, value_DSTOffsetActive);
return value;
}
case Events::TimeZoneStatus::Id: {
Events::TimeZoneStatus::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_offset;
std::string value_offsetClassName = "java/lang/Long";
std::string value_offsetCtorSignature = "(J)V";
jlong jnivalue_offset = static_cast<jlong>(cppValue.offset);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_offsetClassName.c_str(), value_offsetCtorSignature.c_str(), jnivalue_offset, value_offset);
jobject value_name;
if (!cppValue.name.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_name);
}
else
{
jobject value_nameInsideOptional;
LogErrorOnFailure(
chip::JniReferences::GetInstance().CharToStringUTF(cppValue.name.Value(), value_nameInsideOptional));
chip::JniReferences::GetInstance().CreateOptional(value_nameInsideOptional, value_name);
}
jclass timeZoneStatusStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$TimeSynchronizationClusterTimeZoneStatusEvent",
timeZoneStatusStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$TimeSynchronizationClusterTimeZoneStatusEvent");
return nullptr;
}
jmethodID timeZoneStatusStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, timeZoneStatusStructClass, "<init>", "(Ljava/lang/Long;Ljava/util/Optional;)V", &timeZoneStatusStructCtor);
if (err != CHIP_NO_ERROR || timeZoneStatusStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$TimeSynchronizationClusterTimeZoneStatusEvent constructor");
return nullptr;
}
jobject value = env->NewObject(timeZoneStatusStructClass, timeZoneStatusStructCtor, value_offset, value_name);
return value;
}
case Events::TimeFailure::Id: {
Events::TimeFailure::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass timeFailureStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$TimeSynchronizationClusterTimeFailureEvent", timeFailureStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$TimeSynchronizationClusterTimeFailureEvent");
return nullptr;
}
jmethodID timeFailureStructCtor;
err =
chip::JniReferences::GetInstance().FindMethod(env, timeFailureStructClass, "<init>", "()V", &timeFailureStructCtor);
if (err != CHIP_NO_ERROR || timeFailureStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$TimeSynchronizationClusterTimeFailureEvent constructor");
return nullptr;
}
jobject value = env->NewObject(timeFailureStructClass, timeFailureStructCtor);
return value;
}
case Events::MissingTrustedTimeSource::Id: {
Events::MissingTrustedTimeSource::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass missingTrustedTimeSourceStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$TimeSynchronizationClusterMissingTrustedTimeSourceEvent",
missingTrustedTimeSourceStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$TimeSynchronizationClusterMissingTrustedTimeSourceEvent");
return nullptr;
}
jmethodID missingTrustedTimeSourceStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, missingTrustedTimeSourceStructClass, "<init>", "()V",
&missingTrustedTimeSourceStructCtor);
if (err != CHIP_NO_ERROR || missingTrustedTimeSourceStructCtor == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipEventStructs$TimeSynchronizationClusterMissingTrustedTimeSourceEvent constructor");
return nullptr;
}
jobject value = env->NewObject(missingTrustedTimeSourceStructClass, missingTrustedTimeSourceStructCtor);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::BridgedDeviceBasicInformation::Id: {
using namespace app::Clusters::BridgedDeviceBasicInformation;
switch (aPath.mEventId)
{
case Events::StartUp::Id: {
Events::StartUp::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_softwareVersion;
std::string value_softwareVersionClassName = "java/lang/Long";
std::string value_softwareVersionCtorSignature = "(J)V";
jlong jnivalue_softwareVersion = static_cast<jlong>(cppValue.softwareVersion);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_softwareVersionClassName.c_str(),
value_softwareVersionCtorSignature.c_str(),
jnivalue_softwareVersion, value_softwareVersion);
jclass startUpStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$BridgedDeviceBasicInformationClusterStartUpEvent", startUpStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$BridgedDeviceBasicInformationClusterStartUpEvent");
return nullptr;
}
jmethodID startUpStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, startUpStructClass, "<init>", "(Ljava/lang/Long;)V",
&startUpStructCtor);
if (err != CHIP_NO_ERROR || startUpStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$BridgedDeviceBasicInformationClusterStartUpEvent constructor");
return nullptr;
}
jobject value = env->NewObject(startUpStructClass, startUpStructCtor, value_softwareVersion);
return value;
}
case Events::ShutDown::Id: {
Events::ShutDown::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass shutDownStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$BridgedDeviceBasicInformationClusterShutDownEvent",
shutDownStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$BridgedDeviceBasicInformationClusterShutDownEvent");
return nullptr;
}
jmethodID shutDownStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, shutDownStructClass, "<init>", "()V", &shutDownStructCtor);
if (err != CHIP_NO_ERROR || shutDownStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$BridgedDeviceBasicInformationClusterShutDownEvent constructor");
return nullptr;
}
jobject value = env->NewObject(shutDownStructClass, shutDownStructCtor);
return value;
}
case Events::Leave::Id: {
Events::Leave::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass leaveStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$BridgedDeviceBasicInformationClusterLeaveEvent", leaveStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$BridgedDeviceBasicInformationClusterLeaveEvent");
return nullptr;
}
jmethodID leaveStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, leaveStructClass, "<init>", "()V", &leaveStructCtor);
if (err != CHIP_NO_ERROR || leaveStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$BridgedDeviceBasicInformationClusterLeaveEvent constructor");
return nullptr;
}
jobject value = env->NewObject(leaveStructClass, leaveStructCtor);
return value;
}
case Events::ReachableChanged::Id: {
Events::ReachableChanged::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_reachableNewValue;
std::string value_reachableNewValueClassName = "java/lang/Boolean";
std::string value_reachableNewValueCtorSignature = "(Z)V";
jboolean jnivalue_reachableNewValue = static_cast<jboolean>(cppValue.reachableNewValue);
chip::JniReferences::GetInstance().CreateBoxedObject<jboolean>(value_reachableNewValueClassName.c_str(),
value_reachableNewValueCtorSignature.c_str(),
jnivalue_reachableNewValue, value_reachableNewValue);
jclass reachableChangedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$BridgedDeviceBasicInformationClusterReachableChangedEvent",
reachableChangedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl,
"Could not find class ChipEventStructs$BridgedDeviceBasicInformationClusterReachableChangedEvent");
return nullptr;
}
jmethodID reachableChangedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, reachableChangedStructClass, "<init>",
"(Ljava/lang/Boolean;)V", &reachableChangedStructCtor);
if (err != CHIP_NO_ERROR || reachableChangedStructCtor == nullptr)
{
ChipLogError(
Zcl, "Could not find ChipEventStructs$BridgedDeviceBasicInformationClusterReachableChangedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(reachableChangedStructClass, reachableChangedStructCtor, value_reachableNewValue);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::Switch::Id: {
using namespace app::Clusters::Switch;
switch (aPath.mEventId)
{
case Events::SwitchLatched::Id: {
Events::SwitchLatched::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_newPosition;
std::string value_newPositionClassName = "java/lang/Integer";
std::string value_newPositionCtorSignature = "(I)V";
jint jnivalue_newPosition = static_cast<jint>(cppValue.newPosition);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_newPositionClassName.c_str(),
value_newPositionCtorSignature.c_str(), jnivalue_newPosition,
value_newPosition);
jclass switchLatchedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SwitchClusterSwitchLatchedEvent", switchLatchedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SwitchClusterSwitchLatchedEvent");
return nullptr;
}
jmethodID switchLatchedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, switchLatchedStructClass, "<init>", "(Ljava/lang/Integer;)V",
&switchLatchedStructCtor);
if (err != CHIP_NO_ERROR || switchLatchedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SwitchClusterSwitchLatchedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(switchLatchedStructClass, switchLatchedStructCtor, value_newPosition);
return value;
}
case Events::InitialPress::Id: {
Events::InitialPress::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_newPosition;
std::string value_newPositionClassName = "java/lang/Integer";
std::string value_newPositionCtorSignature = "(I)V";
jint jnivalue_newPosition = static_cast<jint>(cppValue.newPosition);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_newPositionClassName.c_str(),
value_newPositionCtorSignature.c_str(), jnivalue_newPosition,
value_newPosition);
jclass initialPressStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SwitchClusterInitialPressEvent", initialPressStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SwitchClusterInitialPressEvent");
return nullptr;
}
jmethodID initialPressStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, initialPressStructClass, "<init>", "(Ljava/lang/Integer;)V",
&initialPressStructCtor);
if (err != CHIP_NO_ERROR || initialPressStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SwitchClusterInitialPressEvent constructor");
return nullptr;
}
jobject value = env->NewObject(initialPressStructClass, initialPressStructCtor, value_newPosition);
return value;
}
case Events::LongPress::Id: {
Events::LongPress::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_newPosition;
std::string value_newPositionClassName = "java/lang/Integer";
std::string value_newPositionCtorSignature = "(I)V";
jint jnivalue_newPosition = static_cast<jint>(cppValue.newPosition);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_newPositionClassName.c_str(),
value_newPositionCtorSignature.c_str(), jnivalue_newPosition,
value_newPosition);
jclass longPressStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SwitchClusterLongPressEvent", longPressStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SwitchClusterLongPressEvent");
return nullptr;
}
jmethodID longPressStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, longPressStructClass, "<init>", "(Ljava/lang/Integer;)V",
&longPressStructCtor);
if (err != CHIP_NO_ERROR || longPressStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SwitchClusterLongPressEvent constructor");
return nullptr;
}
jobject value = env->NewObject(longPressStructClass, longPressStructCtor, value_newPosition);
return value;
}
case Events::ShortRelease::Id: {
Events::ShortRelease::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_previousPosition;
std::string value_previousPositionClassName = "java/lang/Integer";
std::string value_previousPositionCtorSignature = "(I)V";
jint jnivalue_previousPosition = static_cast<jint>(cppValue.previousPosition);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_previousPositionClassName.c_str(),
value_previousPositionCtorSignature.c_str(),
jnivalue_previousPosition, value_previousPosition);
jclass shortReleaseStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SwitchClusterShortReleaseEvent", shortReleaseStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SwitchClusterShortReleaseEvent");
return nullptr;
}
jmethodID shortReleaseStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, shortReleaseStructClass, "<init>", "(Ljava/lang/Integer;)V",
&shortReleaseStructCtor);
if (err != CHIP_NO_ERROR || shortReleaseStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SwitchClusterShortReleaseEvent constructor");
return nullptr;
}
jobject value = env->NewObject(shortReleaseStructClass, shortReleaseStructCtor, value_previousPosition);
return value;
}
case Events::LongRelease::Id: {
Events::LongRelease::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_previousPosition;
std::string value_previousPositionClassName = "java/lang/Integer";
std::string value_previousPositionCtorSignature = "(I)V";
jint jnivalue_previousPosition = static_cast<jint>(cppValue.previousPosition);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_previousPositionClassName.c_str(),
value_previousPositionCtorSignature.c_str(),
jnivalue_previousPosition, value_previousPosition);
jclass longReleaseStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SwitchClusterLongReleaseEvent", longReleaseStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SwitchClusterLongReleaseEvent");
return nullptr;
}
jmethodID longReleaseStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, longReleaseStructClass, "<init>", "(Ljava/lang/Integer;)V",
&longReleaseStructCtor);
if (err != CHIP_NO_ERROR || longReleaseStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SwitchClusterLongReleaseEvent constructor");
return nullptr;
}
jobject value = env->NewObject(longReleaseStructClass, longReleaseStructCtor, value_previousPosition);
return value;
}
case Events::MultiPressOngoing::Id: {
Events::MultiPressOngoing::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_newPosition;
std::string value_newPositionClassName = "java/lang/Integer";
std::string value_newPositionCtorSignature = "(I)V";
jint jnivalue_newPosition = static_cast<jint>(cppValue.newPosition);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_newPositionClassName.c_str(),
value_newPositionCtorSignature.c_str(), jnivalue_newPosition,
value_newPosition);
jobject value_currentNumberOfPressesCounted;
std::string value_currentNumberOfPressesCountedClassName = "java/lang/Integer";
std::string value_currentNumberOfPressesCountedCtorSignature = "(I)V";
jint jnivalue_currentNumberOfPressesCounted = static_cast<jint>(cppValue.currentNumberOfPressesCounted);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_currentNumberOfPressesCountedClassName.c_str(), value_currentNumberOfPressesCountedCtorSignature.c_str(),
jnivalue_currentNumberOfPressesCounted, value_currentNumberOfPressesCounted);
jclass multiPressOngoingStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SwitchClusterMultiPressOngoingEvent", multiPressOngoingStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SwitchClusterMultiPressOngoingEvent");
return nullptr;
}
jmethodID multiPressOngoingStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, multiPressOngoingStructClass, "<init>",
"(Ljava/lang/Integer;Ljava/lang/Integer;)V",
&multiPressOngoingStructCtor);
if (err != CHIP_NO_ERROR || multiPressOngoingStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SwitchClusterMultiPressOngoingEvent constructor");
return nullptr;
}
jobject value = env->NewObject(multiPressOngoingStructClass, multiPressOngoingStructCtor, value_newPosition,
value_currentNumberOfPressesCounted);
return value;
}
case Events::MultiPressComplete::Id: {
Events::MultiPressComplete::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_previousPosition;
std::string value_previousPositionClassName = "java/lang/Integer";
std::string value_previousPositionCtorSignature = "(I)V";
jint jnivalue_previousPosition = static_cast<jint>(cppValue.previousPosition);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_previousPositionClassName.c_str(),
value_previousPositionCtorSignature.c_str(),
jnivalue_previousPosition, value_previousPosition);
jobject value_totalNumberOfPressesCounted;
std::string value_totalNumberOfPressesCountedClassName = "java/lang/Integer";
std::string value_totalNumberOfPressesCountedCtorSignature = "(I)V";
jint jnivalue_totalNumberOfPressesCounted = static_cast<jint>(cppValue.totalNumberOfPressesCounted);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_totalNumberOfPressesCountedClassName.c_str(), value_totalNumberOfPressesCountedCtorSignature.c_str(),
jnivalue_totalNumberOfPressesCounted, value_totalNumberOfPressesCounted);
jclass multiPressCompleteStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SwitchClusterMultiPressCompleteEvent", multiPressCompleteStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SwitchClusterMultiPressCompleteEvent");
return nullptr;
}
jmethodID multiPressCompleteStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, multiPressCompleteStructClass, "<init>",
"(Ljava/lang/Integer;Ljava/lang/Integer;)V",
&multiPressCompleteStructCtor);
if (err != CHIP_NO_ERROR || multiPressCompleteStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SwitchClusterMultiPressCompleteEvent constructor");
return nullptr;
}
jobject value = env->NewObject(multiPressCompleteStructClass, multiPressCompleteStructCtor, value_previousPosition,
value_totalNumberOfPressesCounted);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::AdministratorCommissioning::Id: {
using namespace app::Clusters::AdministratorCommissioning;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::OperationalCredentials::Id: {
using namespace app::Clusters::OperationalCredentials;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::GroupKeyManagement::Id: {
using namespace app::Clusters::GroupKeyManagement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::FixedLabel::Id: {
using namespace app::Clusters::FixedLabel;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::UserLabel::Id: {
using namespace app::Clusters::UserLabel;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ProxyConfiguration::Id: {
using namespace app::Clusters::ProxyConfiguration;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ProxyDiscovery::Id: {
using namespace app::Clusters::ProxyDiscovery;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ProxyValid::Id: {
using namespace app::Clusters::ProxyValid;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::BooleanState::Id: {
using namespace app::Clusters::BooleanState;
switch (aPath.mEventId)
{
case Events::StateChange::Id: {
Events::StateChange::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_stateValue;
std::string value_stateValueClassName = "java/lang/Boolean";
std::string value_stateValueCtorSignature = "(Z)V";
jboolean jnivalue_stateValue = static_cast<jboolean>(cppValue.stateValue);
chip::JniReferences::GetInstance().CreateBoxedObject<jboolean>(
value_stateValueClassName.c_str(), value_stateValueCtorSignature.c_str(), jnivalue_stateValue, value_stateValue);
jclass stateChangeStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$BooleanStateClusterStateChangeEvent", stateChangeStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$BooleanStateClusterStateChangeEvent");
return nullptr;
}
jmethodID stateChangeStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, stateChangeStructClass, "<init>", "(Ljava/lang/Boolean;)V",
&stateChangeStructCtor);
if (err != CHIP_NO_ERROR || stateChangeStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$BooleanStateClusterStateChangeEvent constructor");
return nullptr;
}
jobject value = env->NewObject(stateChangeStructClass, stateChangeStructCtor, value_stateValue);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::IcdManagement::Id: {
using namespace app::Clusters::IcdManagement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::Timer::Id: {
using namespace app::Clusters::Timer;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::OvenCavityOperationalState::Id: {
using namespace app::Clusters::OvenCavityOperationalState;
switch (aPath.mEventId)
{
case Events::OperationalError::Id: {
Events::OperationalError::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_errorState;
jobject value_errorState_errorStateID;
std::string value_errorState_errorStateIDClassName = "java/lang/Integer";
std::string value_errorState_errorStateIDCtorSignature = "(I)V";
jint jnivalue_errorState_errorStateID = static_cast<jint>(cppValue.errorState.errorStateID);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_errorState_errorStateIDClassName.c_str(), value_errorState_errorStateIDCtorSignature.c_str(),
jnivalue_errorState_errorStateID, value_errorState_errorStateID);
jobject value_errorState_errorStateLabel;
if (!cppValue.errorState.errorStateLabel.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_errorState_errorStateLabel);
}
else
{
jobject value_errorState_errorStateLabelInsideOptional;
LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(
cppValue.errorState.errorStateLabel.Value(), value_errorState_errorStateLabelInsideOptional));
chip::JniReferences::GetInstance().CreateOptional(value_errorState_errorStateLabelInsideOptional,
value_errorState_errorStateLabel);
}
jobject value_errorState_errorStateDetails;
if (!cppValue.errorState.errorStateDetails.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_errorState_errorStateDetails);
}
else
{
jobject value_errorState_errorStateDetailsInsideOptional;
LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(
cppValue.errorState.errorStateDetails.Value(), value_errorState_errorStateDetailsInsideOptional));
chip::JniReferences::GetInstance().CreateOptional(value_errorState_errorStateDetailsInsideOptional,
value_errorState_errorStateDetails);
}
jclass errorStateStructStructClass_0;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$OvenCavityOperationalStateClusterErrorStateStruct",
errorStateStructStructClass_0);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipStructs$OvenCavityOperationalStateClusterErrorStateStruct");
return nullptr;
}
jmethodID errorStateStructStructCtor_0;
err = chip::JniReferences::GetInstance().FindMethod(env, errorStateStructStructClass_0, "<init>",
"(Ljava/lang/Integer;Ljava/util/Optional;Ljava/util/Optional;)V",
&errorStateStructStructCtor_0);
if (err != CHIP_NO_ERROR || errorStateStructStructCtor_0 == nullptr)
{
ChipLogError(Zcl, "Could not find ChipStructs$OvenCavityOperationalStateClusterErrorStateStruct constructor");
return nullptr;
}
value_errorState =
env->NewObject(errorStateStructStructClass_0, errorStateStructStructCtor_0, value_errorState_errorStateID,
value_errorState_errorStateLabel, value_errorState_errorStateDetails);
jclass operationalErrorStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$OvenCavityOperationalStateClusterOperationalErrorEvent",
operationalErrorStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$OvenCavityOperationalStateClusterOperationalErrorEvent");
return nullptr;
}
jmethodID operationalErrorStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, operationalErrorStructClass, "<init>",
"(Lchip/devicecontroller/ChipStructs$OvenCavityOperationalStateClusterErrorStateStruct;)V",
&operationalErrorStructCtor);
if (err != CHIP_NO_ERROR || operationalErrorStructCtor == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipEventStructs$OvenCavityOperationalStateClusterOperationalErrorEvent constructor");
return nullptr;
}
jobject value = env->NewObject(operationalErrorStructClass, operationalErrorStructCtor, value_errorState);
return value;
}
case Events::OperationCompletion::Id: {
Events::OperationCompletion::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_completionErrorCode;
std::string value_completionErrorCodeClassName = "java/lang/Integer";
std::string value_completionErrorCodeCtorSignature = "(I)V";
jint jnivalue_completionErrorCode = static_cast<jint>(cppValue.completionErrorCode);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_completionErrorCodeClassName.c_str(),
value_completionErrorCodeCtorSignature.c_str(),
jnivalue_completionErrorCode, value_completionErrorCode);
jobject value_totalOperationalTime;
if (!cppValue.totalOperationalTime.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_totalOperationalTime);
}
else
{
jobject value_totalOperationalTimeInsideOptional;
if (cppValue.totalOperationalTime.Value().IsNull())
{
value_totalOperationalTimeInsideOptional = nullptr;
}
else
{
std::string value_totalOperationalTimeInsideOptionalClassName = "java/lang/Long";
std::string value_totalOperationalTimeInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_totalOperationalTimeInsideOptional =
static_cast<jlong>(cppValue.totalOperationalTime.Value().Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_totalOperationalTimeInsideOptionalClassName.c_str(),
value_totalOperationalTimeInsideOptionalCtorSignature.c_str(), jnivalue_totalOperationalTimeInsideOptional,
value_totalOperationalTimeInsideOptional);
}
chip::JniReferences::GetInstance().CreateOptional(value_totalOperationalTimeInsideOptional,
value_totalOperationalTime);
}
jobject value_pausedTime;
if (!cppValue.pausedTime.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_pausedTime);
}
else
{
jobject value_pausedTimeInsideOptional;
if (cppValue.pausedTime.Value().IsNull())
{
value_pausedTimeInsideOptional = nullptr;
}
else
{
std::string value_pausedTimeInsideOptionalClassName = "java/lang/Long";
std::string value_pausedTimeInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_pausedTimeInsideOptional = static_cast<jlong>(cppValue.pausedTime.Value().Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_pausedTimeInsideOptionalClassName.c_str(), value_pausedTimeInsideOptionalCtorSignature.c_str(),
jnivalue_pausedTimeInsideOptional, value_pausedTimeInsideOptional);
}
chip::JniReferences::GetInstance().CreateOptional(value_pausedTimeInsideOptional, value_pausedTime);
}
jclass operationCompletionStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$OvenCavityOperationalStateClusterOperationCompletionEvent",
operationCompletionStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl,
"Could not find class ChipEventStructs$OvenCavityOperationalStateClusterOperationCompletionEvent");
return nullptr;
}
jmethodID operationCompletionStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, operationCompletionStructClass, "<init>",
"(Ljava/lang/Integer;Ljava/util/Optional;Ljava/util/Optional;)V",
&operationCompletionStructCtor);
if (err != CHIP_NO_ERROR || operationCompletionStructCtor == nullptr)
{
ChipLogError(
Zcl, "Could not find ChipEventStructs$OvenCavityOperationalStateClusterOperationCompletionEvent constructor");
return nullptr;
}
jobject value = env->NewObject(operationCompletionStructClass, operationCompletionStructCtor, value_completionErrorCode,
value_totalOperationalTime, value_pausedTime);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::OvenMode::Id: {
using namespace app::Clusters::OvenMode;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::LaundryDryerControls::Id: {
using namespace app::Clusters::LaundryDryerControls;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ModeSelect::Id: {
using namespace app::Clusters::ModeSelect;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::LaundryWasherMode::Id: {
using namespace app::Clusters::LaundryWasherMode;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::RefrigeratorAndTemperatureControlledCabinetMode::Id: {
using namespace app::Clusters::RefrigeratorAndTemperatureControlledCabinetMode;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::LaundryWasherControls::Id: {
using namespace app::Clusters::LaundryWasherControls;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::RvcRunMode::Id: {
using namespace app::Clusters::RvcRunMode;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::RvcCleanMode::Id: {
using namespace app::Clusters::RvcCleanMode;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::TemperatureControl::Id: {
using namespace app::Clusters::TemperatureControl;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::RefrigeratorAlarm::Id: {
using namespace app::Clusters::RefrigeratorAlarm;
switch (aPath.mEventId)
{
case Events::Notify::Id: {
Events::Notify::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_active;
std::string value_activeClassName = "java/lang/Long";
std::string value_activeCtorSignature = "(J)V";
jlong jnivalue_active = static_cast<jlong>(cppValue.active.Raw());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_activeClassName.c_str(), value_activeCtorSignature.c_str(), jnivalue_active, value_active);
jobject value_inactive;
std::string value_inactiveClassName = "java/lang/Long";
std::string value_inactiveCtorSignature = "(J)V";
jlong jnivalue_inactive = static_cast<jlong>(cppValue.inactive.Raw());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_inactiveClassName.c_str(), value_inactiveCtorSignature.c_str(), jnivalue_inactive, value_inactive);
jobject value_state;
std::string value_stateClassName = "java/lang/Long";
std::string value_stateCtorSignature = "(J)V";
jlong jnivalue_state = static_cast<jlong>(cppValue.state.Raw());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_stateClassName.c_str(), value_stateCtorSignature.c_str(), jnivalue_state, value_state);
jobject value_mask;
std::string value_maskClassName = "java/lang/Long";
std::string value_maskCtorSignature = "(J)V";
jlong jnivalue_mask = static_cast<jlong>(cppValue.mask.Raw());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_maskClassName.c_str(),
value_maskCtorSignature.c_str(), jnivalue_mask, value_mask);
jclass notifyStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$RefrigeratorAlarmClusterNotifyEvent", notifyStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$RefrigeratorAlarmClusterNotifyEvent");
return nullptr;
}
jmethodID notifyStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, notifyStructClass, "<init>", "(Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;)V",
&notifyStructCtor);
if (err != CHIP_NO_ERROR || notifyStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$RefrigeratorAlarmClusterNotifyEvent constructor");
return nullptr;
}
jobject value =
env->NewObject(notifyStructClass, notifyStructCtor, value_active, value_inactive, value_state, value_mask);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::DishwasherMode::Id: {
using namespace app::Clusters::DishwasherMode;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::AirQuality::Id: {
using namespace app::Clusters::AirQuality;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::SmokeCoAlarm::Id: {
using namespace app::Clusters::SmokeCoAlarm;
switch (aPath.mEventId)
{
case Events::SmokeAlarm::Id: {
Events::SmokeAlarm::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_alarmSeverityLevel;
std::string value_alarmSeverityLevelClassName = "java/lang/Integer";
std::string value_alarmSeverityLevelCtorSignature = "(I)V";
jint jnivalue_alarmSeverityLevel = static_cast<jint>(cppValue.alarmSeverityLevel);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_alarmSeverityLevelClassName.c_str(),
value_alarmSeverityLevelCtorSignature.c_str(),
jnivalue_alarmSeverityLevel, value_alarmSeverityLevel);
jclass smokeAlarmStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SmokeCoAlarmClusterSmokeAlarmEvent", smokeAlarmStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SmokeCoAlarmClusterSmokeAlarmEvent");
return nullptr;
}
jmethodID smokeAlarmStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, smokeAlarmStructClass, "<init>", "(Ljava/lang/Integer;)V",
&smokeAlarmStructCtor);
if (err != CHIP_NO_ERROR || smokeAlarmStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SmokeCoAlarmClusterSmokeAlarmEvent constructor");
return nullptr;
}
jobject value = env->NewObject(smokeAlarmStructClass, smokeAlarmStructCtor, value_alarmSeverityLevel);
return value;
}
case Events::COAlarm::Id: {
Events::COAlarm::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_alarmSeverityLevel;
std::string value_alarmSeverityLevelClassName = "java/lang/Integer";
std::string value_alarmSeverityLevelCtorSignature = "(I)V";
jint jnivalue_alarmSeverityLevel = static_cast<jint>(cppValue.alarmSeverityLevel);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_alarmSeverityLevelClassName.c_str(),
value_alarmSeverityLevelCtorSignature.c_str(),
jnivalue_alarmSeverityLevel, value_alarmSeverityLevel);
jclass COAlarmStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SmokeCoAlarmClusterCOAlarmEvent", COAlarmStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SmokeCoAlarmClusterCOAlarmEvent");
return nullptr;
}
jmethodID COAlarmStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, COAlarmStructClass, "<init>", "(Ljava/lang/Integer;)V",
&COAlarmStructCtor);
if (err != CHIP_NO_ERROR || COAlarmStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SmokeCoAlarmClusterCOAlarmEvent constructor");
return nullptr;
}
jobject value = env->NewObject(COAlarmStructClass, COAlarmStructCtor, value_alarmSeverityLevel);
return value;
}
case Events::LowBattery::Id: {
Events::LowBattery::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_alarmSeverityLevel;
std::string value_alarmSeverityLevelClassName = "java/lang/Integer";
std::string value_alarmSeverityLevelCtorSignature = "(I)V";
jint jnivalue_alarmSeverityLevel = static_cast<jint>(cppValue.alarmSeverityLevel);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_alarmSeverityLevelClassName.c_str(),
value_alarmSeverityLevelCtorSignature.c_str(),
jnivalue_alarmSeverityLevel, value_alarmSeverityLevel);
jclass lowBatteryStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SmokeCoAlarmClusterLowBatteryEvent", lowBatteryStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SmokeCoAlarmClusterLowBatteryEvent");
return nullptr;
}
jmethodID lowBatteryStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, lowBatteryStructClass, "<init>", "(Ljava/lang/Integer;)V",
&lowBatteryStructCtor);
if (err != CHIP_NO_ERROR || lowBatteryStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SmokeCoAlarmClusterLowBatteryEvent constructor");
return nullptr;
}
jobject value = env->NewObject(lowBatteryStructClass, lowBatteryStructCtor, value_alarmSeverityLevel);
return value;
}
case Events::HardwareFault::Id: {
Events::HardwareFault::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass hardwareFaultStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SmokeCoAlarmClusterHardwareFaultEvent", hardwareFaultStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SmokeCoAlarmClusterHardwareFaultEvent");
return nullptr;
}
jmethodID hardwareFaultStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, hardwareFaultStructClass, "<init>", "()V",
&hardwareFaultStructCtor);
if (err != CHIP_NO_ERROR || hardwareFaultStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SmokeCoAlarmClusterHardwareFaultEvent constructor");
return nullptr;
}
jobject value = env->NewObject(hardwareFaultStructClass, hardwareFaultStructCtor);
return value;
}
case Events::EndOfService::Id: {
Events::EndOfService::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass endOfServiceStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SmokeCoAlarmClusterEndOfServiceEvent", endOfServiceStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SmokeCoAlarmClusterEndOfServiceEvent");
return nullptr;
}
jmethodID endOfServiceStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, endOfServiceStructClass, "<init>", "()V",
&endOfServiceStructCtor);
if (err != CHIP_NO_ERROR || endOfServiceStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SmokeCoAlarmClusterEndOfServiceEvent constructor");
return nullptr;
}
jobject value = env->NewObject(endOfServiceStructClass, endOfServiceStructCtor);
return value;
}
case Events::SelfTestComplete::Id: {
Events::SelfTestComplete::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass selfTestCompleteStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SmokeCoAlarmClusterSelfTestCompleteEvent",
selfTestCompleteStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SmokeCoAlarmClusterSelfTestCompleteEvent");
return nullptr;
}
jmethodID selfTestCompleteStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, selfTestCompleteStructClass, "<init>", "()V",
&selfTestCompleteStructCtor);
if (err != CHIP_NO_ERROR || selfTestCompleteStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SmokeCoAlarmClusterSelfTestCompleteEvent constructor");
return nullptr;
}
jobject value = env->NewObject(selfTestCompleteStructClass, selfTestCompleteStructCtor);
return value;
}
case Events::AlarmMuted::Id: {
Events::AlarmMuted::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass alarmMutedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SmokeCoAlarmClusterAlarmMutedEvent", alarmMutedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SmokeCoAlarmClusterAlarmMutedEvent");
return nullptr;
}
jmethodID alarmMutedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, alarmMutedStructClass, "<init>", "()V", &alarmMutedStructCtor);
if (err != CHIP_NO_ERROR || alarmMutedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SmokeCoAlarmClusterAlarmMutedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(alarmMutedStructClass, alarmMutedStructCtor);
return value;
}
case Events::MuteEnded::Id: {
Events::MuteEnded::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass muteEndedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SmokeCoAlarmClusterMuteEndedEvent", muteEndedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SmokeCoAlarmClusterMuteEndedEvent");
return nullptr;
}
jmethodID muteEndedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, muteEndedStructClass, "<init>", "()V", &muteEndedStructCtor);
if (err != CHIP_NO_ERROR || muteEndedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SmokeCoAlarmClusterMuteEndedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(muteEndedStructClass, muteEndedStructCtor);
return value;
}
case Events::InterconnectSmokeAlarm::Id: {
Events::InterconnectSmokeAlarm::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_alarmSeverityLevel;
std::string value_alarmSeverityLevelClassName = "java/lang/Integer";
std::string value_alarmSeverityLevelCtorSignature = "(I)V";
jint jnivalue_alarmSeverityLevel = static_cast<jint>(cppValue.alarmSeverityLevel);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_alarmSeverityLevelClassName.c_str(),
value_alarmSeverityLevelCtorSignature.c_str(),
jnivalue_alarmSeverityLevel, value_alarmSeverityLevel);
jclass interconnectSmokeAlarmStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SmokeCoAlarmClusterInterconnectSmokeAlarmEvent",
interconnectSmokeAlarmStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SmokeCoAlarmClusterInterconnectSmokeAlarmEvent");
return nullptr;
}
jmethodID interconnectSmokeAlarmStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, interconnectSmokeAlarmStructClass, "<init>",
"(Ljava/lang/Integer;)V", &interconnectSmokeAlarmStructCtor);
if (err != CHIP_NO_ERROR || interconnectSmokeAlarmStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SmokeCoAlarmClusterInterconnectSmokeAlarmEvent constructor");
return nullptr;
}
jobject value =
env->NewObject(interconnectSmokeAlarmStructClass, interconnectSmokeAlarmStructCtor, value_alarmSeverityLevel);
return value;
}
case Events::InterconnectCOAlarm::Id: {
Events::InterconnectCOAlarm::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_alarmSeverityLevel;
std::string value_alarmSeverityLevelClassName = "java/lang/Integer";
std::string value_alarmSeverityLevelCtorSignature = "(I)V";
jint jnivalue_alarmSeverityLevel = static_cast<jint>(cppValue.alarmSeverityLevel);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_alarmSeverityLevelClassName.c_str(),
value_alarmSeverityLevelCtorSignature.c_str(),
jnivalue_alarmSeverityLevel, value_alarmSeverityLevel);
jclass interconnectCOAlarmStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SmokeCoAlarmClusterInterconnectCOAlarmEvent",
interconnectCOAlarmStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SmokeCoAlarmClusterInterconnectCOAlarmEvent");
return nullptr;
}
jmethodID interconnectCOAlarmStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, interconnectCOAlarmStructClass, "<init>",
"(Ljava/lang/Integer;)V", &interconnectCOAlarmStructCtor);
if (err != CHIP_NO_ERROR || interconnectCOAlarmStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SmokeCoAlarmClusterInterconnectCOAlarmEvent constructor");
return nullptr;
}
jobject value = env->NewObject(interconnectCOAlarmStructClass, interconnectCOAlarmStructCtor, value_alarmSeverityLevel);
return value;
}
case Events::AllClear::Id: {
Events::AllClear::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass allClearStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SmokeCoAlarmClusterAllClearEvent", allClearStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SmokeCoAlarmClusterAllClearEvent");
return nullptr;
}
jmethodID allClearStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, allClearStructClass, "<init>", "()V", &allClearStructCtor);
if (err != CHIP_NO_ERROR || allClearStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SmokeCoAlarmClusterAllClearEvent constructor");
return nullptr;
}
jobject value = env->NewObject(allClearStructClass, allClearStructCtor);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::DishwasherAlarm::Id: {
using namespace app::Clusters::DishwasherAlarm;
switch (aPath.mEventId)
{
case Events::Notify::Id: {
Events::Notify::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_active;
std::string value_activeClassName = "java/lang/Long";
std::string value_activeCtorSignature = "(J)V";
jlong jnivalue_active = static_cast<jlong>(cppValue.active.Raw());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_activeClassName.c_str(), value_activeCtorSignature.c_str(), jnivalue_active, value_active);
jobject value_inactive;
std::string value_inactiveClassName = "java/lang/Long";
std::string value_inactiveCtorSignature = "(J)V";
jlong jnivalue_inactive = static_cast<jlong>(cppValue.inactive.Raw());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_inactiveClassName.c_str(), value_inactiveCtorSignature.c_str(), jnivalue_inactive, value_inactive);
jobject value_state;
std::string value_stateClassName = "java/lang/Long";
std::string value_stateCtorSignature = "(J)V";
jlong jnivalue_state = static_cast<jlong>(cppValue.state.Raw());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_stateClassName.c_str(), value_stateCtorSignature.c_str(), jnivalue_state, value_state);
jobject value_mask;
std::string value_maskClassName = "java/lang/Long";
std::string value_maskCtorSignature = "(J)V";
jlong jnivalue_mask = static_cast<jlong>(cppValue.mask.Raw());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_maskClassName.c_str(),
value_maskCtorSignature.c_str(), jnivalue_mask, value_mask);
jclass notifyStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$DishwasherAlarmClusterNotifyEvent", notifyStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$DishwasherAlarmClusterNotifyEvent");
return nullptr;
}
jmethodID notifyStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, notifyStructClass, "<init>", "(Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;)V",
&notifyStructCtor);
if (err != CHIP_NO_ERROR || notifyStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$DishwasherAlarmClusterNotifyEvent constructor");
return nullptr;
}
jobject value =
env->NewObject(notifyStructClass, notifyStructCtor, value_active, value_inactive, value_state, value_mask);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::MicrowaveOvenMode::Id: {
using namespace app::Clusters::MicrowaveOvenMode;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::MicrowaveOvenControl::Id: {
using namespace app::Clusters::MicrowaveOvenControl;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::OperationalState::Id: {
using namespace app::Clusters::OperationalState;
switch (aPath.mEventId)
{
case Events::OperationalError::Id: {
Events::OperationalError::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_errorState;
jobject value_errorState_errorStateID;
std::string value_errorState_errorStateIDClassName = "java/lang/Integer";
std::string value_errorState_errorStateIDCtorSignature = "(I)V";
jint jnivalue_errorState_errorStateID = static_cast<jint>(cppValue.errorState.errorStateID);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_errorState_errorStateIDClassName.c_str(), value_errorState_errorStateIDCtorSignature.c_str(),
jnivalue_errorState_errorStateID, value_errorState_errorStateID);
jobject value_errorState_errorStateLabel;
if (!cppValue.errorState.errorStateLabel.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_errorState_errorStateLabel);
}
else
{
jobject value_errorState_errorStateLabelInsideOptional;
LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(
cppValue.errorState.errorStateLabel.Value(), value_errorState_errorStateLabelInsideOptional));
chip::JniReferences::GetInstance().CreateOptional(value_errorState_errorStateLabelInsideOptional,
value_errorState_errorStateLabel);
}
jobject value_errorState_errorStateDetails;
if (!cppValue.errorState.errorStateDetails.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_errorState_errorStateDetails);
}
else
{
jobject value_errorState_errorStateDetailsInsideOptional;
LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(
cppValue.errorState.errorStateDetails.Value(), value_errorState_errorStateDetailsInsideOptional));
chip::JniReferences::GetInstance().CreateOptional(value_errorState_errorStateDetailsInsideOptional,
value_errorState_errorStateDetails);
}
jclass errorStateStructStructClass_0;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$OperationalStateClusterErrorStateStruct", errorStateStructStructClass_0);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipStructs$OperationalStateClusterErrorStateStruct");
return nullptr;
}
jmethodID errorStateStructStructCtor_0;
err = chip::JniReferences::GetInstance().FindMethod(env, errorStateStructStructClass_0, "<init>",
"(Ljava/lang/Integer;Ljava/util/Optional;Ljava/util/Optional;)V",
&errorStateStructStructCtor_0);
if (err != CHIP_NO_ERROR || errorStateStructStructCtor_0 == nullptr)
{
ChipLogError(Zcl, "Could not find ChipStructs$OperationalStateClusterErrorStateStruct constructor");
return nullptr;
}
value_errorState =
env->NewObject(errorStateStructStructClass_0, errorStateStructStructCtor_0, value_errorState_errorStateID,
value_errorState_errorStateLabel, value_errorState_errorStateDetails);
jclass operationalErrorStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$OperationalStateClusterOperationalErrorEvent",
operationalErrorStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$OperationalStateClusterOperationalErrorEvent");
return nullptr;
}
jmethodID operationalErrorStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, operationalErrorStructClass, "<init>",
"(Lchip/devicecontroller/ChipStructs$OperationalStateClusterErrorStateStruct;)V", &operationalErrorStructCtor);
if (err != CHIP_NO_ERROR || operationalErrorStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$OperationalStateClusterOperationalErrorEvent constructor");
return nullptr;
}
jobject value = env->NewObject(operationalErrorStructClass, operationalErrorStructCtor, value_errorState);
return value;
}
case Events::OperationCompletion::Id: {
Events::OperationCompletion::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_completionErrorCode;
std::string value_completionErrorCodeClassName = "java/lang/Integer";
std::string value_completionErrorCodeCtorSignature = "(I)V";
jint jnivalue_completionErrorCode = static_cast<jint>(cppValue.completionErrorCode);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_completionErrorCodeClassName.c_str(),
value_completionErrorCodeCtorSignature.c_str(),
jnivalue_completionErrorCode, value_completionErrorCode);
jobject value_totalOperationalTime;
if (!cppValue.totalOperationalTime.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_totalOperationalTime);
}
else
{
jobject value_totalOperationalTimeInsideOptional;
if (cppValue.totalOperationalTime.Value().IsNull())
{
value_totalOperationalTimeInsideOptional = nullptr;
}
else
{
std::string value_totalOperationalTimeInsideOptionalClassName = "java/lang/Long";
std::string value_totalOperationalTimeInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_totalOperationalTimeInsideOptional =
static_cast<jlong>(cppValue.totalOperationalTime.Value().Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_totalOperationalTimeInsideOptionalClassName.c_str(),
value_totalOperationalTimeInsideOptionalCtorSignature.c_str(), jnivalue_totalOperationalTimeInsideOptional,
value_totalOperationalTimeInsideOptional);
}
chip::JniReferences::GetInstance().CreateOptional(value_totalOperationalTimeInsideOptional,
value_totalOperationalTime);
}
jobject value_pausedTime;
if (!cppValue.pausedTime.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_pausedTime);
}
else
{
jobject value_pausedTimeInsideOptional;
if (cppValue.pausedTime.Value().IsNull())
{
value_pausedTimeInsideOptional = nullptr;
}
else
{
std::string value_pausedTimeInsideOptionalClassName = "java/lang/Long";
std::string value_pausedTimeInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_pausedTimeInsideOptional = static_cast<jlong>(cppValue.pausedTime.Value().Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_pausedTimeInsideOptionalClassName.c_str(), value_pausedTimeInsideOptionalCtorSignature.c_str(),
jnivalue_pausedTimeInsideOptional, value_pausedTimeInsideOptional);
}
chip::JniReferences::GetInstance().CreateOptional(value_pausedTimeInsideOptional, value_pausedTime);
}
jclass operationCompletionStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$OperationalStateClusterOperationCompletionEvent",
operationCompletionStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$OperationalStateClusterOperationCompletionEvent");
return nullptr;
}
jmethodID operationCompletionStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, operationCompletionStructClass, "<init>",
"(Ljava/lang/Integer;Ljava/util/Optional;Ljava/util/Optional;)V",
&operationCompletionStructCtor);
if (err != CHIP_NO_ERROR || operationCompletionStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$OperationalStateClusterOperationCompletionEvent constructor");
return nullptr;
}
jobject value = env->NewObject(operationCompletionStructClass, operationCompletionStructCtor, value_completionErrorCode,
value_totalOperationalTime, value_pausedTime);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::RvcOperationalState::Id: {
using namespace app::Clusters::RvcOperationalState;
switch (aPath.mEventId)
{
case Events::OperationalError::Id: {
Events::OperationalError::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_errorState;
jobject value_errorState_errorStateID;
std::string value_errorState_errorStateIDClassName = "java/lang/Integer";
std::string value_errorState_errorStateIDCtorSignature = "(I)V";
jint jnivalue_errorState_errorStateID = static_cast<jint>(cppValue.errorState.errorStateID);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_errorState_errorStateIDClassName.c_str(), value_errorState_errorStateIDCtorSignature.c_str(),
jnivalue_errorState_errorStateID, value_errorState_errorStateID);
jobject value_errorState_errorStateLabel;
if (!cppValue.errorState.errorStateLabel.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_errorState_errorStateLabel);
}
else
{
jobject value_errorState_errorStateLabelInsideOptional;
LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(
cppValue.errorState.errorStateLabel.Value(), value_errorState_errorStateLabelInsideOptional));
chip::JniReferences::GetInstance().CreateOptional(value_errorState_errorStateLabelInsideOptional,
value_errorState_errorStateLabel);
}
jobject value_errorState_errorStateDetails;
if (!cppValue.errorState.errorStateDetails.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_errorState_errorStateDetails);
}
else
{
jobject value_errorState_errorStateDetailsInsideOptional;
LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(
cppValue.errorState.errorStateDetails.Value(), value_errorState_errorStateDetailsInsideOptional));
chip::JniReferences::GetInstance().CreateOptional(value_errorState_errorStateDetailsInsideOptional,
value_errorState_errorStateDetails);
}
jclass errorStateStructStructClass_0;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$RvcOperationalStateClusterErrorStateStruct", errorStateStructStructClass_0);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipStructs$RvcOperationalStateClusterErrorStateStruct");
return nullptr;
}
jmethodID errorStateStructStructCtor_0;
err = chip::JniReferences::GetInstance().FindMethod(env, errorStateStructStructClass_0, "<init>",
"(Ljava/lang/Integer;Ljava/util/Optional;Ljava/util/Optional;)V",
&errorStateStructStructCtor_0);
if (err != CHIP_NO_ERROR || errorStateStructStructCtor_0 == nullptr)
{
ChipLogError(Zcl, "Could not find ChipStructs$RvcOperationalStateClusterErrorStateStruct constructor");
return nullptr;
}
value_errorState =
env->NewObject(errorStateStructStructClass_0, errorStateStructStructCtor_0, value_errorState_errorStateID,
value_errorState_errorStateLabel, value_errorState_errorStateDetails);
jclass operationalErrorStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$RvcOperationalStateClusterOperationalErrorEvent",
operationalErrorStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$RvcOperationalStateClusterOperationalErrorEvent");
return nullptr;
}
jmethodID operationalErrorStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, operationalErrorStructClass, "<init>",
"(Lchip/devicecontroller/ChipStructs$RvcOperationalStateClusterErrorStateStruct;)V", &operationalErrorStructCtor);
if (err != CHIP_NO_ERROR || operationalErrorStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$RvcOperationalStateClusterOperationalErrorEvent constructor");
return nullptr;
}
jobject value = env->NewObject(operationalErrorStructClass, operationalErrorStructCtor, value_errorState);
return value;
}
case Events::OperationCompletion::Id: {
Events::OperationCompletion::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_completionErrorCode;
std::string value_completionErrorCodeClassName = "java/lang/Integer";
std::string value_completionErrorCodeCtorSignature = "(I)V";
jint jnivalue_completionErrorCode = static_cast<jint>(cppValue.completionErrorCode);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_completionErrorCodeClassName.c_str(),
value_completionErrorCodeCtorSignature.c_str(),
jnivalue_completionErrorCode, value_completionErrorCode);
jobject value_totalOperationalTime;
if (!cppValue.totalOperationalTime.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_totalOperationalTime);
}
else
{
jobject value_totalOperationalTimeInsideOptional;
if (cppValue.totalOperationalTime.Value().IsNull())
{
value_totalOperationalTimeInsideOptional = nullptr;
}
else
{
std::string value_totalOperationalTimeInsideOptionalClassName = "java/lang/Long";
std::string value_totalOperationalTimeInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_totalOperationalTimeInsideOptional =
static_cast<jlong>(cppValue.totalOperationalTime.Value().Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_totalOperationalTimeInsideOptionalClassName.c_str(),
value_totalOperationalTimeInsideOptionalCtorSignature.c_str(), jnivalue_totalOperationalTimeInsideOptional,
value_totalOperationalTimeInsideOptional);
}
chip::JniReferences::GetInstance().CreateOptional(value_totalOperationalTimeInsideOptional,
value_totalOperationalTime);
}
jobject value_pausedTime;
if (!cppValue.pausedTime.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_pausedTime);
}
else
{
jobject value_pausedTimeInsideOptional;
if (cppValue.pausedTime.Value().IsNull())
{
value_pausedTimeInsideOptional = nullptr;
}
else
{
std::string value_pausedTimeInsideOptionalClassName = "java/lang/Long";
std::string value_pausedTimeInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_pausedTimeInsideOptional = static_cast<jlong>(cppValue.pausedTime.Value().Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_pausedTimeInsideOptionalClassName.c_str(), value_pausedTimeInsideOptionalCtorSignature.c_str(),
jnivalue_pausedTimeInsideOptional, value_pausedTimeInsideOptional);
}
chip::JniReferences::GetInstance().CreateOptional(value_pausedTimeInsideOptional, value_pausedTime);
}
jclass operationCompletionStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$RvcOperationalStateClusterOperationCompletionEvent",
operationCompletionStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$RvcOperationalStateClusterOperationCompletionEvent");
return nullptr;
}
jmethodID operationCompletionStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, operationCompletionStructClass, "<init>",
"(Ljava/lang/Integer;Ljava/util/Optional;Ljava/util/Optional;)V",
&operationCompletionStructCtor);
if (err != CHIP_NO_ERROR || operationCompletionStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$RvcOperationalStateClusterOperationCompletionEvent constructor");
return nullptr;
}
jobject value = env->NewObject(operationCompletionStructClass, operationCompletionStructCtor, value_completionErrorCode,
value_totalOperationalTime, value_pausedTime);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ScenesManagement::Id: {
using namespace app::Clusters::ScenesManagement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::HepaFilterMonitoring::Id: {
using namespace app::Clusters::HepaFilterMonitoring;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ActivatedCarbonFilterMonitoring::Id: {
using namespace app::Clusters::ActivatedCarbonFilterMonitoring;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::BooleanStateConfiguration::Id: {
using namespace app::Clusters::BooleanStateConfiguration;
switch (aPath.mEventId)
{
case Events::AlarmsStateChanged::Id: {
Events::AlarmsStateChanged::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_alarmsActive;
std::string value_alarmsActiveClassName = "java/lang/Integer";
std::string value_alarmsActiveCtorSignature = "(I)V";
jint jnivalue_alarmsActive = static_cast<jint>(cppValue.alarmsActive.Raw());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_alarmsActiveClassName.c_str(),
value_alarmsActiveCtorSignature.c_str(),
jnivalue_alarmsActive, value_alarmsActive);
jobject value_alarmsSuppressed;
if (!cppValue.alarmsSuppressed.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_alarmsSuppressed);
}
else
{
jobject value_alarmsSuppressedInsideOptional;
std::string value_alarmsSuppressedInsideOptionalClassName = "java/lang/Integer";
std::string value_alarmsSuppressedInsideOptionalCtorSignature = "(I)V";
jint jnivalue_alarmsSuppressedInsideOptional = static_cast<jint>(cppValue.alarmsSuppressed.Value().Raw());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_alarmsSuppressedInsideOptionalClassName.c_str(),
value_alarmsSuppressedInsideOptionalCtorSignature.c_str(), jnivalue_alarmsSuppressedInsideOptional,
value_alarmsSuppressedInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(value_alarmsSuppressedInsideOptional, value_alarmsSuppressed);
}
jclass alarmsStateChangedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$BooleanStateConfigurationClusterAlarmsStateChangedEvent",
alarmsStateChangedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$BooleanStateConfigurationClusterAlarmsStateChangedEvent");
return nullptr;
}
jmethodID alarmsStateChangedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, alarmsStateChangedStructClass, "<init>",
"(Ljava/lang/Integer;Ljava/util/Optional;)V",
&alarmsStateChangedStructCtor);
if (err != CHIP_NO_ERROR || alarmsStateChangedStructCtor == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipEventStructs$BooleanStateConfigurationClusterAlarmsStateChangedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(alarmsStateChangedStructClass, alarmsStateChangedStructCtor, value_alarmsActive,
value_alarmsSuppressed);
return value;
}
case Events::SensorFault::Id: {
Events::SensorFault::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_sensorFault;
std::string value_sensorFaultClassName = "java/lang/Integer";
std::string value_sensorFaultCtorSignature = "(I)V";
jint jnivalue_sensorFault = static_cast<jint>(cppValue.sensorFault.Raw());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_sensorFaultClassName.c_str(),
value_sensorFaultCtorSignature.c_str(), jnivalue_sensorFault,
value_sensorFault);
jclass sensorFaultStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$BooleanStateConfigurationClusterSensorFaultEvent",
sensorFaultStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$BooleanStateConfigurationClusterSensorFaultEvent");
return nullptr;
}
jmethodID sensorFaultStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, sensorFaultStructClass, "<init>", "(Ljava/lang/Integer;)V",
&sensorFaultStructCtor);
if (err != CHIP_NO_ERROR || sensorFaultStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$BooleanStateConfigurationClusterSensorFaultEvent constructor");
return nullptr;
}
jobject value = env->NewObject(sensorFaultStructClass, sensorFaultStructCtor, value_sensorFault);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ValveConfigurationAndControl::Id: {
using namespace app::Clusters::ValveConfigurationAndControl;
switch (aPath.mEventId)
{
case Events::ValveStateChanged::Id: {
Events::ValveStateChanged::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_valveState;
std::string value_valveStateClassName = "java/lang/Integer";
std::string value_valveStateCtorSignature = "(I)V";
jint jnivalue_valveState = static_cast<jint>(cppValue.valveState);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_valveStateClassName.c_str(), value_valveStateCtorSignature.c_str(), jnivalue_valveState, value_valveState);
jobject value_valveLevel;
if (!cppValue.valveLevel.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_valveLevel);
}
else
{
jobject value_valveLevelInsideOptional;
std::string value_valveLevelInsideOptionalClassName = "java/lang/Integer";
std::string value_valveLevelInsideOptionalCtorSignature = "(I)V";
jint jnivalue_valveLevelInsideOptional = static_cast<jint>(cppValue.valveLevel.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_valveLevelInsideOptionalClassName.c_str(), value_valveLevelInsideOptionalCtorSignature.c_str(),
jnivalue_valveLevelInsideOptional, value_valveLevelInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(value_valveLevelInsideOptional, value_valveLevel);
}
jclass valveStateChangedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$ValveConfigurationAndControlClusterValveStateChangedEvent",
valveStateChangedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl,
"Could not find class ChipEventStructs$ValveConfigurationAndControlClusterValveStateChangedEvent");
return nullptr;
}
jmethodID valveStateChangedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, valveStateChangedStructClass, "<init>",
"(Ljava/lang/Integer;Ljava/util/Optional;)V",
&valveStateChangedStructCtor);
if (err != CHIP_NO_ERROR || valveStateChangedStructCtor == nullptr)
{
ChipLogError(
Zcl, "Could not find ChipEventStructs$ValveConfigurationAndControlClusterValveStateChangedEvent constructor");
return nullptr;
}
jobject value =
env->NewObject(valveStateChangedStructClass, valveStateChangedStructCtor, value_valveState, value_valveLevel);
return value;
}
case Events::ValveFault::Id: {
Events::ValveFault::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_valveFault;
std::string value_valveFaultClassName = "java/lang/Integer";
std::string value_valveFaultCtorSignature = "(I)V";
jint jnivalue_valveFault = static_cast<jint>(cppValue.valveFault.Raw());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_valveFaultClassName.c_str(), value_valveFaultCtorSignature.c_str(), jnivalue_valveFault, value_valveFault);
jclass valveFaultStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$ValveConfigurationAndControlClusterValveFaultEvent",
valveFaultStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$ValveConfigurationAndControlClusterValveFaultEvent");
return nullptr;
}
jmethodID valveFaultStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, valveFaultStructClass, "<init>", "(Ljava/lang/Integer;)V",
&valveFaultStructCtor);
if (err != CHIP_NO_ERROR || valveFaultStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$ValveConfigurationAndControlClusterValveFaultEvent constructor");
return nullptr;
}
jobject value = env->NewObject(valveFaultStructClass, valveFaultStructCtor, value_valveFault);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ElectricalPowerMeasurement::Id: {
using namespace app::Clusters::ElectricalPowerMeasurement;
switch (aPath.mEventId)
{
case Events::MeasurementPeriodRanges::Id: {
Events::MeasurementPeriodRanges::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_ranges;
chip::JniReferences::GetInstance().CreateArrayList(value_ranges);
auto iter_value_ranges_0 = cppValue.ranges.begin();
while (iter_value_ranges_0.Next())
{
auto & entry_0 = iter_value_ranges_0.GetValue();
jobject newElement_0;
jobject newElement_0_measurementType;
std::string newElement_0_measurementTypeClassName = "java/lang/Integer";
std::string newElement_0_measurementTypeCtorSignature = "(I)V";
jint jninewElement_0_measurementType = static_cast<jint>(entry_0.measurementType);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0_measurementTypeClassName.c_str(), newElement_0_measurementTypeCtorSignature.c_str(),
jninewElement_0_measurementType, newElement_0_measurementType);
jobject newElement_0_min;
std::string newElement_0_minClassName = "java/lang/Long";
std::string newElement_0_minCtorSignature = "(J)V";
jlong jninewElement_0_min = static_cast<jlong>(entry_0.min);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(newElement_0_minClassName.c_str(),
newElement_0_minCtorSignature.c_str(),
jninewElement_0_min, newElement_0_min);
jobject newElement_0_max;
std::string newElement_0_maxClassName = "java/lang/Long";
std::string newElement_0_maxCtorSignature = "(J)V";
jlong jninewElement_0_max = static_cast<jlong>(entry_0.max);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(newElement_0_maxClassName.c_str(),
newElement_0_maxCtorSignature.c_str(),
jninewElement_0_max, newElement_0_max);
jobject newElement_0_startTimestamp;
if (!entry_0.startTimestamp.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, newElement_0_startTimestamp);
}
else
{
jobject newElement_0_startTimestampInsideOptional;
std::string newElement_0_startTimestampInsideOptionalClassName = "java/lang/Long";
std::string newElement_0_startTimestampInsideOptionalCtorSignature = "(J)V";
jlong jninewElement_0_startTimestampInsideOptional = static_cast<jlong>(entry_0.startTimestamp.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
newElement_0_startTimestampInsideOptionalClassName.c_str(),
newElement_0_startTimestampInsideOptionalCtorSignature.c_str(),
jninewElement_0_startTimestampInsideOptional, newElement_0_startTimestampInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(newElement_0_startTimestampInsideOptional,
newElement_0_startTimestamp);
}
jobject newElement_0_endTimestamp;
if (!entry_0.endTimestamp.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, newElement_0_endTimestamp);
}
else
{
jobject newElement_0_endTimestampInsideOptional;
std::string newElement_0_endTimestampInsideOptionalClassName = "java/lang/Long";
std::string newElement_0_endTimestampInsideOptionalCtorSignature = "(J)V";
jlong jninewElement_0_endTimestampInsideOptional = static_cast<jlong>(entry_0.endTimestamp.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
newElement_0_endTimestampInsideOptionalClassName.c_str(),
newElement_0_endTimestampInsideOptionalCtorSignature.c_str(), jninewElement_0_endTimestampInsideOptional,
newElement_0_endTimestampInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(newElement_0_endTimestampInsideOptional,
newElement_0_endTimestamp);
}
jobject newElement_0_minTimestamp;
if (!entry_0.minTimestamp.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, newElement_0_minTimestamp);
}
else
{
jobject newElement_0_minTimestampInsideOptional;
std::string newElement_0_minTimestampInsideOptionalClassName = "java/lang/Long";
std::string newElement_0_minTimestampInsideOptionalCtorSignature = "(J)V";
jlong jninewElement_0_minTimestampInsideOptional = static_cast<jlong>(entry_0.minTimestamp.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
newElement_0_minTimestampInsideOptionalClassName.c_str(),
newElement_0_minTimestampInsideOptionalCtorSignature.c_str(), jninewElement_0_minTimestampInsideOptional,
newElement_0_minTimestampInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(newElement_0_minTimestampInsideOptional,
newElement_0_minTimestamp);
}
jobject newElement_0_maxTimestamp;
if (!entry_0.maxTimestamp.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, newElement_0_maxTimestamp);
}
else
{
jobject newElement_0_maxTimestampInsideOptional;
std::string newElement_0_maxTimestampInsideOptionalClassName = "java/lang/Long";
std::string newElement_0_maxTimestampInsideOptionalCtorSignature = "(J)V";
jlong jninewElement_0_maxTimestampInsideOptional = static_cast<jlong>(entry_0.maxTimestamp.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
newElement_0_maxTimestampInsideOptionalClassName.c_str(),
newElement_0_maxTimestampInsideOptionalCtorSignature.c_str(), jninewElement_0_maxTimestampInsideOptional,
newElement_0_maxTimestampInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(newElement_0_maxTimestampInsideOptional,
newElement_0_maxTimestamp);
}
jobject newElement_0_startSystime;
if (!entry_0.startSystime.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, newElement_0_startSystime);
}
else
{
jobject newElement_0_startSystimeInsideOptional;
std::string newElement_0_startSystimeInsideOptionalClassName = "java/lang/Long";
std::string newElement_0_startSystimeInsideOptionalCtorSignature = "(J)V";
jlong jninewElement_0_startSystimeInsideOptional = static_cast<jlong>(entry_0.startSystime.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
newElement_0_startSystimeInsideOptionalClassName.c_str(),
newElement_0_startSystimeInsideOptionalCtorSignature.c_str(), jninewElement_0_startSystimeInsideOptional,
newElement_0_startSystimeInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(newElement_0_startSystimeInsideOptional,
newElement_0_startSystime);
}
jobject newElement_0_endSystime;
if (!entry_0.endSystime.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, newElement_0_endSystime);
}
else
{
jobject newElement_0_endSystimeInsideOptional;
std::string newElement_0_endSystimeInsideOptionalClassName = "java/lang/Long";
std::string newElement_0_endSystimeInsideOptionalCtorSignature = "(J)V";
jlong jninewElement_0_endSystimeInsideOptional = static_cast<jlong>(entry_0.endSystime.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
newElement_0_endSystimeInsideOptionalClassName.c_str(),
newElement_0_endSystimeInsideOptionalCtorSignature.c_str(), jninewElement_0_endSystimeInsideOptional,
newElement_0_endSystimeInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(newElement_0_endSystimeInsideOptional,
newElement_0_endSystime);
}
jobject newElement_0_minSystime;
if (!entry_0.minSystime.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, newElement_0_minSystime);
}
else
{
jobject newElement_0_minSystimeInsideOptional;
std::string newElement_0_minSystimeInsideOptionalClassName = "java/lang/Long";
std::string newElement_0_minSystimeInsideOptionalCtorSignature = "(J)V";
jlong jninewElement_0_minSystimeInsideOptional = static_cast<jlong>(entry_0.minSystime.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
newElement_0_minSystimeInsideOptionalClassName.c_str(),
newElement_0_minSystimeInsideOptionalCtorSignature.c_str(), jninewElement_0_minSystimeInsideOptional,
newElement_0_minSystimeInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(newElement_0_minSystimeInsideOptional,
newElement_0_minSystime);
}
jobject newElement_0_maxSystime;
if (!entry_0.maxSystime.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, newElement_0_maxSystime);
}
else
{
jobject newElement_0_maxSystimeInsideOptional;
std::string newElement_0_maxSystimeInsideOptionalClassName = "java/lang/Long";
std::string newElement_0_maxSystimeInsideOptionalCtorSignature = "(J)V";
jlong jninewElement_0_maxSystimeInsideOptional = static_cast<jlong>(entry_0.maxSystime.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
newElement_0_maxSystimeInsideOptionalClassName.c_str(),
newElement_0_maxSystimeInsideOptionalCtorSignature.c_str(), jninewElement_0_maxSystimeInsideOptional,
newElement_0_maxSystimeInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(newElement_0_maxSystimeInsideOptional,
newElement_0_maxSystime);
}
jclass measurementRangeStructStructClass_1;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$ElectricalPowerMeasurementClusterMeasurementRangeStruct",
measurementRangeStructStructClass_1);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipStructs$ElectricalPowerMeasurementClusterMeasurementRangeStruct");
return nullptr;
}
jmethodID measurementRangeStructStructCtor_1;
err = chip::JniReferences::GetInstance().FindMethod(
env, measurementRangeStructStructClass_1, "<init>",
"(Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Long;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/"
"Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/"
"Optional;)V",
&measurementRangeStructStructCtor_1);
if (err != CHIP_NO_ERROR || measurementRangeStructStructCtor_1 == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipStructs$ElectricalPowerMeasurementClusterMeasurementRangeStruct constructor");
return nullptr;
}
newElement_0 = env->NewObject(measurementRangeStructStructClass_1, measurementRangeStructStructCtor_1,
newElement_0_measurementType, newElement_0_min, newElement_0_max,
newElement_0_startTimestamp, newElement_0_endTimestamp, newElement_0_minTimestamp,
newElement_0_maxTimestamp, newElement_0_startSystime, newElement_0_endSystime,
newElement_0_minSystime, newElement_0_maxSystime);
chip::JniReferences::GetInstance().AddToList(value_ranges, newElement_0);
}
jclass measurementPeriodRangesStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$ElectricalPowerMeasurementClusterMeasurementPeriodRangesEvent",
measurementPeriodRangesStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl,
"Could not find class ChipEventStructs$ElectricalPowerMeasurementClusterMeasurementPeriodRangesEvent");
return nullptr;
}
jmethodID measurementPeriodRangesStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, measurementPeriodRangesStructClass, "<init>",
"(Ljava/util/ArrayList;)V", &measurementPeriodRangesStructCtor);
if (err != CHIP_NO_ERROR || measurementPeriodRangesStructCtor == nullptr)
{
ChipLogError(
Zcl,
"Could not find ChipEventStructs$ElectricalPowerMeasurementClusterMeasurementPeriodRangesEvent constructor");
return nullptr;
}
jobject value = env->NewObject(measurementPeriodRangesStructClass, measurementPeriodRangesStructCtor, value_ranges);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ElectricalEnergyMeasurement::Id: {
using namespace app::Clusters::ElectricalEnergyMeasurement;
switch (aPath.mEventId)
{
case Events::CumulativeEnergyMeasured::Id: {
Events::CumulativeEnergyMeasured::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_energyImported;
if (!cppValue.energyImported.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyImported);
}
else
{
jobject value_energyImportedInsideOptional;
jobject value_energyImportedInsideOptional_energy;
std::string value_energyImportedInsideOptional_energyClassName = "java/lang/Long";
std::string value_energyImportedInsideOptional_energyCtorSignature = "(J)V";
jlong jnivalue_energyImportedInsideOptional_energy = static_cast<jlong>(cppValue.energyImported.Value().energy);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyImportedInsideOptional_energyClassName.c_str(),
value_energyImportedInsideOptional_energyCtorSignature.c_str(), jnivalue_energyImportedInsideOptional_energy,
value_energyImportedInsideOptional_energy);
jobject value_energyImportedInsideOptional_startTimestamp;
if (!cppValue.energyImported.Value().startTimestamp.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyImportedInsideOptional_startTimestamp);
}
else
{
jobject value_energyImportedInsideOptional_startTimestampInsideOptional;
std::string value_energyImportedInsideOptional_startTimestampInsideOptionalClassName = "java/lang/Long";
std::string value_energyImportedInsideOptional_startTimestampInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_energyImportedInsideOptional_startTimestampInsideOptional =
static_cast<jlong>(cppValue.energyImported.Value().startTimestamp.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyImportedInsideOptional_startTimestampInsideOptionalClassName.c_str(),
value_energyImportedInsideOptional_startTimestampInsideOptionalCtorSignature.c_str(),
jnivalue_energyImportedInsideOptional_startTimestampInsideOptional,
value_energyImportedInsideOptional_startTimestampInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(
value_energyImportedInsideOptional_startTimestampInsideOptional,
value_energyImportedInsideOptional_startTimestamp);
}
jobject value_energyImportedInsideOptional_endTimestamp;
if (!cppValue.energyImported.Value().endTimestamp.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyImportedInsideOptional_endTimestamp);
}
else
{
jobject value_energyImportedInsideOptional_endTimestampInsideOptional;
std::string value_energyImportedInsideOptional_endTimestampInsideOptionalClassName = "java/lang/Long";
std::string value_energyImportedInsideOptional_endTimestampInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_energyImportedInsideOptional_endTimestampInsideOptional =
static_cast<jlong>(cppValue.energyImported.Value().endTimestamp.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyImportedInsideOptional_endTimestampInsideOptionalClassName.c_str(),
value_energyImportedInsideOptional_endTimestampInsideOptionalCtorSignature.c_str(),
jnivalue_energyImportedInsideOptional_endTimestampInsideOptional,
value_energyImportedInsideOptional_endTimestampInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(value_energyImportedInsideOptional_endTimestampInsideOptional,
value_energyImportedInsideOptional_endTimestamp);
}
jobject value_energyImportedInsideOptional_startSystime;
if (!cppValue.energyImported.Value().startSystime.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyImportedInsideOptional_startSystime);
}
else
{
jobject value_energyImportedInsideOptional_startSystimeInsideOptional;
std::string value_energyImportedInsideOptional_startSystimeInsideOptionalClassName = "java/lang/Long";
std::string value_energyImportedInsideOptional_startSystimeInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_energyImportedInsideOptional_startSystimeInsideOptional =
static_cast<jlong>(cppValue.energyImported.Value().startSystime.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyImportedInsideOptional_startSystimeInsideOptionalClassName.c_str(),
value_energyImportedInsideOptional_startSystimeInsideOptionalCtorSignature.c_str(),
jnivalue_energyImportedInsideOptional_startSystimeInsideOptional,
value_energyImportedInsideOptional_startSystimeInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(value_energyImportedInsideOptional_startSystimeInsideOptional,
value_energyImportedInsideOptional_startSystime);
}
jobject value_energyImportedInsideOptional_endSystime;
if (!cppValue.energyImported.Value().endSystime.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyImportedInsideOptional_endSystime);
}
else
{
jobject value_energyImportedInsideOptional_endSystimeInsideOptional;
std::string value_energyImportedInsideOptional_endSystimeInsideOptionalClassName = "java/lang/Long";
std::string value_energyImportedInsideOptional_endSystimeInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_energyImportedInsideOptional_endSystimeInsideOptional =
static_cast<jlong>(cppValue.energyImported.Value().endSystime.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyImportedInsideOptional_endSystimeInsideOptionalClassName.c_str(),
value_energyImportedInsideOptional_endSystimeInsideOptionalCtorSignature.c_str(),
jnivalue_energyImportedInsideOptional_endSystimeInsideOptional,
value_energyImportedInsideOptional_endSystimeInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(value_energyImportedInsideOptional_endSystimeInsideOptional,
value_energyImportedInsideOptional_endSystime);
}
jclass energyMeasurementStructStructClass_1;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$ElectricalEnergyMeasurementClusterEnergyMeasurementStruct",
energyMeasurementStructStructClass_1);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipStructs$ElectricalEnergyMeasurementClusterEnergyMeasurementStruct");
return nullptr;
}
jmethodID energyMeasurementStructStructCtor_1;
err = chip::JniReferences::GetInstance().FindMethod(
env, energyMeasurementStructStructClass_1, "<init>",
"(Ljava/lang/Long;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;)V",
&energyMeasurementStructStructCtor_1);
if (err != CHIP_NO_ERROR || energyMeasurementStructStructCtor_1 == nullptr)
{
ChipLogError(
Zcl, "Could not find ChipStructs$ElectricalEnergyMeasurementClusterEnergyMeasurementStruct constructor");
return nullptr;
}
value_energyImportedInsideOptional =
env->NewObject(energyMeasurementStructStructClass_1, energyMeasurementStructStructCtor_1,
value_energyImportedInsideOptional_energy, value_energyImportedInsideOptional_startTimestamp,
value_energyImportedInsideOptional_endTimestamp, value_energyImportedInsideOptional_startSystime,
value_energyImportedInsideOptional_endSystime);
chip::JniReferences::GetInstance().CreateOptional(value_energyImportedInsideOptional, value_energyImported);
}
jobject value_energyExported;
if (!cppValue.energyExported.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyExported);
}
else
{
jobject value_energyExportedInsideOptional;
jobject value_energyExportedInsideOptional_energy;
std::string value_energyExportedInsideOptional_energyClassName = "java/lang/Long";
std::string value_energyExportedInsideOptional_energyCtorSignature = "(J)V";
jlong jnivalue_energyExportedInsideOptional_energy = static_cast<jlong>(cppValue.energyExported.Value().energy);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyExportedInsideOptional_energyClassName.c_str(),
value_energyExportedInsideOptional_energyCtorSignature.c_str(), jnivalue_energyExportedInsideOptional_energy,
value_energyExportedInsideOptional_energy);
jobject value_energyExportedInsideOptional_startTimestamp;
if (!cppValue.energyExported.Value().startTimestamp.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyExportedInsideOptional_startTimestamp);
}
else
{
jobject value_energyExportedInsideOptional_startTimestampInsideOptional;
std::string value_energyExportedInsideOptional_startTimestampInsideOptionalClassName = "java/lang/Long";
std::string value_energyExportedInsideOptional_startTimestampInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_energyExportedInsideOptional_startTimestampInsideOptional =
static_cast<jlong>(cppValue.energyExported.Value().startTimestamp.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyExportedInsideOptional_startTimestampInsideOptionalClassName.c_str(),
value_energyExportedInsideOptional_startTimestampInsideOptionalCtorSignature.c_str(),
jnivalue_energyExportedInsideOptional_startTimestampInsideOptional,
value_energyExportedInsideOptional_startTimestampInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(
value_energyExportedInsideOptional_startTimestampInsideOptional,
value_energyExportedInsideOptional_startTimestamp);
}
jobject value_energyExportedInsideOptional_endTimestamp;
if (!cppValue.energyExported.Value().endTimestamp.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyExportedInsideOptional_endTimestamp);
}
else
{
jobject value_energyExportedInsideOptional_endTimestampInsideOptional;
std::string value_energyExportedInsideOptional_endTimestampInsideOptionalClassName = "java/lang/Long";
std::string value_energyExportedInsideOptional_endTimestampInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_energyExportedInsideOptional_endTimestampInsideOptional =
static_cast<jlong>(cppValue.energyExported.Value().endTimestamp.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyExportedInsideOptional_endTimestampInsideOptionalClassName.c_str(),
value_energyExportedInsideOptional_endTimestampInsideOptionalCtorSignature.c_str(),
jnivalue_energyExportedInsideOptional_endTimestampInsideOptional,
value_energyExportedInsideOptional_endTimestampInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(value_energyExportedInsideOptional_endTimestampInsideOptional,
value_energyExportedInsideOptional_endTimestamp);
}
jobject value_energyExportedInsideOptional_startSystime;
if (!cppValue.energyExported.Value().startSystime.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyExportedInsideOptional_startSystime);
}
else
{
jobject value_energyExportedInsideOptional_startSystimeInsideOptional;
std::string value_energyExportedInsideOptional_startSystimeInsideOptionalClassName = "java/lang/Long";
std::string value_energyExportedInsideOptional_startSystimeInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_energyExportedInsideOptional_startSystimeInsideOptional =
static_cast<jlong>(cppValue.energyExported.Value().startSystime.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyExportedInsideOptional_startSystimeInsideOptionalClassName.c_str(),
value_energyExportedInsideOptional_startSystimeInsideOptionalCtorSignature.c_str(),
jnivalue_energyExportedInsideOptional_startSystimeInsideOptional,
value_energyExportedInsideOptional_startSystimeInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(value_energyExportedInsideOptional_startSystimeInsideOptional,
value_energyExportedInsideOptional_startSystime);
}
jobject value_energyExportedInsideOptional_endSystime;
if (!cppValue.energyExported.Value().endSystime.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyExportedInsideOptional_endSystime);
}
else
{
jobject value_energyExportedInsideOptional_endSystimeInsideOptional;
std::string value_energyExportedInsideOptional_endSystimeInsideOptionalClassName = "java/lang/Long";
std::string value_energyExportedInsideOptional_endSystimeInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_energyExportedInsideOptional_endSystimeInsideOptional =
static_cast<jlong>(cppValue.energyExported.Value().endSystime.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyExportedInsideOptional_endSystimeInsideOptionalClassName.c_str(),
value_energyExportedInsideOptional_endSystimeInsideOptionalCtorSignature.c_str(),
jnivalue_energyExportedInsideOptional_endSystimeInsideOptional,
value_energyExportedInsideOptional_endSystimeInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(value_energyExportedInsideOptional_endSystimeInsideOptional,
value_energyExportedInsideOptional_endSystime);
}
jclass energyMeasurementStructStructClass_1;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$ElectricalEnergyMeasurementClusterEnergyMeasurementStruct",
energyMeasurementStructStructClass_1);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipStructs$ElectricalEnergyMeasurementClusterEnergyMeasurementStruct");
return nullptr;
}
jmethodID energyMeasurementStructStructCtor_1;
err = chip::JniReferences::GetInstance().FindMethod(
env, energyMeasurementStructStructClass_1, "<init>",
"(Ljava/lang/Long;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;)V",
&energyMeasurementStructStructCtor_1);
if (err != CHIP_NO_ERROR || energyMeasurementStructStructCtor_1 == nullptr)
{
ChipLogError(
Zcl, "Could not find ChipStructs$ElectricalEnergyMeasurementClusterEnergyMeasurementStruct constructor");
return nullptr;
}
value_energyExportedInsideOptional =
env->NewObject(energyMeasurementStructStructClass_1, energyMeasurementStructStructCtor_1,
value_energyExportedInsideOptional_energy, value_energyExportedInsideOptional_startTimestamp,
value_energyExportedInsideOptional_endTimestamp, value_energyExportedInsideOptional_startSystime,
value_energyExportedInsideOptional_endSystime);
chip::JniReferences::GetInstance().CreateOptional(value_energyExportedInsideOptional, value_energyExported);
}
jclass cumulativeEnergyMeasuredStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$ElectricalEnergyMeasurementClusterCumulativeEnergyMeasuredEvent",
cumulativeEnergyMeasuredStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(
Zcl, "Could not find class ChipEventStructs$ElectricalEnergyMeasurementClusterCumulativeEnergyMeasuredEvent");
return nullptr;
}
jmethodID cumulativeEnergyMeasuredStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, cumulativeEnergyMeasuredStructClass, "<init>",
"(Ljava/util/Optional;Ljava/util/Optional;)V",
&cumulativeEnergyMeasuredStructCtor);
if (err != CHIP_NO_ERROR || cumulativeEnergyMeasuredStructCtor == nullptr)
{
ChipLogError(
Zcl,
"Could not find ChipEventStructs$ElectricalEnergyMeasurementClusterCumulativeEnergyMeasuredEvent constructor");
return nullptr;
}
jobject value = env->NewObject(cumulativeEnergyMeasuredStructClass, cumulativeEnergyMeasuredStructCtor,
value_energyImported, value_energyExported);
return value;
}
case Events::PeriodicEnergyMeasured::Id: {
Events::PeriodicEnergyMeasured::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_energyImported;
if (!cppValue.energyImported.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyImported);
}
else
{
jobject value_energyImportedInsideOptional;
jobject value_energyImportedInsideOptional_energy;
std::string value_energyImportedInsideOptional_energyClassName = "java/lang/Long";
std::string value_energyImportedInsideOptional_energyCtorSignature = "(J)V";
jlong jnivalue_energyImportedInsideOptional_energy = static_cast<jlong>(cppValue.energyImported.Value().energy);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyImportedInsideOptional_energyClassName.c_str(),
value_energyImportedInsideOptional_energyCtorSignature.c_str(), jnivalue_energyImportedInsideOptional_energy,
value_energyImportedInsideOptional_energy);
jobject value_energyImportedInsideOptional_startTimestamp;
if (!cppValue.energyImported.Value().startTimestamp.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyImportedInsideOptional_startTimestamp);
}
else
{
jobject value_energyImportedInsideOptional_startTimestampInsideOptional;
std::string value_energyImportedInsideOptional_startTimestampInsideOptionalClassName = "java/lang/Long";
std::string value_energyImportedInsideOptional_startTimestampInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_energyImportedInsideOptional_startTimestampInsideOptional =
static_cast<jlong>(cppValue.energyImported.Value().startTimestamp.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyImportedInsideOptional_startTimestampInsideOptionalClassName.c_str(),
value_energyImportedInsideOptional_startTimestampInsideOptionalCtorSignature.c_str(),
jnivalue_energyImportedInsideOptional_startTimestampInsideOptional,
value_energyImportedInsideOptional_startTimestampInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(
value_energyImportedInsideOptional_startTimestampInsideOptional,
value_energyImportedInsideOptional_startTimestamp);
}
jobject value_energyImportedInsideOptional_endTimestamp;
if (!cppValue.energyImported.Value().endTimestamp.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyImportedInsideOptional_endTimestamp);
}
else
{
jobject value_energyImportedInsideOptional_endTimestampInsideOptional;
std::string value_energyImportedInsideOptional_endTimestampInsideOptionalClassName = "java/lang/Long";
std::string value_energyImportedInsideOptional_endTimestampInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_energyImportedInsideOptional_endTimestampInsideOptional =
static_cast<jlong>(cppValue.energyImported.Value().endTimestamp.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyImportedInsideOptional_endTimestampInsideOptionalClassName.c_str(),
value_energyImportedInsideOptional_endTimestampInsideOptionalCtorSignature.c_str(),
jnivalue_energyImportedInsideOptional_endTimestampInsideOptional,
value_energyImportedInsideOptional_endTimestampInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(value_energyImportedInsideOptional_endTimestampInsideOptional,
value_energyImportedInsideOptional_endTimestamp);
}
jobject value_energyImportedInsideOptional_startSystime;
if (!cppValue.energyImported.Value().startSystime.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyImportedInsideOptional_startSystime);
}
else
{
jobject value_energyImportedInsideOptional_startSystimeInsideOptional;
std::string value_energyImportedInsideOptional_startSystimeInsideOptionalClassName = "java/lang/Long";
std::string value_energyImportedInsideOptional_startSystimeInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_energyImportedInsideOptional_startSystimeInsideOptional =
static_cast<jlong>(cppValue.energyImported.Value().startSystime.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyImportedInsideOptional_startSystimeInsideOptionalClassName.c_str(),
value_energyImportedInsideOptional_startSystimeInsideOptionalCtorSignature.c_str(),
jnivalue_energyImportedInsideOptional_startSystimeInsideOptional,
value_energyImportedInsideOptional_startSystimeInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(value_energyImportedInsideOptional_startSystimeInsideOptional,
value_energyImportedInsideOptional_startSystime);
}
jobject value_energyImportedInsideOptional_endSystime;
if (!cppValue.energyImported.Value().endSystime.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyImportedInsideOptional_endSystime);
}
else
{
jobject value_energyImportedInsideOptional_endSystimeInsideOptional;
std::string value_energyImportedInsideOptional_endSystimeInsideOptionalClassName = "java/lang/Long";
std::string value_energyImportedInsideOptional_endSystimeInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_energyImportedInsideOptional_endSystimeInsideOptional =
static_cast<jlong>(cppValue.energyImported.Value().endSystime.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyImportedInsideOptional_endSystimeInsideOptionalClassName.c_str(),
value_energyImportedInsideOptional_endSystimeInsideOptionalCtorSignature.c_str(),
jnivalue_energyImportedInsideOptional_endSystimeInsideOptional,
value_energyImportedInsideOptional_endSystimeInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(value_energyImportedInsideOptional_endSystimeInsideOptional,
value_energyImportedInsideOptional_endSystime);
}
jclass energyMeasurementStructStructClass_1;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$ElectricalEnergyMeasurementClusterEnergyMeasurementStruct",
energyMeasurementStructStructClass_1);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipStructs$ElectricalEnergyMeasurementClusterEnergyMeasurementStruct");
return nullptr;
}
jmethodID energyMeasurementStructStructCtor_1;
err = chip::JniReferences::GetInstance().FindMethod(
env, energyMeasurementStructStructClass_1, "<init>",
"(Ljava/lang/Long;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;)V",
&energyMeasurementStructStructCtor_1);
if (err != CHIP_NO_ERROR || energyMeasurementStructStructCtor_1 == nullptr)
{
ChipLogError(
Zcl, "Could not find ChipStructs$ElectricalEnergyMeasurementClusterEnergyMeasurementStruct constructor");
return nullptr;
}
value_energyImportedInsideOptional =
env->NewObject(energyMeasurementStructStructClass_1, energyMeasurementStructStructCtor_1,
value_energyImportedInsideOptional_energy, value_energyImportedInsideOptional_startTimestamp,
value_energyImportedInsideOptional_endTimestamp, value_energyImportedInsideOptional_startSystime,
value_energyImportedInsideOptional_endSystime);
chip::JniReferences::GetInstance().CreateOptional(value_energyImportedInsideOptional, value_energyImported);
}
jobject value_energyExported;
if (!cppValue.energyExported.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyExported);
}
else
{
jobject value_energyExportedInsideOptional;
jobject value_energyExportedInsideOptional_energy;
std::string value_energyExportedInsideOptional_energyClassName = "java/lang/Long";
std::string value_energyExportedInsideOptional_energyCtorSignature = "(J)V";
jlong jnivalue_energyExportedInsideOptional_energy = static_cast<jlong>(cppValue.energyExported.Value().energy);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyExportedInsideOptional_energyClassName.c_str(),
value_energyExportedInsideOptional_energyCtorSignature.c_str(), jnivalue_energyExportedInsideOptional_energy,
value_energyExportedInsideOptional_energy);
jobject value_energyExportedInsideOptional_startTimestamp;
if (!cppValue.energyExported.Value().startTimestamp.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyExportedInsideOptional_startTimestamp);
}
else
{
jobject value_energyExportedInsideOptional_startTimestampInsideOptional;
std::string value_energyExportedInsideOptional_startTimestampInsideOptionalClassName = "java/lang/Long";
std::string value_energyExportedInsideOptional_startTimestampInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_energyExportedInsideOptional_startTimestampInsideOptional =
static_cast<jlong>(cppValue.energyExported.Value().startTimestamp.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyExportedInsideOptional_startTimestampInsideOptionalClassName.c_str(),
value_energyExportedInsideOptional_startTimestampInsideOptionalCtorSignature.c_str(),
jnivalue_energyExportedInsideOptional_startTimestampInsideOptional,
value_energyExportedInsideOptional_startTimestampInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(
value_energyExportedInsideOptional_startTimestampInsideOptional,
value_energyExportedInsideOptional_startTimestamp);
}
jobject value_energyExportedInsideOptional_endTimestamp;
if (!cppValue.energyExported.Value().endTimestamp.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyExportedInsideOptional_endTimestamp);
}
else
{
jobject value_energyExportedInsideOptional_endTimestampInsideOptional;
std::string value_energyExportedInsideOptional_endTimestampInsideOptionalClassName = "java/lang/Long";
std::string value_energyExportedInsideOptional_endTimestampInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_energyExportedInsideOptional_endTimestampInsideOptional =
static_cast<jlong>(cppValue.energyExported.Value().endTimestamp.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyExportedInsideOptional_endTimestampInsideOptionalClassName.c_str(),
value_energyExportedInsideOptional_endTimestampInsideOptionalCtorSignature.c_str(),
jnivalue_energyExportedInsideOptional_endTimestampInsideOptional,
value_energyExportedInsideOptional_endTimestampInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(value_energyExportedInsideOptional_endTimestampInsideOptional,
value_energyExportedInsideOptional_endTimestamp);
}
jobject value_energyExportedInsideOptional_startSystime;
if (!cppValue.energyExported.Value().startSystime.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyExportedInsideOptional_startSystime);
}
else
{
jobject value_energyExportedInsideOptional_startSystimeInsideOptional;
std::string value_energyExportedInsideOptional_startSystimeInsideOptionalClassName = "java/lang/Long";
std::string value_energyExportedInsideOptional_startSystimeInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_energyExportedInsideOptional_startSystimeInsideOptional =
static_cast<jlong>(cppValue.energyExported.Value().startSystime.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyExportedInsideOptional_startSystimeInsideOptionalClassName.c_str(),
value_energyExportedInsideOptional_startSystimeInsideOptionalCtorSignature.c_str(),
jnivalue_energyExportedInsideOptional_startSystimeInsideOptional,
value_energyExportedInsideOptional_startSystimeInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(value_energyExportedInsideOptional_startSystimeInsideOptional,
value_energyExportedInsideOptional_startSystime);
}
jobject value_energyExportedInsideOptional_endSystime;
if (!cppValue.energyExported.Value().endSystime.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_energyExportedInsideOptional_endSystime);
}
else
{
jobject value_energyExportedInsideOptional_endSystimeInsideOptional;
std::string value_energyExportedInsideOptional_endSystimeInsideOptionalClassName = "java/lang/Long";
std::string value_energyExportedInsideOptional_endSystimeInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_energyExportedInsideOptional_endSystimeInsideOptional =
static_cast<jlong>(cppValue.energyExported.Value().endSystime.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyExportedInsideOptional_endSystimeInsideOptionalClassName.c_str(),
value_energyExportedInsideOptional_endSystimeInsideOptionalCtorSignature.c_str(),
jnivalue_energyExportedInsideOptional_endSystimeInsideOptional,
value_energyExportedInsideOptional_endSystimeInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(value_energyExportedInsideOptional_endSystimeInsideOptional,
value_energyExportedInsideOptional_endSystime);
}
jclass energyMeasurementStructStructClass_1;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$ElectricalEnergyMeasurementClusterEnergyMeasurementStruct",
energyMeasurementStructStructClass_1);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipStructs$ElectricalEnergyMeasurementClusterEnergyMeasurementStruct");
return nullptr;
}
jmethodID energyMeasurementStructStructCtor_1;
err = chip::JniReferences::GetInstance().FindMethod(
env, energyMeasurementStructStructClass_1, "<init>",
"(Ljava/lang/Long;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;)V",
&energyMeasurementStructStructCtor_1);
if (err != CHIP_NO_ERROR || energyMeasurementStructStructCtor_1 == nullptr)
{
ChipLogError(
Zcl, "Could not find ChipStructs$ElectricalEnergyMeasurementClusterEnergyMeasurementStruct constructor");
return nullptr;
}
value_energyExportedInsideOptional =
env->NewObject(energyMeasurementStructStructClass_1, energyMeasurementStructStructCtor_1,
value_energyExportedInsideOptional_energy, value_energyExportedInsideOptional_startTimestamp,
value_energyExportedInsideOptional_endTimestamp, value_energyExportedInsideOptional_startSystime,
value_energyExportedInsideOptional_endSystime);
chip::JniReferences::GetInstance().CreateOptional(value_energyExportedInsideOptional, value_energyExported);
}
jclass periodicEnergyMeasuredStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$ElectricalEnergyMeasurementClusterPeriodicEnergyMeasuredEvent",
periodicEnergyMeasuredStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl,
"Could not find class ChipEventStructs$ElectricalEnergyMeasurementClusterPeriodicEnergyMeasuredEvent");
return nullptr;
}
jmethodID periodicEnergyMeasuredStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, periodicEnergyMeasuredStructClass, "<init>",
"(Ljava/util/Optional;Ljava/util/Optional;)V",
&periodicEnergyMeasuredStructCtor);
if (err != CHIP_NO_ERROR || periodicEnergyMeasuredStructCtor == nullptr)
{
ChipLogError(
Zcl,
"Could not find ChipEventStructs$ElectricalEnergyMeasurementClusterPeriodicEnergyMeasuredEvent constructor");
return nullptr;
}
jobject value = env->NewObject(periodicEnergyMeasuredStructClass, periodicEnergyMeasuredStructCtor,
value_energyImported, value_energyExported);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::DemandResponseLoadControl::Id: {
using namespace app::Clusters::DemandResponseLoadControl;
switch (aPath.mEventId)
{
case Events::LoadControlEventStatusChange::Id: {
Events::LoadControlEventStatusChange::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_eventID;
jbyteArray value_eventIDByteArray = env->NewByteArray(static_cast<jsize>(cppValue.eventID.size()));
env->SetByteArrayRegion(value_eventIDByteArray, 0, static_cast<jsize>(cppValue.eventID.size()),
reinterpret_cast<const jbyte *>(cppValue.eventID.data()));
value_eventID = value_eventIDByteArray;
jobject value_transitionIndex;
if (cppValue.transitionIndex.IsNull())
{
value_transitionIndex = nullptr;
}
else
{
std::string value_transitionIndexClassName = "java/lang/Integer";
std::string value_transitionIndexCtorSignature = "(I)V";
jint jnivalue_transitionIndex = static_cast<jint>(cppValue.transitionIndex.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_transitionIndexClassName.c_str(),
value_transitionIndexCtorSignature.c_str(),
jnivalue_transitionIndex, value_transitionIndex);
}
jobject value_status;
std::string value_statusClassName = "java/lang/Integer";
std::string value_statusCtorSignature = "(I)V";
jint jnivalue_status = static_cast<jint>(cppValue.status);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_statusClassName.c_str(), value_statusCtorSignature.c_str(), jnivalue_status, value_status);
jobject value_criticality;
std::string value_criticalityClassName = "java/lang/Integer";
std::string value_criticalityCtorSignature = "(I)V";
jint jnivalue_criticality = static_cast<jint>(cppValue.criticality);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_criticalityClassName.c_str(),
value_criticalityCtorSignature.c_str(), jnivalue_criticality,
value_criticality);
jobject value_control;
std::string value_controlClassName = "java/lang/Integer";
std::string value_controlCtorSignature = "(I)V";
jint jnivalue_control = static_cast<jint>(cppValue.control.Raw());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_controlClassName.c_str(), value_controlCtorSignature.c_str(), jnivalue_control, value_control);
jobject value_temperatureControl;
if (!cppValue.temperatureControl.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_temperatureControl);
}
else
{
jobject value_temperatureControlInsideOptional;
if (cppValue.temperatureControl.Value().IsNull())
{
value_temperatureControlInsideOptional = nullptr;
}
else
{
jobject value_temperatureControlInsideOptional_coolingTempOffset;
if (!cppValue.temperatureControl.Value().Value().coolingTempOffset.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr,
value_temperatureControlInsideOptional_coolingTempOffset);
}
else
{
jobject value_temperatureControlInsideOptional_coolingTempOffsetInsideOptional;
if (cppValue.temperatureControl.Value().Value().coolingTempOffset.Value().IsNull())
{
value_temperatureControlInsideOptional_coolingTempOffsetInsideOptional = nullptr;
}
else
{
std::string value_temperatureControlInsideOptional_coolingTempOffsetInsideOptionalClassName =
"java/lang/Integer";
std::string value_temperatureControlInsideOptional_coolingTempOffsetInsideOptionalCtorSignature =
"(I)V";
jint jnivalue_temperatureControlInsideOptional_coolingTempOffsetInsideOptional =
static_cast<jint>(cppValue.temperatureControl.Value().Value().coolingTempOffset.Value().Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_temperatureControlInsideOptional_coolingTempOffsetInsideOptionalClassName.c_str(),
value_temperatureControlInsideOptional_coolingTempOffsetInsideOptionalCtorSignature.c_str(),
jnivalue_temperatureControlInsideOptional_coolingTempOffsetInsideOptional,
value_temperatureControlInsideOptional_coolingTempOffsetInsideOptional);
}
chip::JniReferences::GetInstance().CreateOptional(
value_temperatureControlInsideOptional_coolingTempOffsetInsideOptional,
value_temperatureControlInsideOptional_coolingTempOffset);
}
jobject value_temperatureControlInsideOptional_heatingtTempOffset;
if (!cppValue.temperatureControl.Value().Value().heatingtTempOffset.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(
nullptr, value_temperatureControlInsideOptional_heatingtTempOffset);
}
else
{
jobject value_temperatureControlInsideOptional_heatingtTempOffsetInsideOptional;
if (cppValue.temperatureControl.Value().Value().heatingtTempOffset.Value().IsNull())
{
value_temperatureControlInsideOptional_heatingtTempOffsetInsideOptional = nullptr;
}
else
{
std::string value_temperatureControlInsideOptional_heatingtTempOffsetInsideOptionalClassName =
"java/lang/Integer";
std::string value_temperatureControlInsideOptional_heatingtTempOffsetInsideOptionalCtorSignature =
"(I)V";
jint jnivalue_temperatureControlInsideOptional_heatingtTempOffsetInsideOptional =
static_cast<jint>(cppValue.temperatureControl.Value().Value().heatingtTempOffset.Value().Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_temperatureControlInsideOptional_heatingtTempOffsetInsideOptionalClassName.c_str(),
value_temperatureControlInsideOptional_heatingtTempOffsetInsideOptionalCtorSignature.c_str(),
jnivalue_temperatureControlInsideOptional_heatingtTempOffsetInsideOptional,
value_temperatureControlInsideOptional_heatingtTempOffsetInsideOptional);
}
chip::JniReferences::GetInstance().CreateOptional(
value_temperatureControlInsideOptional_heatingtTempOffsetInsideOptional,
value_temperatureControlInsideOptional_heatingtTempOffset);
}
jobject value_temperatureControlInsideOptional_coolingTempSetpoint;
if (!cppValue.temperatureControl.Value().Value().coolingTempSetpoint.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(
nullptr, value_temperatureControlInsideOptional_coolingTempSetpoint);
}
else
{
jobject value_temperatureControlInsideOptional_coolingTempSetpointInsideOptional;
if (cppValue.temperatureControl.Value().Value().coolingTempSetpoint.Value().IsNull())
{
value_temperatureControlInsideOptional_coolingTempSetpointInsideOptional = nullptr;
}
else
{
std::string value_temperatureControlInsideOptional_coolingTempSetpointInsideOptionalClassName =
"java/lang/Integer";
std::string value_temperatureControlInsideOptional_coolingTempSetpointInsideOptionalCtorSignature =
"(I)V";
jint jnivalue_temperatureControlInsideOptional_coolingTempSetpointInsideOptional =
static_cast<jint>(cppValue.temperatureControl.Value().Value().coolingTempSetpoint.Value().Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_temperatureControlInsideOptional_coolingTempSetpointInsideOptionalClassName.c_str(),
value_temperatureControlInsideOptional_coolingTempSetpointInsideOptionalCtorSignature.c_str(),
jnivalue_temperatureControlInsideOptional_coolingTempSetpointInsideOptional,
value_temperatureControlInsideOptional_coolingTempSetpointInsideOptional);
}
chip::JniReferences::GetInstance().CreateOptional(
value_temperatureControlInsideOptional_coolingTempSetpointInsideOptional,
value_temperatureControlInsideOptional_coolingTempSetpoint);
}
jobject value_temperatureControlInsideOptional_heatingTempSetpoint;
if (!cppValue.temperatureControl.Value().Value().heatingTempSetpoint.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(
nullptr, value_temperatureControlInsideOptional_heatingTempSetpoint);
}
else
{
jobject value_temperatureControlInsideOptional_heatingTempSetpointInsideOptional;
if (cppValue.temperatureControl.Value().Value().heatingTempSetpoint.Value().IsNull())
{
value_temperatureControlInsideOptional_heatingTempSetpointInsideOptional = nullptr;
}
else
{
std::string value_temperatureControlInsideOptional_heatingTempSetpointInsideOptionalClassName =
"java/lang/Integer";
std::string value_temperatureControlInsideOptional_heatingTempSetpointInsideOptionalCtorSignature =
"(I)V";
jint jnivalue_temperatureControlInsideOptional_heatingTempSetpointInsideOptional =
static_cast<jint>(cppValue.temperatureControl.Value().Value().heatingTempSetpoint.Value().Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_temperatureControlInsideOptional_heatingTempSetpointInsideOptionalClassName.c_str(),
value_temperatureControlInsideOptional_heatingTempSetpointInsideOptionalCtorSignature.c_str(),
jnivalue_temperatureControlInsideOptional_heatingTempSetpointInsideOptional,
value_temperatureControlInsideOptional_heatingTempSetpointInsideOptional);
}
chip::JniReferences::GetInstance().CreateOptional(
value_temperatureControlInsideOptional_heatingTempSetpointInsideOptional,
value_temperatureControlInsideOptional_heatingTempSetpoint);
}
jclass temperatureControlStructStructClass_2;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$DemandResponseLoadControlClusterTemperatureControlStruct",
temperatureControlStructStructClass_2);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl,
"Could not find class ChipStructs$DemandResponseLoadControlClusterTemperatureControlStruct");
return nullptr;
}
jmethodID temperatureControlStructStructCtor_2;
err = chip::JniReferences::GetInstance().FindMethod(
env, temperatureControlStructStructClass_2, "<init>",
"(Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;)V",
&temperatureControlStructStructCtor_2);
if (err != CHIP_NO_ERROR || temperatureControlStructStructCtor_2 == nullptr)
{
ChipLogError(
Zcl, "Could not find ChipStructs$DemandResponseLoadControlClusterTemperatureControlStruct constructor");
return nullptr;
}
value_temperatureControlInsideOptional =
env->NewObject(temperatureControlStructStructClass_2, temperatureControlStructStructCtor_2,
value_temperatureControlInsideOptional_coolingTempOffset,
value_temperatureControlInsideOptional_heatingtTempOffset,
value_temperatureControlInsideOptional_coolingTempSetpoint,
value_temperatureControlInsideOptional_heatingTempSetpoint);
}
chip::JniReferences::GetInstance().CreateOptional(value_temperatureControlInsideOptional, value_temperatureControl);
}
jobject value_averageLoadControl;
if (!cppValue.averageLoadControl.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_averageLoadControl);
}
else
{
jobject value_averageLoadControlInsideOptional;
if (cppValue.averageLoadControl.Value().IsNull())
{
value_averageLoadControlInsideOptional = nullptr;
}
else
{
jobject value_averageLoadControlInsideOptional_loadAdjustment;
std::string value_averageLoadControlInsideOptional_loadAdjustmentClassName = "java/lang/Integer";
std::string value_averageLoadControlInsideOptional_loadAdjustmentCtorSignature = "(I)V";
jint jnivalue_averageLoadControlInsideOptional_loadAdjustment =
static_cast<jint>(cppValue.averageLoadControl.Value().Value().loadAdjustment);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_averageLoadControlInsideOptional_loadAdjustmentClassName.c_str(),
value_averageLoadControlInsideOptional_loadAdjustmentCtorSignature.c_str(),
jnivalue_averageLoadControlInsideOptional_loadAdjustment,
value_averageLoadControlInsideOptional_loadAdjustment);
jclass averageLoadControlStructStructClass_2;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$DemandResponseLoadControlClusterAverageLoadControlStruct",
averageLoadControlStructStructClass_2);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl,
"Could not find class ChipStructs$DemandResponseLoadControlClusterAverageLoadControlStruct");
return nullptr;
}
jmethodID averageLoadControlStructStructCtor_2;
err = chip::JniReferences::GetInstance().FindMethod(env, averageLoadControlStructStructClass_2, "<init>",
"(Ljava/lang/Integer;)V",
&averageLoadControlStructStructCtor_2);
if (err != CHIP_NO_ERROR || averageLoadControlStructStructCtor_2 == nullptr)
{
ChipLogError(
Zcl, "Could not find ChipStructs$DemandResponseLoadControlClusterAverageLoadControlStruct constructor");
return nullptr;
}
value_averageLoadControlInsideOptional =
env->NewObject(averageLoadControlStructStructClass_2, averageLoadControlStructStructCtor_2,
value_averageLoadControlInsideOptional_loadAdjustment);
}
chip::JniReferences::GetInstance().CreateOptional(value_averageLoadControlInsideOptional, value_averageLoadControl);
}
jobject value_dutyCycleControl;
if (!cppValue.dutyCycleControl.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_dutyCycleControl);
}
else
{
jobject value_dutyCycleControlInsideOptional;
if (cppValue.dutyCycleControl.Value().IsNull())
{
value_dutyCycleControlInsideOptional = nullptr;
}
else
{
jobject value_dutyCycleControlInsideOptional_dutyCycle;
std::string value_dutyCycleControlInsideOptional_dutyCycleClassName = "java/lang/Integer";
std::string value_dutyCycleControlInsideOptional_dutyCycleCtorSignature = "(I)V";
jint jnivalue_dutyCycleControlInsideOptional_dutyCycle =
static_cast<jint>(cppValue.dutyCycleControl.Value().Value().dutyCycle);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_dutyCycleControlInsideOptional_dutyCycleClassName.c_str(),
value_dutyCycleControlInsideOptional_dutyCycleCtorSignature.c_str(),
jnivalue_dutyCycleControlInsideOptional_dutyCycle, value_dutyCycleControlInsideOptional_dutyCycle);
jclass dutyCycleControlStructStructClass_2;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$DemandResponseLoadControlClusterDutyCycleControlStruct",
dutyCycleControlStructStructClass_2);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl,
"Could not find class ChipStructs$DemandResponseLoadControlClusterDutyCycleControlStruct");
return nullptr;
}
jmethodID dutyCycleControlStructStructCtor_2;
err = chip::JniReferences::GetInstance().FindMethod(env, dutyCycleControlStructStructClass_2, "<init>",
"(Ljava/lang/Integer;)V",
&dutyCycleControlStructStructCtor_2);
if (err != CHIP_NO_ERROR || dutyCycleControlStructStructCtor_2 == nullptr)
{
ChipLogError(
Zcl, "Could not find ChipStructs$DemandResponseLoadControlClusterDutyCycleControlStruct constructor");
return nullptr;
}
value_dutyCycleControlInsideOptional =
env->NewObject(dutyCycleControlStructStructClass_2, dutyCycleControlStructStructCtor_2,
value_dutyCycleControlInsideOptional_dutyCycle);
}
chip::JniReferences::GetInstance().CreateOptional(value_dutyCycleControlInsideOptional, value_dutyCycleControl);
}
jobject value_powerSavingsControl;
if (!cppValue.powerSavingsControl.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_powerSavingsControl);
}
else
{
jobject value_powerSavingsControlInsideOptional;
if (cppValue.powerSavingsControl.Value().IsNull())
{
value_powerSavingsControlInsideOptional = nullptr;
}
else
{
jobject value_powerSavingsControlInsideOptional_powerSavings;
std::string value_powerSavingsControlInsideOptional_powerSavingsClassName = "java/lang/Integer";
std::string value_powerSavingsControlInsideOptional_powerSavingsCtorSignature = "(I)V";
jint jnivalue_powerSavingsControlInsideOptional_powerSavings =
static_cast<jint>(cppValue.powerSavingsControl.Value().Value().powerSavings);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_powerSavingsControlInsideOptional_powerSavingsClassName.c_str(),
value_powerSavingsControlInsideOptional_powerSavingsCtorSignature.c_str(),
jnivalue_powerSavingsControlInsideOptional_powerSavings,
value_powerSavingsControlInsideOptional_powerSavings);
jclass powerSavingsControlStructStructClass_2;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$DemandResponseLoadControlClusterPowerSavingsControlStruct",
powerSavingsControlStructStructClass_2);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl,
"Could not find class ChipStructs$DemandResponseLoadControlClusterPowerSavingsControlStruct");
return nullptr;
}
jmethodID powerSavingsControlStructStructCtor_2;
err = chip::JniReferences::GetInstance().FindMethod(env, powerSavingsControlStructStructClass_2, "<init>",
"(Ljava/lang/Integer;)V",
&powerSavingsControlStructStructCtor_2);
if (err != CHIP_NO_ERROR || powerSavingsControlStructStructCtor_2 == nullptr)
{
ChipLogError(
Zcl,
"Could not find ChipStructs$DemandResponseLoadControlClusterPowerSavingsControlStruct constructor");
return nullptr;
}
value_powerSavingsControlInsideOptional =
env->NewObject(powerSavingsControlStructStructClass_2, powerSavingsControlStructStructCtor_2,
value_powerSavingsControlInsideOptional_powerSavings);
}
chip::JniReferences::GetInstance().CreateOptional(value_powerSavingsControlInsideOptional,
value_powerSavingsControl);
}
jobject value_heatingSourceControl;
if (!cppValue.heatingSourceControl.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_heatingSourceControl);
}
else
{
jobject value_heatingSourceControlInsideOptional;
if (cppValue.heatingSourceControl.Value().IsNull())
{
value_heatingSourceControlInsideOptional = nullptr;
}
else
{
jobject value_heatingSourceControlInsideOptional_heatingSource;
std::string value_heatingSourceControlInsideOptional_heatingSourceClassName = "java/lang/Integer";
std::string value_heatingSourceControlInsideOptional_heatingSourceCtorSignature = "(I)V";
jint jnivalue_heatingSourceControlInsideOptional_heatingSource =
static_cast<jint>(cppValue.heatingSourceControl.Value().Value().heatingSource);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_heatingSourceControlInsideOptional_heatingSourceClassName.c_str(),
value_heatingSourceControlInsideOptional_heatingSourceCtorSignature.c_str(),
jnivalue_heatingSourceControlInsideOptional_heatingSource,
value_heatingSourceControlInsideOptional_heatingSource);
jclass heatingSourceControlStructStructClass_2;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$DemandResponseLoadControlClusterHeatingSourceControlStruct",
heatingSourceControlStructStructClass_2);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl,
"Could not find class ChipStructs$DemandResponseLoadControlClusterHeatingSourceControlStruct");
return nullptr;
}
jmethodID heatingSourceControlStructStructCtor_2;
err = chip::JniReferences::GetInstance().FindMethod(env, heatingSourceControlStructStructClass_2, "<init>",
"(Ljava/lang/Integer;)V",
&heatingSourceControlStructStructCtor_2);
if (err != CHIP_NO_ERROR || heatingSourceControlStructStructCtor_2 == nullptr)
{
ChipLogError(
Zcl,
"Could not find ChipStructs$DemandResponseLoadControlClusterHeatingSourceControlStruct constructor");
return nullptr;
}
value_heatingSourceControlInsideOptional =
env->NewObject(heatingSourceControlStructStructClass_2, heatingSourceControlStructStructCtor_2,
value_heatingSourceControlInsideOptional_heatingSource);
}
chip::JniReferences::GetInstance().CreateOptional(value_heatingSourceControlInsideOptional,
value_heatingSourceControl);
}
jclass loadControlEventStatusChangeStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$DemandResponseLoadControlClusterLoadControlEventStatusChangeEvent",
loadControlEventStatusChangeStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(
Zcl, "Could not find class ChipEventStructs$DemandResponseLoadControlClusterLoadControlEventStatusChangeEvent");
return nullptr;
}
jmethodID loadControlEventStatusChangeStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, loadControlEventStatusChangeStructClass, "<init>",
"([BLjava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/util/Optional;Ljava/util/"
"Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;)V",
&loadControlEventStatusChangeStructCtor);
if (err != CHIP_NO_ERROR || loadControlEventStatusChangeStructCtor == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipEventStructs$DemandResponseLoadControlClusterLoadControlEventStatusChangeEvent "
"constructor");
return nullptr;
}
jobject value = env->NewObject(loadControlEventStatusChangeStructClass, loadControlEventStatusChangeStructCtor,
value_eventID, value_transitionIndex, value_status, value_criticality, value_control,
value_temperatureControl, value_averageLoadControl, value_dutyCycleControl,
value_powerSavingsControl, value_heatingSourceControl);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::Messages::Id: {
using namespace app::Clusters::Messages;
switch (aPath.mEventId)
{
case Events::MessageQueued::Id: {
Events::MessageQueued::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_messageID;
jbyteArray value_messageIDByteArray = env->NewByteArray(static_cast<jsize>(cppValue.messageID.size()));
env->SetByteArrayRegion(value_messageIDByteArray, 0, static_cast<jsize>(cppValue.messageID.size()),
reinterpret_cast<const jbyte *>(cppValue.messageID.data()));
value_messageID = value_messageIDByteArray;
jclass messageQueuedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$MessagesClusterMessageQueuedEvent", messageQueuedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$MessagesClusterMessageQueuedEvent");
return nullptr;
}
jmethodID messageQueuedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, messageQueuedStructClass, "<init>", "([B)V",
&messageQueuedStructCtor);
if (err != CHIP_NO_ERROR || messageQueuedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$MessagesClusterMessageQueuedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(messageQueuedStructClass, messageQueuedStructCtor, value_messageID);
return value;
}
case Events::MessagePresented::Id: {
Events::MessagePresented::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_messageID;
jbyteArray value_messageIDByteArray = env->NewByteArray(static_cast<jsize>(cppValue.messageID.size()));
env->SetByteArrayRegion(value_messageIDByteArray, 0, static_cast<jsize>(cppValue.messageID.size()),
reinterpret_cast<const jbyte *>(cppValue.messageID.data()));
value_messageID = value_messageIDByteArray;
jclass messagePresentedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$MessagesClusterMessagePresentedEvent", messagePresentedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$MessagesClusterMessagePresentedEvent");
return nullptr;
}
jmethodID messagePresentedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, messagePresentedStructClass, "<init>", "([B)V",
&messagePresentedStructCtor);
if (err != CHIP_NO_ERROR || messagePresentedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$MessagesClusterMessagePresentedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(messagePresentedStructClass, messagePresentedStructCtor, value_messageID);
return value;
}
case Events::MessageComplete::Id: {
Events::MessageComplete::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_messageID;
jbyteArray value_messageIDByteArray = env->NewByteArray(static_cast<jsize>(cppValue.messageID.size()));
env->SetByteArrayRegion(value_messageIDByteArray, 0, static_cast<jsize>(cppValue.messageID.size()),
reinterpret_cast<const jbyte *>(cppValue.messageID.data()));
value_messageID = value_messageIDByteArray;
jobject value_responseID;
if (!cppValue.responseID.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_responseID);
}
else
{
jobject value_responseIDInsideOptional;
if (cppValue.responseID.Value().IsNull())
{
value_responseIDInsideOptional = nullptr;
}
else
{
std::string value_responseIDInsideOptionalClassName = "java/lang/Long";
std::string value_responseIDInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_responseIDInsideOptional = static_cast<jlong>(cppValue.responseID.Value().Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_responseIDInsideOptionalClassName.c_str(), value_responseIDInsideOptionalCtorSignature.c_str(),
jnivalue_responseIDInsideOptional, value_responseIDInsideOptional);
}
chip::JniReferences::GetInstance().CreateOptional(value_responseIDInsideOptional, value_responseID);
}
jobject value_reply;
if (!cppValue.reply.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_reply);
}
else
{
jobject value_replyInsideOptional;
if (cppValue.reply.Value().IsNull())
{
value_replyInsideOptional = nullptr;
}
else
{
LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(cppValue.reply.Value().Value(),
value_replyInsideOptional));
}
chip::JniReferences::GetInstance().CreateOptional(value_replyInsideOptional, value_reply);
}
jobject value_futureMessagesPreference;
if (cppValue.futureMessagesPreference.IsNull())
{
value_futureMessagesPreference = nullptr;
}
else
{
std::string value_futureMessagesPreferenceClassName = "java/lang/Integer";
std::string value_futureMessagesPreferenceCtorSignature = "(I)V";
jint jnivalue_futureMessagesPreference = static_cast<jint>(cppValue.futureMessagesPreference.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_futureMessagesPreferenceClassName.c_str(), value_futureMessagesPreferenceCtorSignature.c_str(),
jnivalue_futureMessagesPreference, value_futureMessagesPreference);
}
jclass messageCompleteStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$MessagesClusterMessageCompleteEvent", messageCompleteStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$MessagesClusterMessageCompleteEvent");
return nullptr;
}
jmethodID messageCompleteStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, messageCompleteStructClass, "<init>",
"([BLjava/util/Optional;Ljava/util/Optional;Ljava/lang/Integer;)V",
&messageCompleteStructCtor);
if (err != CHIP_NO_ERROR || messageCompleteStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$MessagesClusterMessageCompleteEvent constructor");
return nullptr;
}
jobject value = env->NewObject(messageCompleteStructClass, messageCompleteStructCtor, value_messageID, value_responseID,
value_reply, value_futureMessagesPreference);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::DeviceEnergyManagement::Id: {
using namespace app::Clusters::DeviceEnergyManagement;
switch (aPath.mEventId)
{
case Events::PowerAdjustStart::Id: {
Events::PowerAdjustStart::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass powerAdjustStartStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$DeviceEnergyManagementClusterPowerAdjustStartEvent",
powerAdjustStartStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$DeviceEnergyManagementClusterPowerAdjustStartEvent");
return nullptr;
}
jmethodID powerAdjustStartStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, powerAdjustStartStructClass, "<init>", "()V",
&powerAdjustStartStructCtor);
if (err != CHIP_NO_ERROR || powerAdjustStartStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$DeviceEnergyManagementClusterPowerAdjustStartEvent constructor");
return nullptr;
}
jobject value = env->NewObject(powerAdjustStartStructClass, powerAdjustStartStructCtor);
return value;
}
case Events::PowerAdjustEnd::Id: {
Events::PowerAdjustEnd::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_cause;
std::string value_causeClassName = "java/lang/Integer";
std::string value_causeCtorSignature = "(I)V";
jint jnivalue_cause = static_cast<jint>(cppValue.cause);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_causeClassName.c_str(), value_causeCtorSignature.c_str(), jnivalue_cause, value_cause);
jobject value_duration;
std::string value_durationClassName = "java/lang/Long";
std::string value_durationCtorSignature = "(J)V";
jlong jnivalue_duration = static_cast<jlong>(cppValue.duration);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_durationClassName.c_str(), value_durationCtorSignature.c_str(), jnivalue_duration, value_duration);
jobject value_energyUse;
std::string value_energyUseClassName = "java/lang/Long";
std::string value_energyUseCtorSignature = "(J)V";
jlong jnivalue_energyUse = static_cast<jlong>(cppValue.energyUse);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_energyUseClassName.c_str(), value_energyUseCtorSignature.c_str(), jnivalue_energyUse, value_energyUse);
jclass powerAdjustEndStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$DeviceEnergyManagementClusterPowerAdjustEndEvent",
powerAdjustEndStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$DeviceEnergyManagementClusterPowerAdjustEndEvent");
return nullptr;
}
jmethodID powerAdjustEndStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, powerAdjustEndStructClass, "<init>",
"(Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Long;)V",
&powerAdjustEndStructCtor);
if (err != CHIP_NO_ERROR || powerAdjustEndStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$DeviceEnergyManagementClusterPowerAdjustEndEvent constructor");
return nullptr;
}
jobject value =
env->NewObject(powerAdjustEndStructClass, powerAdjustEndStructCtor, value_cause, value_duration, value_energyUse);
return value;
}
case Events::Paused::Id: {
Events::Paused::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass pausedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$DeviceEnergyManagementClusterPausedEvent", pausedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$DeviceEnergyManagementClusterPausedEvent");
return nullptr;
}
jmethodID pausedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, pausedStructClass, "<init>", "()V", &pausedStructCtor);
if (err != CHIP_NO_ERROR || pausedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$DeviceEnergyManagementClusterPausedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(pausedStructClass, pausedStructCtor);
return value;
}
case Events::Resumed::Id: {
Events::Resumed::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_cause;
std::string value_causeClassName = "java/lang/Integer";
std::string value_causeCtorSignature = "(I)V";
jint jnivalue_cause = static_cast<jint>(cppValue.cause);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_causeClassName.c_str(), value_causeCtorSignature.c_str(), jnivalue_cause, value_cause);
jclass resumedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$DeviceEnergyManagementClusterResumedEvent", resumedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$DeviceEnergyManagementClusterResumedEvent");
return nullptr;
}
jmethodID resumedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, resumedStructClass, "<init>", "(Ljava/lang/Integer;)V",
&resumedStructCtor);
if (err != CHIP_NO_ERROR || resumedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$DeviceEnergyManagementClusterResumedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(resumedStructClass, resumedStructCtor, value_cause);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::EnergyEvse::Id: {
using namespace app::Clusters::EnergyEvse;
switch (aPath.mEventId)
{
case Events::EVConnected::Id: {
Events::EVConnected::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_sessionID;
std::string value_sessionIDClassName = "java/lang/Long";
std::string value_sessionIDCtorSignature = "(J)V";
jlong jnivalue_sessionID = static_cast<jlong>(cppValue.sessionID);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_sessionIDClassName.c_str(), value_sessionIDCtorSignature.c_str(), jnivalue_sessionID, value_sessionID);
jclass EVConnectedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$EnergyEvseClusterEVConnectedEvent", EVConnectedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$EnergyEvseClusterEVConnectedEvent");
return nullptr;
}
jmethodID EVConnectedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, EVConnectedStructClass, "<init>", "(Ljava/lang/Long;)V",
&EVConnectedStructCtor);
if (err != CHIP_NO_ERROR || EVConnectedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$EnergyEvseClusterEVConnectedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(EVConnectedStructClass, EVConnectedStructCtor, value_sessionID);
return value;
}
case Events::EVNotDetected::Id: {
Events::EVNotDetected::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_sessionID;
std::string value_sessionIDClassName = "java/lang/Long";
std::string value_sessionIDCtorSignature = "(J)V";
jlong jnivalue_sessionID = static_cast<jlong>(cppValue.sessionID);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_sessionIDClassName.c_str(), value_sessionIDCtorSignature.c_str(), jnivalue_sessionID, value_sessionID);
jobject value_state;
std::string value_stateClassName = "java/lang/Integer";
std::string value_stateCtorSignature = "(I)V";
jint jnivalue_state = static_cast<jint>(cppValue.state);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_stateClassName.c_str(), value_stateCtorSignature.c_str(), jnivalue_state, value_state);
jobject value_sessionDuration;
std::string value_sessionDurationClassName = "java/lang/Long";
std::string value_sessionDurationCtorSignature = "(J)V";
jlong jnivalue_sessionDuration = static_cast<jlong>(cppValue.sessionDuration);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_sessionDurationClassName.c_str(),
value_sessionDurationCtorSignature.c_str(),
jnivalue_sessionDuration, value_sessionDuration);
jobject value_sessionEnergyCharged;
std::string value_sessionEnergyChargedClassName = "java/lang/Long";
std::string value_sessionEnergyChargedCtorSignature = "(J)V";
jlong jnivalue_sessionEnergyCharged = static_cast<jlong>(cppValue.sessionEnergyCharged);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_sessionEnergyChargedClassName.c_str(),
value_sessionEnergyChargedCtorSignature.c_str(),
jnivalue_sessionEnergyCharged, value_sessionEnergyCharged);
jobject value_sessionEnergyDischarged;
if (!cppValue.sessionEnergyDischarged.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_sessionEnergyDischarged);
}
else
{
jobject value_sessionEnergyDischargedInsideOptional;
std::string value_sessionEnergyDischargedInsideOptionalClassName = "java/lang/Long";
std::string value_sessionEnergyDischargedInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_sessionEnergyDischargedInsideOptional = static_cast<jlong>(cppValue.sessionEnergyDischarged.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_sessionEnergyDischargedInsideOptionalClassName.c_str(),
value_sessionEnergyDischargedInsideOptionalCtorSignature.c_str(),
jnivalue_sessionEnergyDischargedInsideOptional, value_sessionEnergyDischargedInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(value_sessionEnergyDischargedInsideOptional,
value_sessionEnergyDischarged);
}
jclass EVNotDetectedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$EnergyEvseClusterEVNotDetectedEvent", EVNotDetectedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$EnergyEvseClusterEVNotDetectedEvent");
return nullptr;
}
jmethodID EVNotDetectedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, EVNotDetectedStructClass, "<init>",
"(Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Long;Ljava/util/Optional;)V",
&EVNotDetectedStructCtor);
if (err != CHIP_NO_ERROR || EVNotDetectedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$EnergyEvseClusterEVNotDetectedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(EVNotDetectedStructClass, EVNotDetectedStructCtor, value_sessionID, value_state,
value_sessionDuration, value_sessionEnergyCharged, value_sessionEnergyDischarged);
return value;
}
case Events::EnergyTransferStarted::Id: {
Events::EnergyTransferStarted::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_sessionID;
std::string value_sessionIDClassName = "java/lang/Long";
std::string value_sessionIDCtorSignature = "(J)V";
jlong jnivalue_sessionID = static_cast<jlong>(cppValue.sessionID);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_sessionIDClassName.c_str(), value_sessionIDCtorSignature.c_str(), jnivalue_sessionID, value_sessionID);
jobject value_state;
std::string value_stateClassName = "java/lang/Integer";
std::string value_stateCtorSignature = "(I)V";
jint jnivalue_state = static_cast<jint>(cppValue.state);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_stateClassName.c_str(), value_stateCtorSignature.c_str(), jnivalue_state, value_state);
jobject value_maximumCurrent;
std::string value_maximumCurrentClassName = "java/lang/Long";
std::string value_maximumCurrentCtorSignature = "(J)V";
jlong jnivalue_maximumCurrent = static_cast<jlong>(cppValue.maximumCurrent);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_maximumCurrentClassName.c_str(),
value_maximumCurrentCtorSignature.c_str(),
jnivalue_maximumCurrent, value_maximumCurrent);
jclass energyTransferStartedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$EnergyEvseClusterEnergyTransferStartedEvent",
energyTransferStartedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$EnergyEvseClusterEnergyTransferStartedEvent");
return nullptr;
}
jmethodID energyTransferStartedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, energyTransferStartedStructClass, "<init>",
"(Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Long;)V",
&energyTransferStartedStructCtor);
if (err != CHIP_NO_ERROR || energyTransferStartedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$EnergyEvseClusterEnergyTransferStartedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(energyTransferStartedStructClass, energyTransferStartedStructCtor, value_sessionID,
value_state, value_maximumCurrent);
return value;
}
case Events::EnergyTransferStopped::Id: {
Events::EnergyTransferStopped::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_sessionID;
std::string value_sessionIDClassName = "java/lang/Long";
std::string value_sessionIDCtorSignature = "(J)V";
jlong jnivalue_sessionID = static_cast<jlong>(cppValue.sessionID);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_sessionIDClassName.c_str(), value_sessionIDCtorSignature.c_str(), jnivalue_sessionID, value_sessionID);
jobject value_state;
std::string value_stateClassName = "java/lang/Integer";
std::string value_stateCtorSignature = "(I)V";
jint jnivalue_state = static_cast<jint>(cppValue.state);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_stateClassName.c_str(), value_stateCtorSignature.c_str(), jnivalue_state, value_state);
jobject value_reason;
std::string value_reasonClassName = "java/lang/Integer";
std::string value_reasonCtorSignature = "(I)V";
jint jnivalue_reason = static_cast<jint>(cppValue.reason);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_reasonClassName.c_str(), value_reasonCtorSignature.c_str(), jnivalue_reason, value_reason);
jobject value_energyTransferred;
std::string value_energyTransferredClassName = "java/lang/Long";
std::string value_energyTransferredCtorSignature = "(J)V";
jlong jnivalue_energyTransferred = static_cast<jlong>(cppValue.energyTransferred);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_energyTransferredClassName.c_str(),
value_energyTransferredCtorSignature.c_str(),
jnivalue_energyTransferred, value_energyTransferred);
jclass energyTransferStoppedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$EnergyEvseClusterEnergyTransferStoppedEvent",
energyTransferStoppedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$EnergyEvseClusterEnergyTransferStoppedEvent");
return nullptr;
}
jmethodID energyTransferStoppedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, energyTransferStoppedStructClass, "<init>",
"(Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Long;)V", &energyTransferStoppedStructCtor);
if (err != CHIP_NO_ERROR || energyTransferStoppedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$EnergyEvseClusterEnergyTransferStoppedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(energyTransferStoppedStructClass, energyTransferStoppedStructCtor, value_sessionID,
value_state, value_reason, value_energyTransferred);
return value;
}
case Events::Fault::Id: {
Events::Fault::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_sessionID;
if (cppValue.sessionID.IsNull())
{
value_sessionID = nullptr;
}
else
{
std::string value_sessionIDClassName = "java/lang/Long";
std::string value_sessionIDCtorSignature = "(J)V";
jlong jnivalue_sessionID = static_cast<jlong>(cppValue.sessionID.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_sessionIDClassName.c_str(), value_sessionIDCtorSignature.c_str(), jnivalue_sessionID, value_sessionID);
}
jobject value_state;
std::string value_stateClassName = "java/lang/Integer";
std::string value_stateCtorSignature = "(I)V";
jint jnivalue_state = static_cast<jint>(cppValue.state);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_stateClassName.c_str(), value_stateCtorSignature.c_str(), jnivalue_state, value_state);
jobject value_faultStatePreviousState;
std::string value_faultStatePreviousStateClassName = "java/lang/Integer";
std::string value_faultStatePreviousStateCtorSignature = "(I)V";
jint jnivalue_faultStatePreviousState = static_cast<jint>(cppValue.faultStatePreviousState);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_faultStatePreviousStateClassName.c_str(), value_faultStatePreviousStateCtorSignature.c_str(),
jnivalue_faultStatePreviousState, value_faultStatePreviousState);
jobject value_faultStateCurrentState;
std::string value_faultStateCurrentStateClassName = "java/lang/Integer";
std::string value_faultStateCurrentStateCtorSignature = "(I)V";
jint jnivalue_faultStateCurrentState = static_cast<jint>(cppValue.faultStateCurrentState);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_faultStateCurrentStateClassName.c_str(), value_faultStateCurrentStateCtorSignature.c_str(),
jnivalue_faultStateCurrentState, value_faultStateCurrentState);
jclass faultStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$EnergyEvseClusterFaultEvent", faultStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$EnergyEvseClusterFaultEvent");
return nullptr;
}
jmethodID faultStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, faultStructClass, "<init>", "(Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V",
&faultStructCtor);
if (err != CHIP_NO_ERROR || faultStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$EnergyEvseClusterFaultEvent constructor");
return nullptr;
}
jobject value = env->NewObject(faultStructClass, faultStructCtor, value_sessionID, value_state,
value_faultStatePreviousState, value_faultStateCurrentState);
return value;
}
case Events::Rfid::Id: {
Events::Rfid::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_uid;
jbyteArray value_uidByteArray = env->NewByteArray(static_cast<jsize>(cppValue.uid.size()));
env->SetByteArrayRegion(value_uidByteArray, 0, static_cast<jsize>(cppValue.uid.size()),
reinterpret_cast<const jbyte *>(cppValue.uid.data()));
value_uid = value_uidByteArray;
jclass rfidStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$EnergyEvseClusterRfidEvent", rfidStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$EnergyEvseClusterRfidEvent");
return nullptr;
}
jmethodID rfidStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, rfidStructClass, "<init>", "([B)V", &rfidStructCtor);
if (err != CHIP_NO_ERROR || rfidStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$EnergyEvseClusterRfidEvent constructor");
return nullptr;
}
jobject value = env->NewObject(rfidStructClass, rfidStructCtor, value_uid);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::EnergyPreference::Id: {
using namespace app::Clusters::EnergyPreference;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::PowerTopology::Id: {
using namespace app::Clusters::PowerTopology;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::EnergyEvseMode::Id: {
using namespace app::Clusters::EnergyEvseMode;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::DeviceEnergyManagementMode::Id: {
using namespace app::Clusters::DeviceEnergyManagementMode;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::DoorLock::Id: {
using namespace app::Clusters::DoorLock;
switch (aPath.mEventId)
{
case Events::DoorLockAlarm::Id: {
Events::DoorLockAlarm::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_alarmCode;
std::string value_alarmCodeClassName = "java/lang/Integer";
std::string value_alarmCodeCtorSignature = "(I)V";
jint jnivalue_alarmCode = static_cast<jint>(cppValue.alarmCode);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_alarmCodeClassName.c_str(), value_alarmCodeCtorSignature.c_str(), jnivalue_alarmCode, value_alarmCode);
jclass doorLockAlarmStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$DoorLockClusterDoorLockAlarmEvent", doorLockAlarmStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$DoorLockClusterDoorLockAlarmEvent");
return nullptr;
}
jmethodID doorLockAlarmStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, doorLockAlarmStructClass, "<init>", "(Ljava/lang/Integer;)V",
&doorLockAlarmStructCtor);
if (err != CHIP_NO_ERROR || doorLockAlarmStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$DoorLockClusterDoorLockAlarmEvent constructor");
return nullptr;
}
jobject value = env->NewObject(doorLockAlarmStructClass, doorLockAlarmStructCtor, value_alarmCode);
return value;
}
case Events::DoorStateChange::Id: {
Events::DoorStateChange::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_doorState;
std::string value_doorStateClassName = "java/lang/Integer";
std::string value_doorStateCtorSignature = "(I)V";
jint jnivalue_doorState = static_cast<jint>(cppValue.doorState);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_doorStateClassName.c_str(), value_doorStateCtorSignature.c_str(), jnivalue_doorState, value_doorState);
jclass doorStateChangeStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$DoorLockClusterDoorStateChangeEvent", doorStateChangeStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$DoorLockClusterDoorStateChangeEvent");
return nullptr;
}
jmethodID doorStateChangeStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, doorStateChangeStructClass, "<init>", "(Ljava/lang/Integer;)V",
&doorStateChangeStructCtor);
if (err != CHIP_NO_ERROR || doorStateChangeStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$DoorLockClusterDoorStateChangeEvent constructor");
return nullptr;
}
jobject value = env->NewObject(doorStateChangeStructClass, doorStateChangeStructCtor, value_doorState);
return value;
}
case Events::LockOperation::Id: {
Events::LockOperation::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_lockOperationType;
std::string value_lockOperationTypeClassName = "java/lang/Integer";
std::string value_lockOperationTypeCtorSignature = "(I)V";
jint jnivalue_lockOperationType = static_cast<jint>(cppValue.lockOperationType);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_lockOperationTypeClassName.c_str(),
value_lockOperationTypeCtorSignature.c_str(),
jnivalue_lockOperationType, value_lockOperationType);
jobject value_operationSource;
std::string value_operationSourceClassName = "java/lang/Integer";
std::string value_operationSourceCtorSignature = "(I)V";
jint jnivalue_operationSource = static_cast<jint>(cppValue.operationSource);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_operationSourceClassName.c_str(),
value_operationSourceCtorSignature.c_str(),
jnivalue_operationSource, value_operationSource);
jobject value_userIndex;
if (cppValue.userIndex.IsNull())
{
value_userIndex = nullptr;
}
else
{
std::string value_userIndexClassName = "java/lang/Integer";
std::string value_userIndexCtorSignature = "(I)V";
jint jnivalue_userIndex = static_cast<jint>(cppValue.userIndex.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_userIndexClassName.c_str(), value_userIndexCtorSignature.c_str(), jnivalue_userIndex, value_userIndex);
}
jobject value_fabricIndex;
if (cppValue.fabricIndex.IsNull())
{
value_fabricIndex = nullptr;
}
else
{
std::string value_fabricIndexClassName = "java/lang/Integer";
std::string value_fabricIndexCtorSignature = "(I)V";
jint jnivalue_fabricIndex = static_cast<jint>(cppValue.fabricIndex.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_fabricIndexClassName.c_str(),
value_fabricIndexCtorSignature.c_str(),
jnivalue_fabricIndex, value_fabricIndex);
}
jobject value_sourceNode;
if (cppValue.sourceNode.IsNull())
{
value_sourceNode = nullptr;
}
else
{
std::string value_sourceNodeClassName = "java/lang/Long";
std::string value_sourceNodeCtorSignature = "(J)V";
jlong jnivalue_sourceNode = static_cast<jlong>(cppValue.sourceNode.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_sourceNodeClassName.c_str(),
value_sourceNodeCtorSignature.c_str(),
jnivalue_sourceNode, value_sourceNode);
}
jobject value_credentials;
if (!cppValue.credentials.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_credentials);
}
else
{
jobject value_credentialsInsideOptional;
if (cppValue.credentials.Value().IsNull())
{
value_credentialsInsideOptional = nullptr;
}
else
{
chip::JniReferences::GetInstance().CreateArrayList(value_credentialsInsideOptional);
auto iter_value_credentialsInsideOptional_2 = cppValue.credentials.Value().Value().begin();
while (iter_value_credentialsInsideOptional_2.Next())
{
auto & entry_2 = iter_value_credentialsInsideOptional_2.GetValue();
jobject newElement_2;
jobject newElement_2_credentialType;
std::string newElement_2_credentialTypeClassName = "java/lang/Integer";
std::string newElement_2_credentialTypeCtorSignature = "(I)V";
jint jninewElement_2_credentialType = static_cast<jint>(entry_2.credentialType);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_2_credentialTypeClassName.c_str(), newElement_2_credentialTypeCtorSignature.c_str(),
jninewElement_2_credentialType, newElement_2_credentialType);
jobject newElement_2_credentialIndex;
std::string newElement_2_credentialIndexClassName = "java/lang/Integer";
std::string newElement_2_credentialIndexCtorSignature = "(I)V";
jint jninewElement_2_credentialIndex = static_cast<jint>(entry_2.credentialIndex);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_2_credentialIndexClassName.c_str(), newElement_2_credentialIndexCtorSignature.c_str(),
jninewElement_2_credentialIndex, newElement_2_credentialIndex);
jclass credentialStructStructClass_3;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$DoorLockClusterCredentialStruct",
credentialStructStructClass_3);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipStructs$DoorLockClusterCredentialStruct");
return nullptr;
}
jmethodID credentialStructStructCtor_3;
err = chip::JniReferences::GetInstance().FindMethod(env, credentialStructStructClass_3, "<init>",
"(Ljava/lang/Integer;Ljava/lang/Integer;)V",
&credentialStructStructCtor_3);
if (err != CHIP_NO_ERROR || credentialStructStructCtor_3 == nullptr)
{
ChipLogError(Zcl, "Could not find ChipStructs$DoorLockClusterCredentialStruct constructor");
return nullptr;
}
newElement_2 = env->NewObject(credentialStructStructClass_3, credentialStructStructCtor_3,
newElement_2_credentialType, newElement_2_credentialIndex);
chip::JniReferences::GetInstance().AddToList(value_credentialsInsideOptional, newElement_2);
}
}
chip::JniReferences::GetInstance().CreateOptional(value_credentialsInsideOptional, value_credentials);
}
jclass lockOperationStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$DoorLockClusterLockOperationEvent", lockOperationStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$DoorLockClusterLockOperationEvent");
return nullptr;
}
jmethodID lockOperationStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, lockOperationStructClass, "<init>",
"(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/"
"lang/Integer;Ljava/lang/Long;Ljava/util/Optional;)V",
&lockOperationStructCtor);
if (err != CHIP_NO_ERROR || lockOperationStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$DoorLockClusterLockOperationEvent constructor");
return nullptr;
}
jobject value =
env->NewObject(lockOperationStructClass, lockOperationStructCtor, value_lockOperationType, value_operationSource,
value_userIndex, value_fabricIndex, value_sourceNode, value_credentials);
return value;
}
case Events::LockOperationError::Id: {
Events::LockOperationError::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_lockOperationType;
std::string value_lockOperationTypeClassName = "java/lang/Integer";
std::string value_lockOperationTypeCtorSignature = "(I)V";
jint jnivalue_lockOperationType = static_cast<jint>(cppValue.lockOperationType);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_lockOperationTypeClassName.c_str(),
value_lockOperationTypeCtorSignature.c_str(),
jnivalue_lockOperationType, value_lockOperationType);
jobject value_operationSource;
std::string value_operationSourceClassName = "java/lang/Integer";
std::string value_operationSourceCtorSignature = "(I)V";
jint jnivalue_operationSource = static_cast<jint>(cppValue.operationSource);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_operationSourceClassName.c_str(),
value_operationSourceCtorSignature.c_str(),
jnivalue_operationSource, value_operationSource);
jobject value_operationError;
std::string value_operationErrorClassName = "java/lang/Integer";
std::string value_operationErrorCtorSignature = "(I)V";
jint jnivalue_operationError = static_cast<jint>(cppValue.operationError);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_operationErrorClassName.c_str(),
value_operationErrorCtorSignature.c_str(),
jnivalue_operationError, value_operationError);
jobject value_userIndex;
if (cppValue.userIndex.IsNull())
{
value_userIndex = nullptr;
}
else
{
std::string value_userIndexClassName = "java/lang/Integer";
std::string value_userIndexCtorSignature = "(I)V";
jint jnivalue_userIndex = static_cast<jint>(cppValue.userIndex.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_userIndexClassName.c_str(), value_userIndexCtorSignature.c_str(), jnivalue_userIndex, value_userIndex);
}
jobject value_fabricIndex;
if (cppValue.fabricIndex.IsNull())
{
value_fabricIndex = nullptr;
}
else
{
std::string value_fabricIndexClassName = "java/lang/Integer";
std::string value_fabricIndexCtorSignature = "(I)V";
jint jnivalue_fabricIndex = static_cast<jint>(cppValue.fabricIndex.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_fabricIndexClassName.c_str(),
value_fabricIndexCtorSignature.c_str(),
jnivalue_fabricIndex, value_fabricIndex);
}
jobject value_sourceNode;
if (cppValue.sourceNode.IsNull())
{
value_sourceNode = nullptr;
}
else
{
std::string value_sourceNodeClassName = "java/lang/Long";
std::string value_sourceNodeCtorSignature = "(J)V";
jlong jnivalue_sourceNode = static_cast<jlong>(cppValue.sourceNode.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_sourceNodeClassName.c_str(),
value_sourceNodeCtorSignature.c_str(),
jnivalue_sourceNode, value_sourceNode);
}
jobject value_credentials;
if (!cppValue.credentials.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_credentials);
}
else
{
jobject value_credentialsInsideOptional;
if (cppValue.credentials.Value().IsNull())
{
value_credentialsInsideOptional = nullptr;
}
else
{
chip::JniReferences::GetInstance().CreateArrayList(value_credentialsInsideOptional);
auto iter_value_credentialsInsideOptional_2 = cppValue.credentials.Value().Value().begin();
while (iter_value_credentialsInsideOptional_2.Next())
{
auto & entry_2 = iter_value_credentialsInsideOptional_2.GetValue();
jobject newElement_2;
jobject newElement_2_credentialType;
std::string newElement_2_credentialTypeClassName = "java/lang/Integer";
std::string newElement_2_credentialTypeCtorSignature = "(I)V";
jint jninewElement_2_credentialType = static_cast<jint>(entry_2.credentialType);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_2_credentialTypeClassName.c_str(), newElement_2_credentialTypeCtorSignature.c_str(),
jninewElement_2_credentialType, newElement_2_credentialType);
jobject newElement_2_credentialIndex;
std::string newElement_2_credentialIndexClassName = "java/lang/Integer";
std::string newElement_2_credentialIndexCtorSignature = "(I)V";
jint jninewElement_2_credentialIndex = static_cast<jint>(entry_2.credentialIndex);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_2_credentialIndexClassName.c_str(), newElement_2_credentialIndexCtorSignature.c_str(),
jninewElement_2_credentialIndex, newElement_2_credentialIndex);
jclass credentialStructStructClass_3;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$DoorLockClusterCredentialStruct",
credentialStructStructClass_3);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipStructs$DoorLockClusterCredentialStruct");
return nullptr;
}
jmethodID credentialStructStructCtor_3;
err = chip::JniReferences::GetInstance().FindMethod(env, credentialStructStructClass_3, "<init>",
"(Ljava/lang/Integer;Ljava/lang/Integer;)V",
&credentialStructStructCtor_3);
if (err != CHIP_NO_ERROR || credentialStructStructCtor_3 == nullptr)
{
ChipLogError(Zcl, "Could not find ChipStructs$DoorLockClusterCredentialStruct constructor");
return nullptr;
}
newElement_2 = env->NewObject(credentialStructStructClass_3, credentialStructStructCtor_3,
newElement_2_credentialType, newElement_2_credentialIndex);
chip::JniReferences::GetInstance().AddToList(value_credentialsInsideOptional, newElement_2);
}
}
chip::JniReferences::GetInstance().CreateOptional(value_credentialsInsideOptional, value_credentials);
}
jclass lockOperationErrorStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$DoorLockClusterLockOperationErrorEvent",
lockOperationErrorStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$DoorLockClusterLockOperationErrorEvent");
return nullptr;
}
jmethodID lockOperationErrorStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, lockOperationErrorStructClass, "<init>",
"(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/"
"Long;Ljava/util/Optional;)V",
&lockOperationErrorStructCtor);
if (err != CHIP_NO_ERROR || lockOperationErrorStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$DoorLockClusterLockOperationErrorEvent constructor");
return nullptr;
}
jobject value = env->NewObject(lockOperationErrorStructClass, lockOperationErrorStructCtor, value_lockOperationType,
value_operationSource, value_operationError, value_userIndex, value_fabricIndex,
value_sourceNode, value_credentials);
return value;
}
case Events::LockUserChange::Id: {
Events::LockUserChange::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_lockDataType;
std::string value_lockDataTypeClassName = "java/lang/Integer";
std::string value_lockDataTypeCtorSignature = "(I)V";
jint jnivalue_lockDataType = static_cast<jint>(cppValue.lockDataType);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_lockDataTypeClassName.c_str(),
value_lockDataTypeCtorSignature.c_str(),
jnivalue_lockDataType, value_lockDataType);
jobject value_dataOperationType;
std::string value_dataOperationTypeClassName = "java/lang/Integer";
std::string value_dataOperationTypeCtorSignature = "(I)V";
jint jnivalue_dataOperationType = static_cast<jint>(cppValue.dataOperationType);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_dataOperationTypeClassName.c_str(),
value_dataOperationTypeCtorSignature.c_str(),
jnivalue_dataOperationType, value_dataOperationType);
jobject value_operationSource;
std::string value_operationSourceClassName = "java/lang/Integer";
std::string value_operationSourceCtorSignature = "(I)V";
jint jnivalue_operationSource = static_cast<jint>(cppValue.operationSource);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_operationSourceClassName.c_str(),
value_operationSourceCtorSignature.c_str(),
jnivalue_operationSource, value_operationSource);
jobject value_userIndex;
if (cppValue.userIndex.IsNull())
{
value_userIndex = nullptr;
}
else
{
std::string value_userIndexClassName = "java/lang/Integer";
std::string value_userIndexCtorSignature = "(I)V";
jint jnivalue_userIndex = static_cast<jint>(cppValue.userIndex.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_userIndexClassName.c_str(), value_userIndexCtorSignature.c_str(), jnivalue_userIndex, value_userIndex);
}
jobject value_fabricIndex;
if (cppValue.fabricIndex.IsNull())
{
value_fabricIndex = nullptr;
}
else
{
std::string value_fabricIndexClassName = "java/lang/Integer";
std::string value_fabricIndexCtorSignature = "(I)V";
jint jnivalue_fabricIndex = static_cast<jint>(cppValue.fabricIndex.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_fabricIndexClassName.c_str(),
value_fabricIndexCtorSignature.c_str(),
jnivalue_fabricIndex, value_fabricIndex);
}
jobject value_sourceNode;
if (cppValue.sourceNode.IsNull())
{
value_sourceNode = nullptr;
}
else
{
std::string value_sourceNodeClassName = "java/lang/Long";
std::string value_sourceNodeCtorSignature = "(J)V";
jlong jnivalue_sourceNode = static_cast<jlong>(cppValue.sourceNode.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_sourceNodeClassName.c_str(),
value_sourceNodeCtorSignature.c_str(),
jnivalue_sourceNode, value_sourceNode);
}
jobject value_dataIndex;
if (cppValue.dataIndex.IsNull())
{
value_dataIndex = nullptr;
}
else
{
std::string value_dataIndexClassName = "java/lang/Integer";
std::string value_dataIndexCtorSignature = "(I)V";
jint jnivalue_dataIndex = static_cast<jint>(cppValue.dataIndex.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_dataIndexClassName.c_str(), value_dataIndexCtorSignature.c_str(), jnivalue_dataIndex, value_dataIndex);
}
jclass lockUserChangeStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$DoorLockClusterLockUserChangeEvent", lockUserChangeStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$DoorLockClusterLockUserChangeEvent");
return nullptr;
}
jmethodID lockUserChangeStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, lockUserChangeStructClass, "<init>",
"(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/"
"Long;Ljava/lang/Integer;)V",
&lockUserChangeStructCtor);
if (err != CHIP_NO_ERROR || lockUserChangeStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$DoorLockClusterLockUserChangeEvent constructor");
return nullptr;
}
jobject value =
env->NewObject(lockUserChangeStructClass, lockUserChangeStructCtor, value_lockDataType, value_dataOperationType,
value_operationSource, value_userIndex, value_fabricIndex, value_sourceNode, value_dataIndex);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::WindowCovering::Id: {
using namespace app::Clusters::WindowCovering;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::BarrierControl::Id: {
using namespace app::Clusters::BarrierControl;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ServiceArea::Id: {
using namespace app::Clusters::ServiceArea;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::PumpConfigurationAndControl::Id: {
using namespace app::Clusters::PumpConfigurationAndControl;
switch (aPath.mEventId)
{
case Events::SupplyVoltageLow::Id: {
Events::SupplyVoltageLow::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass supplyVoltageLowStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PumpConfigurationAndControlClusterSupplyVoltageLowEvent",
supplyVoltageLowStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$PumpConfigurationAndControlClusterSupplyVoltageLowEvent");
return nullptr;
}
jmethodID supplyVoltageLowStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, supplyVoltageLowStructClass, "<init>", "()V",
&supplyVoltageLowStructCtor);
if (err != CHIP_NO_ERROR || supplyVoltageLowStructCtor == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipEventStructs$PumpConfigurationAndControlClusterSupplyVoltageLowEvent constructor");
return nullptr;
}
jobject value = env->NewObject(supplyVoltageLowStructClass, supplyVoltageLowStructCtor);
return value;
}
case Events::SupplyVoltageHigh::Id: {
Events::SupplyVoltageHigh::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass supplyVoltageHighStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PumpConfigurationAndControlClusterSupplyVoltageHighEvent",
supplyVoltageHighStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$PumpConfigurationAndControlClusterSupplyVoltageHighEvent");
return nullptr;
}
jmethodID supplyVoltageHighStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, supplyVoltageHighStructClass, "<init>", "()V",
&supplyVoltageHighStructCtor);
if (err != CHIP_NO_ERROR || supplyVoltageHighStructCtor == nullptr)
{
ChipLogError(
Zcl, "Could not find ChipEventStructs$PumpConfigurationAndControlClusterSupplyVoltageHighEvent constructor");
return nullptr;
}
jobject value = env->NewObject(supplyVoltageHighStructClass, supplyVoltageHighStructCtor);
return value;
}
case Events::PowerMissingPhase::Id: {
Events::PowerMissingPhase::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass powerMissingPhaseStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PumpConfigurationAndControlClusterPowerMissingPhaseEvent",
powerMissingPhaseStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$PumpConfigurationAndControlClusterPowerMissingPhaseEvent");
return nullptr;
}
jmethodID powerMissingPhaseStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, powerMissingPhaseStructClass, "<init>", "()V",
&powerMissingPhaseStructCtor);
if (err != CHIP_NO_ERROR || powerMissingPhaseStructCtor == nullptr)
{
ChipLogError(
Zcl, "Could not find ChipEventStructs$PumpConfigurationAndControlClusterPowerMissingPhaseEvent constructor");
return nullptr;
}
jobject value = env->NewObject(powerMissingPhaseStructClass, powerMissingPhaseStructCtor);
return value;
}
case Events::SystemPressureLow::Id: {
Events::SystemPressureLow::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass systemPressureLowStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PumpConfigurationAndControlClusterSystemPressureLowEvent",
systemPressureLowStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$PumpConfigurationAndControlClusterSystemPressureLowEvent");
return nullptr;
}
jmethodID systemPressureLowStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, systemPressureLowStructClass, "<init>", "()V",
&systemPressureLowStructCtor);
if (err != CHIP_NO_ERROR || systemPressureLowStructCtor == nullptr)
{
ChipLogError(
Zcl, "Could not find ChipEventStructs$PumpConfigurationAndControlClusterSystemPressureLowEvent constructor");
return nullptr;
}
jobject value = env->NewObject(systemPressureLowStructClass, systemPressureLowStructCtor);
return value;
}
case Events::SystemPressureHigh::Id: {
Events::SystemPressureHigh::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass systemPressureHighStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PumpConfigurationAndControlClusterSystemPressureHighEvent",
systemPressureHighStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl,
"Could not find class ChipEventStructs$PumpConfigurationAndControlClusterSystemPressureHighEvent");
return nullptr;
}
jmethodID systemPressureHighStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, systemPressureHighStructClass, "<init>", "()V",
&systemPressureHighStructCtor);
if (err != CHIP_NO_ERROR || systemPressureHighStructCtor == nullptr)
{
ChipLogError(
Zcl, "Could not find ChipEventStructs$PumpConfigurationAndControlClusterSystemPressureHighEvent constructor");
return nullptr;
}
jobject value = env->NewObject(systemPressureHighStructClass, systemPressureHighStructCtor);
return value;
}
case Events::DryRunning::Id: {
Events::DryRunning::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass dryRunningStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PumpConfigurationAndControlClusterDryRunningEvent",
dryRunningStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$PumpConfigurationAndControlClusterDryRunningEvent");
return nullptr;
}
jmethodID dryRunningStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, dryRunningStructClass, "<init>", "()V", &dryRunningStructCtor);
if (err != CHIP_NO_ERROR || dryRunningStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$PumpConfigurationAndControlClusterDryRunningEvent constructor");
return nullptr;
}
jobject value = env->NewObject(dryRunningStructClass, dryRunningStructCtor);
return value;
}
case Events::MotorTemperatureHigh::Id: {
Events::MotorTemperatureHigh::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass motorTemperatureHighStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PumpConfigurationAndControlClusterMotorTemperatureHighEvent",
motorTemperatureHighStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl,
"Could not find class ChipEventStructs$PumpConfigurationAndControlClusterMotorTemperatureHighEvent");
return nullptr;
}
jmethodID motorTemperatureHighStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, motorTemperatureHighStructClass, "<init>", "()V",
&motorTemperatureHighStructCtor);
if (err != CHIP_NO_ERROR || motorTemperatureHighStructCtor == nullptr)
{
ChipLogError(
Zcl, "Could not find ChipEventStructs$PumpConfigurationAndControlClusterMotorTemperatureHighEvent constructor");
return nullptr;
}
jobject value = env->NewObject(motorTemperatureHighStructClass, motorTemperatureHighStructCtor);
return value;
}
case Events::PumpMotorFatalFailure::Id: {
Events::PumpMotorFatalFailure::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass pumpMotorFatalFailureStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PumpConfigurationAndControlClusterPumpMotorFatalFailureEvent",
pumpMotorFatalFailureStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl,
"Could not find class ChipEventStructs$PumpConfigurationAndControlClusterPumpMotorFatalFailureEvent");
return nullptr;
}
jmethodID pumpMotorFatalFailureStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, pumpMotorFatalFailureStructClass, "<init>", "()V",
&pumpMotorFatalFailureStructCtor);
if (err != CHIP_NO_ERROR || pumpMotorFatalFailureStructCtor == nullptr)
{
ChipLogError(
Zcl,
"Could not find ChipEventStructs$PumpConfigurationAndControlClusterPumpMotorFatalFailureEvent constructor");
return nullptr;
}
jobject value = env->NewObject(pumpMotorFatalFailureStructClass, pumpMotorFatalFailureStructCtor);
return value;
}
case Events::ElectronicTemperatureHigh::Id: {
Events::ElectronicTemperatureHigh::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass electronicTemperatureHighStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PumpConfigurationAndControlClusterElectronicTemperatureHighEvent",
electronicTemperatureHighStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(
Zcl, "Could not find class ChipEventStructs$PumpConfigurationAndControlClusterElectronicTemperatureHighEvent");
return nullptr;
}
jmethodID electronicTemperatureHighStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, electronicTemperatureHighStructClass, "<init>", "()V",
&electronicTemperatureHighStructCtor);
if (err != CHIP_NO_ERROR || electronicTemperatureHighStructCtor == nullptr)
{
ChipLogError(
Zcl,
"Could not find ChipEventStructs$PumpConfigurationAndControlClusterElectronicTemperatureHighEvent constructor");
return nullptr;
}
jobject value = env->NewObject(electronicTemperatureHighStructClass, electronicTemperatureHighStructCtor);
return value;
}
case Events::PumpBlocked::Id: {
Events::PumpBlocked::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass pumpBlockedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PumpConfigurationAndControlClusterPumpBlockedEvent",
pumpBlockedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$PumpConfigurationAndControlClusterPumpBlockedEvent");
return nullptr;
}
jmethodID pumpBlockedStructCtor;
err =
chip::JniReferences::GetInstance().FindMethod(env, pumpBlockedStructClass, "<init>", "()V", &pumpBlockedStructCtor);
if (err != CHIP_NO_ERROR || pumpBlockedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$PumpConfigurationAndControlClusterPumpBlockedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(pumpBlockedStructClass, pumpBlockedStructCtor);
return value;
}
case Events::SensorFailure::Id: {
Events::SensorFailure::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass sensorFailureStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PumpConfigurationAndControlClusterSensorFailureEvent",
sensorFailureStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$PumpConfigurationAndControlClusterSensorFailureEvent");
return nullptr;
}
jmethodID sensorFailureStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, sensorFailureStructClass, "<init>", "()V",
&sensorFailureStructCtor);
if (err != CHIP_NO_ERROR || sensorFailureStructCtor == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipEventStructs$PumpConfigurationAndControlClusterSensorFailureEvent constructor");
return nullptr;
}
jobject value = env->NewObject(sensorFailureStructClass, sensorFailureStructCtor);
return value;
}
case Events::ElectronicNonFatalFailure::Id: {
Events::ElectronicNonFatalFailure::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass electronicNonFatalFailureStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PumpConfigurationAndControlClusterElectronicNonFatalFailureEvent",
electronicNonFatalFailureStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(
Zcl, "Could not find class ChipEventStructs$PumpConfigurationAndControlClusterElectronicNonFatalFailureEvent");
return nullptr;
}
jmethodID electronicNonFatalFailureStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, electronicNonFatalFailureStructClass, "<init>", "()V",
&electronicNonFatalFailureStructCtor);
if (err != CHIP_NO_ERROR || electronicNonFatalFailureStructCtor == nullptr)
{
ChipLogError(
Zcl,
"Could not find ChipEventStructs$PumpConfigurationAndControlClusterElectronicNonFatalFailureEvent constructor");
return nullptr;
}
jobject value = env->NewObject(electronicNonFatalFailureStructClass, electronicNonFatalFailureStructCtor);
return value;
}
case Events::ElectronicFatalFailure::Id: {
Events::ElectronicFatalFailure::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass electronicFatalFailureStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PumpConfigurationAndControlClusterElectronicFatalFailureEvent",
electronicFatalFailureStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl,
"Could not find class ChipEventStructs$PumpConfigurationAndControlClusterElectronicFatalFailureEvent");
return nullptr;
}
jmethodID electronicFatalFailureStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, electronicFatalFailureStructClass, "<init>", "()V",
&electronicFatalFailureStructCtor);
if (err != CHIP_NO_ERROR || electronicFatalFailureStructCtor == nullptr)
{
ChipLogError(
Zcl,
"Could not find ChipEventStructs$PumpConfigurationAndControlClusterElectronicFatalFailureEvent constructor");
return nullptr;
}
jobject value = env->NewObject(electronicFatalFailureStructClass, electronicFatalFailureStructCtor);
return value;
}
case Events::GeneralFault::Id: {
Events::GeneralFault::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass generalFaultStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PumpConfigurationAndControlClusterGeneralFaultEvent",
generalFaultStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$PumpConfigurationAndControlClusterGeneralFaultEvent");
return nullptr;
}
jmethodID generalFaultStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, generalFaultStructClass, "<init>", "()V",
&generalFaultStructCtor);
if (err != CHIP_NO_ERROR || generalFaultStructCtor == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipEventStructs$PumpConfigurationAndControlClusterGeneralFaultEvent constructor");
return nullptr;
}
jobject value = env->NewObject(generalFaultStructClass, generalFaultStructCtor);
return value;
}
case Events::Leakage::Id: {
Events::Leakage::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass leakageStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PumpConfigurationAndControlClusterLeakageEvent", leakageStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$PumpConfigurationAndControlClusterLeakageEvent");
return nullptr;
}
jmethodID leakageStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, leakageStructClass, "<init>", "()V", &leakageStructCtor);
if (err != CHIP_NO_ERROR || leakageStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$PumpConfigurationAndControlClusterLeakageEvent constructor");
return nullptr;
}
jobject value = env->NewObject(leakageStructClass, leakageStructCtor);
return value;
}
case Events::AirDetection::Id: {
Events::AirDetection::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass airDetectionStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PumpConfigurationAndControlClusterAirDetectionEvent",
airDetectionStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$PumpConfigurationAndControlClusterAirDetectionEvent");
return nullptr;
}
jmethodID airDetectionStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, airDetectionStructClass, "<init>", "()V",
&airDetectionStructCtor);
if (err != CHIP_NO_ERROR || airDetectionStructCtor == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipEventStructs$PumpConfigurationAndControlClusterAirDetectionEvent constructor");
return nullptr;
}
jobject value = env->NewObject(airDetectionStructClass, airDetectionStructCtor);
return value;
}
case Events::TurbineOperation::Id: {
Events::TurbineOperation::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass turbineOperationStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$PumpConfigurationAndControlClusterTurbineOperationEvent",
turbineOperationStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$PumpConfigurationAndControlClusterTurbineOperationEvent");
return nullptr;
}
jmethodID turbineOperationStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, turbineOperationStructClass, "<init>", "()V",
&turbineOperationStructCtor);
if (err != CHIP_NO_ERROR || turbineOperationStructCtor == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipEventStructs$PumpConfigurationAndControlClusterTurbineOperationEvent constructor");
return nullptr;
}
jobject value = env->NewObject(turbineOperationStructClass, turbineOperationStructCtor);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::Thermostat::Id: {
using namespace app::Clusters::Thermostat;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::FanControl::Id: {
using namespace app::Clusters::FanControl;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ThermostatUserInterfaceConfiguration::Id: {
using namespace app::Clusters::ThermostatUserInterfaceConfiguration;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ColorControl::Id: {
using namespace app::Clusters::ColorControl;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::BallastConfiguration::Id: {
using namespace app::Clusters::BallastConfiguration;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::IlluminanceMeasurement::Id: {
using namespace app::Clusters::IlluminanceMeasurement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::TemperatureMeasurement::Id: {
using namespace app::Clusters::TemperatureMeasurement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::PressureMeasurement::Id: {
using namespace app::Clusters::PressureMeasurement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::FlowMeasurement::Id: {
using namespace app::Clusters::FlowMeasurement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::RelativeHumidityMeasurement::Id: {
using namespace app::Clusters::RelativeHumidityMeasurement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::OccupancySensing::Id: {
using namespace app::Clusters::OccupancySensing;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::CarbonMonoxideConcentrationMeasurement::Id: {
using namespace app::Clusters::CarbonMonoxideConcentrationMeasurement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::CarbonDioxideConcentrationMeasurement::Id: {
using namespace app::Clusters::CarbonDioxideConcentrationMeasurement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::NitrogenDioxideConcentrationMeasurement::Id: {
using namespace app::Clusters::NitrogenDioxideConcentrationMeasurement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::OzoneConcentrationMeasurement::Id: {
using namespace app::Clusters::OzoneConcentrationMeasurement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::Pm25ConcentrationMeasurement::Id: {
using namespace app::Clusters::Pm25ConcentrationMeasurement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::FormaldehydeConcentrationMeasurement::Id: {
using namespace app::Clusters::FormaldehydeConcentrationMeasurement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::Pm1ConcentrationMeasurement::Id: {
using namespace app::Clusters::Pm1ConcentrationMeasurement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::Pm10ConcentrationMeasurement::Id: {
using namespace app::Clusters::Pm10ConcentrationMeasurement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::TotalVolatileOrganicCompoundsConcentrationMeasurement::Id: {
using namespace app::Clusters::TotalVolatileOrganicCompoundsConcentrationMeasurement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::RadonConcentrationMeasurement::Id: {
using namespace app::Clusters::RadonConcentrationMeasurement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::WiFiNetworkManagement::Id: {
using namespace app::Clusters::WiFiNetworkManagement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ThreadBorderRouterManagement::Id: {
using namespace app::Clusters::ThreadBorderRouterManagement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ThreadNetworkDirectory::Id: {
using namespace app::Clusters::ThreadNetworkDirectory;
switch (aPath.mEventId)
{
case Events::NetworkChanged::Id: {
Events::NetworkChanged::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_extendedPanID;
std::string value_extendedPanIDClassName = "java/lang/Long";
std::string value_extendedPanIDCtorSignature = "(J)V";
jlong jnivalue_extendedPanID = static_cast<jlong>(cppValue.extendedPanID);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_extendedPanIDClassName.c_str(),
value_extendedPanIDCtorSignature.c_str(),
jnivalue_extendedPanID, value_extendedPanID);
jclass networkChangedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$ThreadNetworkDirectoryClusterNetworkChangedEvent",
networkChangedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$ThreadNetworkDirectoryClusterNetworkChangedEvent");
return nullptr;
}
jmethodID networkChangedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, networkChangedStructClass, "<init>", "(Ljava/lang/Long;)V",
&networkChangedStructCtor);
if (err != CHIP_NO_ERROR || networkChangedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$ThreadNetworkDirectoryClusterNetworkChangedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(networkChangedStructClass, networkChangedStructCtor, value_extendedPanID);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::WakeOnLan::Id: {
using namespace app::Clusters::WakeOnLan;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::Channel::Id: {
using namespace app::Clusters::Channel;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::TargetNavigator::Id: {
using namespace app::Clusters::TargetNavigator;
switch (aPath.mEventId)
{
case Events::TargetUpdated::Id: {
Events::TargetUpdated::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_targetList;
chip::JniReferences::GetInstance().CreateArrayList(value_targetList);
auto iter_value_targetList_0 = cppValue.targetList.begin();
while (iter_value_targetList_0.Next())
{
auto & entry_0 = iter_value_targetList_0.GetValue();
jobject newElement_0;
jobject newElement_0_identifier;
std::string newElement_0_identifierClassName = "java/lang/Integer";
std::string newElement_0_identifierCtorSignature = "(I)V";
jint jninewElement_0_identifier = static_cast<jint>(entry_0.identifier);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(newElement_0_identifierClassName.c_str(),
newElement_0_identifierCtorSignature.c_str(),
jninewElement_0_identifier, newElement_0_identifier);
jobject newElement_0_name;
LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.name, newElement_0_name));
jclass targetInfoStructStructClass_1;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$TargetNavigatorClusterTargetInfoStruct", targetInfoStructStructClass_1);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipStructs$TargetNavigatorClusterTargetInfoStruct");
return nullptr;
}
jmethodID targetInfoStructStructCtor_1;
err = chip::JniReferences::GetInstance().FindMethod(env, targetInfoStructStructClass_1, "<init>",
"(Ljava/lang/Integer;Ljava/lang/String;)V",
&targetInfoStructStructCtor_1);
if (err != CHIP_NO_ERROR || targetInfoStructStructCtor_1 == nullptr)
{
ChipLogError(Zcl, "Could not find ChipStructs$TargetNavigatorClusterTargetInfoStruct constructor");
return nullptr;
}
newElement_0 = env->NewObject(targetInfoStructStructClass_1, targetInfoStructStructCtor_1, newElement_0_identifier,
newElement_0_name);
chip::JniReferences::GetInstance().AddToList(value_targetList, newElement_0);
}
jobject value_currentTarget;
std::string value_currentTargetClassName = "java/lang/Integer";
std::string value_currentTargetCtorSignature = "(I)V";
jint jnivalue_currentTarget = static_cast<jint>(cppValue.currentTarget);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_currentTargetClassName.c_str(),
value_currentTargetCtorSignature.c_str(),
jnivalue_currentTarget, value_currentTarget);
jobject value_data;
jbyteArray value_dataByteArray = env->NewByteArray(static_cast<jsize>(cppValue.data.size()));
env->SetByteArrayRegion(value_dataByteArray, 0, static_cast<jsize>(cppValue.data.size()),
reinterpret_cast<const jbyte *>(cppValue.data.data()));
value_data = value_dataByteArray;
jclass targetUpdatedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$TargetNavigatorClusterTargetUpdatedEvent", targetUpdatedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$TargetNavigatorClusterTargetUpdatedEvent");
return nullptr;
}
jmethodID targetUpdatedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, targetUpdatedStructClass, "<init>", "(Ljava/util/ArrayList;Ljava/lang/Integer;[B)V", &targetUpdatedStructCtor);
if (err != CHIP_NO_ERROR || targetUpdatedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$TargetNavigatorClusterTargetUpdatedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(targetUpdatedStructClass, targetUpdatedStructCtor, value_targetList, value_currentTarget,
value_data);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::MediaPlayback::Id: {
using namespace app::Clusters::MediaPlayback;
switch (aPath.mEventId)
{
case Events::StateChanged::Id: {
Events::StateChanged::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_currentState;
std::string value_currentStateClassName = "java/lang/Integer";
std::string value_currentStateCtorSignature = "(I)V";
jint jnivalue_currentState = static_cast<jint>(cppValue.currentState);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_currentStateClassName.c_str(),
value_currentStateCtorSignature.c_str(),
jnivalue_currentState, value_currentState);
jobject value_startTime;
std::string value_startTimeClassName = "java/lang/Long";
std::string value_startTimeCtorSignature = "(J)V";
jlong jnivalue_startTime = static_cast<jlong>(cppValue.startTime);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_startTimeClassName.c_str(), value_startTimeCtorSignature.c_str(), jnivalue_startTime, value_startTime);
jobject value_duration;
std::string value_durationClassName = "java/lang/Long";
std::string value_durationCtorSignature = "(J)V";
jlong jnivalue_duration = static_cast<jlong>(cppValue.duration);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_durationClassName.c_str(), value_durationCtorSignature.c_str(), jnivalue_duration, value_duration);
jobject value_sampledPosition;
jobject value_sampledPosition_updatedAt;
std::string value_sampledPosition_updatedAtClassName = "java/lang/Long";
std::string value_sampledPosition_updatedAtCtorSignature = "(J)V";
jlong jnivalue_sampledPosition_updatedAt = static_cast<jlong>(cppValue.sampledPosition.updatedAt);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_sampledPosition_updatedAtClassName.c_str(), value_sampledPosition_updatedAtCtorSignature.c_str(),
jnivalue_sampledPosition_updatedAt, value_sampledPosition_updatedAt);
jobject value_sampledPosition_position;
if (cppValue.sampledPosition.position.IsNull())
{
value_sampledPosition_position = nullptr;
}
else
{
std::string value_sampledPosition_positionClassName = "java/lang/Long";
std::string value_sampledPosition_positionCtorSignature = "(J)V";
jlong jnivalue_sampledPosition_position = static_cast<jlong>(cppValue.sampledPosition.position.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_sampledPosition_positionClassName.c_str(), value_sampledPosition_positionCtorSignature.c_str(),
jnivalue_sampledPosition_position, value_sampledPosition_position);
}
jclass playbackPositionStructStructClass_0;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$MediaPlaybackClusterPlaybackPositionStruct",
playbackPositionStructStructClass_0);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipStructs$MediaPlaybackClusterPlaybackPositionStruct");
return nullptr;
}
jmethodID playbackPositionStructStructCtor_0;
err = chip::JniReferences::GetInstance().FindMethod(env, playbackPositionStructStructClass_0, "<init>",
"(Ljava/lang/Long;Ljava/lang/Long;)V",
&playbackPositionStructStructCtor_0);
if (err != CHIP_NO_ERROR || playbackPositionStructStructCtor_0 == nullptr)
{
ChipLogError(Zcl, "Could not find ChipStructs$MediaPlaybackClusterPlaybackPositionStruct constructor");
return nullptr;
}
value_sampledPosition = env->NewObject(playbackPositionStructStructClass_0, playbackPositionStructStructCtor_0,
value_sampledPosition_updatedAt, value_sampledPosition_position);
jobject value_playbackSpeed;
std::string value_playbackSpeedClassName = "java/lang/Float";
std::string value_playbackSpeedCtorSignature = "(F)V";
jfloat jnivalue_playbackSpeed = static_cast<jfloat>(cppValue.playbackSpeed);
chip::JniReferences::GetInstance().CreateBoxedObject<jfloat>(value_playbackSpeedClassName.c_str(),
value_playbackSpeedCtorSignature.c_str(),
jnivalue_playbackSpeed, value_playbackSpeed);
jobject value_seekRangeEnd;
std::string value_seekRangeEndClassName = "java/lang/Long";
std::string value_seekRangeEndCtorSignature = "(J)V";
jlong jnivalue_seekRangeEnd = static_cast<jlong>(cppValue.seekRangeEnd);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_seekRangeEndClassName.c_str(),
value_seekRangeEndCtorSignature.c_str(),
jnivalue_seekRangeEnd, value_seekRangeEnd);
jobject value_seekRangeStart;
std::string value_seekRangeStartClassName = "java/lang/Long";
std::string value_seekRangeStartCtorSignature = "(J)V";
jlong jnivalue_seekRangeStart = static_cast<jlong>(cppValue.seekRangeStart);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_seekRangeStartClassName.c_str(),
value_seekRangeStartCtorSignature.c_str(),
jnivalue_seekRangeStart, value_seekRangeStart);
jobject value_data;
if (!cppValue.data.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_data);
}
else
{
jobject value_dataInsideOptional;
jbyteArray value_dataInsideOptionalByteArray = env->NewByteArray(static_cast<jsize>(cppValue.data.Value().size()));
env->SetByteArrayRegion(value_dataInsideOptionalByteArray, 0, static_cast<jsize>(cppValue.data.Value().size()),
reinterpret_cast<const jbyte *>(cppValue.data.Value().data()));
value_dataInsideOptional = value_dataInsideOptionalByteArray;
chip::JniReferences::GetInstance().CreateOptional(value_dataInsideOptional, value_data);
}
jobject value_audioAdvanceUnmuted;
std::string value_audioAdvanceUnmutedClassName = "java/lang/Boolean";
std::string value_audioAdvanceUnmutedCtorSignature = "(Z)V";
jboolean jnivalue_audioAdvanceUnmuted = static_cast<jboolean>(cppValue.audioAdvanceUnmuted);
chip::JniReferences::GetInstance().CreateBoxedObject<jboolean>(value_audioAdvanceUnmutedClassName.c_str(),
value_audioAdvanceUnmutedCtorSignature.c_str(),
jnivalue_audioAdvanceUnmuted, value_audioAdvanceUnmuted);
jclass stateChangedStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$MediaPlaybackClusterStateChangedEvent", stateChangedStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$MediaPlaybackClusterStateChangedEvent");
return nullptr;
}
jmethodID stateChangedStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, stateChangedStructClass, "<init>",
"(Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Long;Lchip/devicecontroller/"
"ChipStructs$MediaPlaybackClusterPlaybackPositionStruct;Ljava/lang/Float;Ljava/lang/Long;Ljava/lang/Long;Ljava/"
"util/Optional;Ljava/lang/Boolean;)V",
&stateChangedStructCtor);
if (err != CHIP_NO_ERROR || stateChangedStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$MediaPlaybackClusterStateChangedEvent constructor");
return nullptr;
}
jobject value = env->NewObject(stateChangedStructClass, stateChangedStructCtor, value_currentState, value_startTime,
value_duration, value_sampledPosition, value_playbackSpeed, value_seekRangeEnd,
value_seekRangeStart, value_data, value_audioAdvanceUnmuted);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::MediaInput::Id: {
using namespace app::Clusters::MediaInput;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::LowPower::Id: {
using namespace app::Clusters::LowPower;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::KeypadInput::Id: {
using namespace app::Clusters::KeypadInput;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ContentLauncher::Id: {
using namespace app::Clusters::ContentLauncher;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::AudioOutput::Id: {
using namespace app::Clusters::AudioOutput;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ApplicationLauncher::Id: {
using namespace app::Clusters::ApplicationLauncher;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ApplicationBasic::Id: {
using namespace app::Clusters::ApplicationBasic;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::AccountLogin::Id: {
using namespace app::Clusters::AccountLogin;
switch (aPath.mEventId)
{
case Events::LoggedOut::Id: {
Events::LoggedOut::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_node;
if (!cppValue.node.HasValue())
{
chip::JniReferences::GetInstance().CreateOptional(nullptr, value_node);
}
else
{
jobject value_nodeInsideOptional;
std::string value_nodeInsideOptionalClassName = "java/lang/Long";
std::string value_nodeInsideOptionalCtorSignature = "(J)V";
jlong jnivalue_nodeInsideOptional = static_cast<jlong>(cppValue.node.Value());
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(value_nodeInsideOptionalClassName.c_str(),
value_nodeInsideOptionalCtorSignature.c_str(),
jnivalue_nodeInsideOptional, value_nodeInsideOptional);
chip::JniReferences::GetInstance().CreateOptional(value_nodeInsideOptional, value_node);
}
jclass loggedOutStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$AccountLoginClusterLoggedOutEvent", loggedOutStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$AccountLoginClusterLoggedOutEvent");
return nullptr;
}
jmethodID loggedOutStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, loggedOutStructClass, "<init>", "(Ljava/util/Optional;)V",
&loggedOutStructCtor);
if (err != CHIP_NO_ERROR || loggedOutStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$AccountLoginClusterLoggedOutEvent constructor");
return nullptr;
}
jobject value = env->NewObject(loggedOutStructClass, loggedOutStructCtor, value_node);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ContentControl::Id: {
using namespace app::Clusters::ContentControl;
switch (aPath.mEventId)
{
case Events::RemainingScreenTimeExpired::Id: {
Events::RemainingScreenTimeExpired::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jclass remainingScreenTimeExpiredStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$ContentControlClusterRemainingScreenTimeExpiredEvent",
remainingScreenTimeExpiredStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$ContentControlClusterRemainingScreenTimeExpiredEvent");
return nullptr;
}
jmethodID remainingScreenTimeExpiredStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, remainingScreenTimeExpiredStructClass, "<init>", "()V",
&remainingScreenTimeExpiredStructCtor);
if (err != CHIP_NO_ERROR || remainingScreenTimeExpiredStructCtor == nullptr)
{
ChipLogError(Zcl,
"Could not find ChipEventStructs$ContentControlClusterRemainingScreenTimeExpiredEvent constructor");
return nullptr;
}
jobject value = env->NewObject(remainingScreenTimeExpiredStructClass, remainingScreenTimeExpiredStructCtor);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ContentAppObserver::Id: {
using namespace app::Clusters::ContentAppObserver;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::ElectricalMeasurement::Id: {
using namespace app::Clusters::ElectricalMeasurement;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::UnitTesting::Id: {
using namespace app::Clusters::UnitTesting;
switch (aPath.mEventId)
{
case Events::TestEvent::Id: {
Events::TestEvent::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_arg1;
std::string value_arg1ClassName = "java/lang/Integer";
std::string value_arg1CtorSignature = "(I)V";
jint jnivalue_arg1 = static_cast<jint>(cppValue.arg1);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_arg1ClassName.c_str(), value_arg1CtorSignature.c_str(),
jnivalue_arg1, value_arg1);
jobject value_arg2;
std::string value_arg2ClassName = "java/lang/Integer";
std::string value_arg2CtorSignature = "(I)V";
jint jnivalue_arg2 = static_cast<jint>(cppValue.arg2);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_arg2ClassName.c_str(), value_arg2CtorSignature.c_str(),
jnivalue_arg2, value_arg2);
jobject value_arg3;
std::string value_arg3ClassName = "java/lang/Boolean";
std::string value_arg3CtorSignature = "(Z)V";
jboolean jnivalue_arg3 = static_cast<jboolean>(cppValue.arg3);
chip::JniReferences::GetInstance().CreateBoxedObject<jboolean>(
value_arg3ClassName.c_str(), value_arg3CtorSignature.c_str(), jnivalue_arg3, value_arg3);
jobject value_arg4;
jobject value_arg4_a;
std::string value_arg4_aClassName = "java/lang/Integer";
std::string value_arg4_aCtorSignature = "(I)V";
jint jnivalue_arg4_a = static_cast<jint>(cppValue.arg4.a);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_arg4_aClassName.c_str(), value_arg4_aCtorSignature.c_str(), jnivalue_arg4_a, value_arg4_a);
jobject value_arg4_b;
std::string value_arg4_bClassName = "java/lang/Boolean";
std::string value_arg4_bCtorSignature = "(Z)V";
jboolean jnivalue_arg4_b = static_cast<jboolean>(cppValue.arg4.b);
chip::JniReferences::GetInstance().CreateBoxedObject<jboolean>(
value_arg4_bClassName.c_str(), value_arg4_bCtorSignature.c_str(), jnivalue_arg4_b, value_arg4_b);
jobject value_arg4_c;
std::string value_arg4_cClassName = "java/lang/Integer";
std::string value_arg4_cCtorSignature = "(I)V";
jint jnivalue_arg4_c = static_cast<jint>(cppValue.arg4.c);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_arg4_cClassName.c_str(), value_arg4_cCtorSignature.c_str(), jnivalue_arg4_c, value_arg4_c);
jobject value_arg4_d;
jbyteArray value_arg4_dByteArray = env->NewByteArray(static_cast<jsize>(cppValue.arg4.d.size()));
env->SetByteArrayRegion(value_arg4_dByteArray, 0, static_cast<jsize>(cppValue.arg4.d.size()),
reinterpret_cast<const jbyte *>(cppValue.arg4.d.data()));
value_arg4_d = value_arg4_dByteArray;
jobject value_arg4_e;
LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(cppValue.arg4.e, value_arg4_e));
jobject value_arg4_f;
std::string value_arg4_fClassName = "java/lang/Integer";
std::string value_arg4_fCtorSignature = "(I)V";
jint jnivalue_arg4_f = static_cast<jint>(cppValue.arg4.f.Raw());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
value_arg4_fClassName.c_str(), value_arg4_fCtorSignature.c_str(), jnivalue_arg4_f, value_arg4_f);
jobject value_arg4_g;
std::string value_arg4_gClassName = "java/lang/Float";
std::string value_arg4_gCtorSignature = "(F)V";
jfloat jnivalue_arg4_g = static_cast<jfloat>(cppValue.arg4.g);
chip::JniReferences::GetInstance().CreateBoxedObject<jfloat>(
value_arg4_gClassName.c_str(), value_arg4_gCtorSignature.c_str(), jnivalue_arg4_g, value_arg4_g);
jobject value_arg4_h;
std::string value_arg4_hClassName = "java/lang/Double";
std::string value_arg4_hCtorSignature = "(D)V";
jdouble jnivalue_arg4_h = static_cast<jdouble>(cppValue.arg4.h);
chip::JniReferences::GetInstance().CreateBoxedObject<jdouble>(
value_arg4_hClassName.c_str(), value_arg4_hCtorSignature.c_str(), jnivalue_arg4_h, value_arg4_h);
jclass simpleStructStructClass_0;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$UnitTestingClusterSimpleStruct", simpleStructStructClass_0);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipStructs$UnitTestingClusterSimpleStruct");
return nullptr;
}
jmethodID simpleStructStructCtor_0;
err = chip::JniReferences::GetInstance().FindMethod(
env, simpleStructStructClass_0, "<init>",
"(Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/Integer;[BLjava/lang/String;Ljava/lang/Integer;Ljava/lang/"
"Float;Ljava/lang/Double;)V",
&simpleStructStructCtor_0);
if (err != CHIP_NO_ERROR || simpleStructStructCtor_0 == nullptr)
{
ChipLogError(Zcl, "Could not find ChipStructs$UnitTestingClusterSimpleStruct constructor");
return nullptr;
}
value_arg4 = env->NewObject(simpleStructStructClass_0, simpleStructStructCtor_0, value_arg4_a, value_arg4_b,
value_arg4_c, value_arg4_d, value_arg4_e, value_arg4_f, value_arg4_g, value_arg4_h);
jobject value_arg5;
chip::JniReferences::GetInstance().CreateArrayList(value_arg5);
auto iter_value_arg5_0 = cppValue.arg5.begin();
while (iter_value_arg5_0.Next())
{
auto & entry_0 = iter_value_arg5_0.GetValue();
jobject newElement_0;
jobject newElement_0_a;
std::string newElement_0_aClassName = "java/lang/Integer";
std::string newElement_0_aCtorSignature = "(I)V";
jint jninewElement_0_a = static_cast<jint>(entry_0.a);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0_aClassName.c_str(), newElement_0_aCtorSignature.c_str(), jninewElement_0_a, newElement_0_a);
jobject newElement_0_b;
std::string newElement_0_bClassName = "java/lang/Boolean";
std::string newElement_0_bCtorSignature = "(Z)V";
jboolean jninewElement_0_b = static_cast<jboolean>(entry_0.b);
chip::JniReferences::GetInstance().CreateBoxedObject<jboolean>(
newElement_0_bClassName.c_str(), newElement_0_bCtorSignature.c_str(), jninewElement_0_b, newElement_0_b);
jobject newElement_0_c;
std::string newElement_0_cClassName = "java/lang/Integer";
std::string newElement_0_cCtorSignature = "(I)V";
jint jninewElement_0_c = static_cast<jint>(entry_0.c);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0_cClassName.c_str(), newElement_0_cCtorSignature.c_str(), jninewElement_0_c, newElement_0_c);
jobject newElement_0_d;
jbyteArray newElement_0_dByteArray = env->NewByteArray(static_cast<jsize>(entry_0.d.size()));
env->SetByteArrayRegion(newElement_0_dByteArray, 0, static_cast<jsize>(entry_0.d.size()),
reinterpret_cast<const jbyte *>(entry_0.d.data()));
newElement_0_d = newElement_0_dByteArray;
jobject newElement_0_e;
LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.e, newElement_0_e));
jobject newElement_0_f;
std::string newElement_0_fClassName = "java/lang/Integer";
std::string newElement_0_fCtorSignature = "(I)V";
jint jninewElement_0_f = static_cast<jint>(entry_0.f.Raw());
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0_fClassName.c_str(), newElement_0_fCtorSignature.c_str(), jninewElement_0_f, newElement_0_f);
jobject newElement_0_g;
std::string newElement_0_gClassName = "java/lang/Float";
std::string newElement_0_gCtorSignature = "(F)V";
jfloat jninewElement_0_g = static_cast<jfloat>(entry_0.g);
chip::JniReferences::GetInstance().CreateBoxedObject<jfloat>(
newElement_0_gClassName.c_str(), newElement_0_gCtorSignature.c_str(), jninewElement_0_g, newElement_0_g);
jobject newElement_0_h;
std::string newElement_0_hClassName = "java/lang/Double";
std::string newElement_0_hCtorSignature = "(D)V";
jdouble jninewElement_0_h = static_cast<jdouble>(entry_0.h);
chip::JniReferences::GetInstance().CreateBoxedObject<jdouble>(
newElement_0_hClassName.c_str(), newElement_0_hCtorSignature.c_str(), jninewElement_0_h, newElement_0_h);
jclass simpleStructStructClass_1;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipStructs$UnitTestingClusterSimpleStruct", simpleStructStructClass_1);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipStructs$UnitTestingClusterSimpleStruct");
return nullptr;
}
jmethodID simpleStructStructCtor_1;
err = chip::JniReferences::GetInstance().FindMethod(
env, simpleStructStructClass_1, "<init>",
"(Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/Integer;[BLjava/lang/String;Ljava/lang/Integer;Ljava/lang/"
"Float;Ljava/lang/Double;)V",
&simpleStructStructCtor_1);
if (err != CHIP_NO_ERROR || simpleStructStructCtor_1 == nullptr)
{
ChipLogError(Zcl, "Could not find ChipStructs$UnitTestingClusterSimpleStruct constructor");
return nullptr;
}
newElement_0 =
env->NewObject(simpleStructStructClass_1, simpleStructStructCtor_1, newElement_0_a, newElement_0_b,
newElement_0_c, newElement_0_d, newElement_0_e, newElement_0_f, newElement_0_g, newElement_0_h);
chip::JniReferences::GetInstance().AddToList(value_arg5, newElement_0);
}
jobject value_arg6;
chip::JniReferences::GetInstance().CreateArrayList(value_arg6);
auto iter_value_arg6_0 = cppValue.arg6.begin();
while (iter_value_arg6_0.Next())
{
auto & entry_0 = iter_value_arg6_0.GetValue();
jobject newElement_0;
std::string newElement_0ClassName = "java/lang/Integer";
std::string newElement_0CtorSignature = "(I)V";
jint jninewElement_0 = static_cast<jint>(entry_0);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(
newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0);
chip::JniReferences::GetInstance().AddToList(value_arg6, newElement_0);
}
jclass testEventStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$UnitTestingClusterTestEventEvent", testEventStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$UnitTestingClusterTestEventEvent");
return nullptr;
}
jmethodID testEventStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, testEventStructClass, "<init>",
"(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Boolean;Lchip/devicecontroller/"
"ChipStructs$UnitTestingClusterSimpleStruct;Ljava/util/ArrayList;Ljava/util/ArrayList;)V",
&testEventStructCtor);
if (err != CHIP_NO_ERROR || testEventStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$UnitTestingClusterTestEventEvent constructor");
return nullptr;
}
jobject value = env->NewObject(testEventStructClass, testEventStructCtor, value_arg1, value_arg2, value_arg3,
value_arg4, value_arg5, value_arg6);
return value;
}
case Events::TestFabricScopedEvent::Id: {
Events::TestFabricScopedEvent::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_fabricIndex;
std::string value_fabricIndexClassName = "java/lang/Integer";
std::string value_fabricIndexCtorSignature = "(I)V";
jint jnivalue_fabricIndex = static_cast<jint>(cppValue.fabricIndex);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_fabricIndexClassName.c_str(),
value_fabricIndexCtorSignature.c_str(), jnivalue_fabricIndex,
value_fabricIndex);
jclass testFabricScopedEventStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$UnitTestingClusterTestFabricScopedEventEvent",
testFabricScopedEventStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$UnitTestingClusterTestFabricScopedEventEvent");
return nullptr;
}
jmethodID testFabricScopedEventStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, testFabricScopedEventStructClass, "<init>",
"(Ljava/lang/Integer;)V", &testFabricScopedEventStructCtor);
if (err != CHIP_NO_ERROR || testFabricScopedEventStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$UnitTestingClusterTestFabricScopedEventEvent constructor");
return nullptr;
}
jobject value = env->NewObject(testFabricScopedEventStructClass, testFabricScopedEventStructCtor, value_fabricIndex);
return value;
}
case Events::TestDifferentVendorMeiEvent::Id: {
Events::TestDifferentVendorMeiEvent::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_arg1;
std::string value_arg1ClassName = "java/lang/Integer";
std::string value_arg1CtorSignature = "(I)V";
jint jnivalue_arg1 = static_cast<jint>(cppValue.arg1);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_arg1ClassName.c_str(), value_arg1CtorSignature.c_str(),
jnivalue_arg1, value_arg1);
jclass testDifferentVendorMeiEventStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$UnitTestingClusterTestDifferentVendorMeiEventEvent",
testDifferentVendorMeiEventStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$UnitTestingClusterTestDifferentVendorMeiEventEvent");
return nullptr;
}
jmethodID testDifferentVendorMeiEventStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(env, testDifferentVendorMeiEventStructClass, "<init>",
"(Ljava/lang/Integer;)V", &testDifferentVendorMeiEventStructCtor);
if (err != CHIP_NO_ERROR || testDifferentVendorMeiEventStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$UnitTestingClusterTestDifferentVendorMeiEventEvent constructor");
return nullptr;
}
jobject value =
env->NewObject(testDifferentVendorMeiEventStructClass, testDifferentVendorMeiEventStructCtor, value_arg1);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::FaultInjection::Id: {
using namespace app::Clusters::FaultInjection;
switch (aPath.mEventId)
{
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
case app::Clusters::SampleMei::Id: {
using namespace app::Clusters::SampleMei;
switch (aPath.mEventId)
{
case Events::PingCountEvent::Id: {
Events::PingCountEvent::DecodableType cppValue;
*aError = app::DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR)
{
return nullptr;
}
jobject value_count;
std::string value_countClassName = "java/lang/Long";
std::string value_countCtorSignature = "(J)V";
jlong jnivalue_count = static_cast<jlong>(cppValue.count);
chip::JniReferences::GetInstance().CreateBoxedObject<jlong>(
value_countClassName.c_str(), value_countCtorSignature.c_str(), jnivalue_count, value_count);
jobject value_fabricIndex;
std::string value_fabricIndexClassName = "java/lang/Integer";
std::string value_fabricIndexCtorSignature = "(I)V";
jint jnivalue_fabricIndex = static_cast<jint>(cppValue.fabricIndex);
chip::JniReferences::GetInstance().CreateBoxedObject<jint>(value_fabricIndexClassName.c_str(),
value_fabricIndexCtorSignature.c_str(), jnivalue_fabricIndex,
value_fabricIndex);
jclass pingCountEventStructClass;
err = chip::JniReferences::GetInstance().GetLocalClassRef(
env, "chip/devicecontroller/ChipEventStructs$SampleMeiClusterPingCountEventEvent", pingCountEventStructClass);
if (err != CHIP_NO_ERROR)
{
ChipLogError(Zcl, "Could not find class ChipEventStructs$SampleMeiClusterPingCountEventEvent");
return nullptr;
}
jmethodID pingCountEventStructCtor;
err = chip::JniReferences::GetInstance().FindMethod(
env, pingCountEventStructClass, "<init>", "(Ljava/lang/Long;Ljava/lang/Integer;)V", &pingCountEventStructCtor);
if (err != CHIP_NO_ERROR || pingCountEventStructCtor == nullptr)
{
ChipLogError(Zcl, "Could not find ChipEventStructs$SampleMeiClusterPingCountEventEvent constructor");
return nullptr;
}
jobject value = env->NewObject(pingCountEventStructClass, pingCountEventStructCtor, value_count, value_fabricIndex);
return value;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
break;
}
default:
*aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
break;
}
return nullptr;
}
} // namespace chip