| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- {{> header}}
- #include <commands/clusters/DataModelLogger.h>
- using namespace chip::app::Clusters;
- {{#zcl_structs}}
- {{#if has_more_than_one_cluster}}
- {{> struct_logger_impl namespace="detail"}}
- {{/if}}
- {{/zcl_structs}}
- {{#zcl_clusters}}
- {{#zcl_structs}}
- {{#unless has_more_than_one_cluster}}
- {{> struct_logger_impl namespace=(as_camel_cased ../name false)}}
- {{/unless}}
- {{/zcl_structs}}
- {{/zcl_clusters}}
- {{#zcl_clusters}}
- {{#zcl_events}}
- CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const {{asUpperCamelCase parent.name}}::Events::{{asUpperCamelCase name}}::DecodableType & value)
- {
- DataModelLogger::LogString(label, indent, "{");
- {{#zcl_event_fields}}
- {
- CHIP_ERROR err = DataModelLogger::LogValue("{{asUpperCamelCase name}}", indent + 1, value.{{asLowerCamelCase name}});
- if (err != CHIP_NO_ERROR)
- {
- DataModelLogger::LogString(indent + 1, "Event truncated due to invalid value for '{{asUpperCamelCase name}}'");
- return err;
- }
- }
- {{/zcl_event_fields}}
- DataModelLogger::LogString(indent, "}");
- return CHIP_NO_ERROR;
- }
- {{/zcl_events}}
- {{/zcl_clusters}}
- {{#zcl_clusters}}
- {{#zcl_commands_source_server}}
- CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const {{asUpperCamelCase parent.name}}::Commands::{{asUpperCamelCase name}}::DecodableType & value)
- {
- DataModelLogger::LogString(label, indent, "{");
- {{#zcl_command_arguments}}
- ReturnErrorOnFailure(DataModelLogger::LogValue("{{asLowerCamelCase label}}", indent + 1, value.{{asLowerCamelCase label}}));
- {{/zcl_command_arguments}}
- DataModelLogger::LogString(indent, "}");
- return CHIP_NO_ERROR;
- }
- {{/zcl_commands_source_server}}
- {{/zcl_clusters}}
- CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributePath & path, chip::TLV::TLVReader * data)
- {
- ChipLogProgress(chipTool, "Endpoint: %u Cluster: " ChipLogFormatMEI " Attribute " ChipLogFormatMEI " DataVersion: %" PRIu32, path.mEndpointId,
- ChipLogValueMEI(path.mClusterId), ChipLogValueMEI(path.mAttributeId), path.mDataVersion.ValueOr(0));
- switch (path.mClusterId)
- {
- {{#zcl_clusters}}
- {{#zcl_attributes_server}}
- {{#first}}
- case {{asUpperCamelCase parent.name}}::Id:
- {
- switch(path.mAttributeId)
- {
- {{/first}}
- case {{asUpperCamelCase parent.name}}::Attributes::{{asUpperCamelCase name}}::Id:
- {
- {{zapTypeToDecodableClusterObjectType type ns=parent.name forceNotOptional=true}} value;
- ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
- return DataModelLogger::LogValue("{{name}}", 1, value);
- }
- {{#last}}
- }
- break;
- }
- {{/last}}
- {{/zcl_attributes_server}}
- {{/zcl_clusters}}
- default:
- break;
- }
- ChipLogProgress(chipTool, " Don't know how to log atribute value");
- return CHIP_NO_ERROR;
- }
- CHIP_ERROR DataModelLogger::LogCommand(const chip::app::ConcreteCommandPath & path, chip::TLV::TLVReader * data)
- {
- ChipLogProgress(chipTool, "Endpoint: %u Cluster: " ChipLogFormatMEI " Command " ChipLogFormatMEI, path.mEndpointId,
- ChipLogValueMEI(path.mClusterId), ChipLogValueMEI(path.mCommandId));
- switch (path.mClusterId)
- {
- {{#zcl_clusters}}
- {{#zcl_commands_source_server}}
- {{#first}}
- case {{asUpperCamelCase parent.name}}::Id:
- {
- switch(path.mCommandId)
- {
- {{/first}}
- case {{asUpperCamelCase parent.name}}::Commands::{{asUpperCamelCase name}}::Id:
- {
- {{asUpperCamelCase parent.name}}::Commands::{{asUpperCamelCase name}}::DecodableType value;
- ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
- return DataModelLogger::LogValue("{{name}}", 1, value);
- }
- {{#last}}
- }
- break;
- }
- {{/last}}
- {{/zcl_commands_source_server}}
- {{/zcl_clusters}}
- default:
- break;
- }
- ChipLogProgress(chipTool, " Don't know how to log command response data");
- return CHIP_NO_ERROR;
- }
- CHIP_ERROR DataModelLogger::LogEvent(const chip::app::EventHeader & header, chip::TLV::TLVReader * data)
- {
- ChipLogProgress(chipTool, "Endpoint: %u Cluster: " ChipLogFormatMEI " Event " ChipLogFormatMEI, header.mPath.mEndpointId,
- ChipLogValueMEI(header.mPath.mClusterId), ChipLogValueMEI(header.mPath.mEventId));
- ChipLogProgress(chipTool, " Event number: %" PRIu64, header.mEventNumber);
- if (header.mPriorityLevel == chip::app::PriorityLevel::Info)
- {
- ChipLogProgress(chipTool, " Priority: Info");
- }
- else if (header.mPriorityLevel == chip::app::PriorityLevel::Critical)
- {
- ChipLogProgress(chipTool, " Priority: Critical");
- }
- else if (header.mPriorityLevel == chip::app::PriorityLevel::Debug)
- {
- ChipLogProgress(chipTool, " Priority: Debug");
- }
- else
- {
- ChipLogProgress(chipTool, " Priority: Unknown");
- }
- ChipLogProgress(chipTool, " Timestamp: %" PRIu64, header.mTimestamp.mValue);
- switch (header.mPath.mClusterId)
- {
- {{#zcl_clusters}}
- {{#zcl_events}}
- {{#first}}
- case {{asUpperCamelCase parent.name}}::Id:
- {
- switch(header.mPath.mEventId)
- {
- {{/first}}
- case {{asUpperCamelCase parent.name}}::Events::{{asUpperCamelCase name}}::Id:
- {
- {{zapTypeToDecodableClusterObjectType name ns=parent.name forceNotOptional=true}} value;
- ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
- return DataModelLogger::LogValue("{{name}}", 1, value);
- }
- {{#last}}
- }
- break;
- }
- {{/last}}
- {{/zcl_events}}
- {{/zcl_clusters}}
- default:
- break;
- }
- ChipLogProgress(chipTool, " Don't know how to log event data");
- return CHIP_NO_ERROR;
- }
|