Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Messages] Change message duration to uint64 #32248

Merged
merged 3 commits into from
Feb 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion data_model/clusters/Messages.xml
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ Davis, CA 95616, USA
<quality nullable="true"/>
<mandatoryConform/>
</field>
<field id="4" name="Duration" type="uint16" default="0">
<field id="4" name="Duration" type="uint64" default="0">
<access fabricSensitive="true"/>
<quality nullable="true"/>
<mandatoryConform/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ using namespace chip::app::Clusters::Messages;
void MessagesManager::HandlePresentMessagesRequest(
const chip::ByteSpan & messageId, const MessagePriorityEnum & priority,
const chip::BitMask<MessageControlBitmap> & messageControl, const chip::app::DataModel::Nullable<uint32_t> & startTime,
const chip::app::DataModel::Nullable<uint16_t> & duration, const chip::CharSpan & messageText,
const chip::app::DataModel::Nullable<uint64_t> & duration, const chip::CharSpan & messageText,
const chip::Optional<chip::app::DataModel::DecodableList<MessageResponseOption>> & responses)
{
// TODO: Present Message
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class MessagesManager : public chip::app::Clusters::Messages::Delegate
void HandlePresentMessagesRequest(
const chip::ByteSpan & messageId, const chip::app::Clusters::Messages::MessagePriorityEnum & priority,
const chip::BitMask<chip::app::Clusters::Messages::MessageControlBitmap> & messageControl,
const chip::app::DataModel::Nullable<uint32_t> & startTime, const chip::app::DataModel::Nullable<uint16_t> & duration,
const chip::app::DataModel::Nullable<uint32_t> & startTime, const chip::app::DataModel::Nullable<uint64_t> & duration,
const chip::CharSpan & messageText,
const chip::Optional<chip::app::DataModel::DecodableList<
chip::app::Clusters::Messages::Structs::MessageResponseOptionStruct::DecodableType>> & responses) override;
Expand Down
12 changes: 6 additions & 6 deletions examples/tv-app/android/java/MessagesManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -183,10 +183,10 @@ CHIP_ERROR MessagesManager::HandleGetMessages(AttributeValueEncoder & aEncoder)
}

jfieldID durationField = env->GetFieldID(messageClass, "duration", "I");
jint jduration = env->GetIntField(messageObject, durationField);
jlong jduration = env->GetLongField(messageObject, durationField);
if (jduration >= 0)
{
message.duration = DataModel::Nullable<uint16_t>(static_cast<uint16_t>(jduration));
message.duration = DataModel::Nullable<uint64_t>(static_cast<uint64_t>(jduration));
}

jfieldID getResponseOptionsField =
Expand Down Expand Up @@ -301,7 +301,7 @@ CHIP_ERROR MessagesManager::HandleGetActiveMessageIds(AttributeValueEncoder & aE

CHIP_ERROR MessagesManager::HandlePresentMessagesRequest(
const ByteSpan & messageId, const MessagePriorityEnum & priority, const BitMask<MessageControlBitmap> & messageControl,
const DataModel::Nullable<uint32_t> & startTime, const DataModel::Nullable<uint16_t> & duration, const CharSpan & messageText,
const DataModel::Nullable<uint32_t> & startTime, const DataModel::Nullable<uint64_t> & duration, const CharSpan & messageText,
const Optional<DataModel::DecodableList<MessageResponseOption>> & responses)
{
DeviceLayer::StackUnlock unlock;
Expand Down Expand Up @@ -336,11 +336,11 @@ CHIP_ERROR MessagesManager::HandlePresentMessagesRequest(
return CHIP_ERROR_INTERNAL;
}

jint jcontrol = static_cast<jint>(messageControl.Raw());
jint jduration = -1;
jint jcontrol = static_cast<jint>(messageControl.Raw());
jlong jduration = -1;
if (!duration.IsNull())
{
jduration = static_cast<jint>(duration.Value());
jduration = static_cast<jlong>(duration.Value());
}
jlong jstartTime = -1;
if (!startTime.IsNull())
Expand Down
2 changes: 1 addition & 1 deletion examples/tv-app/android/java/MessagesManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class MessagesManager : public chip::app::Clusters::Messages::Delegate
CHIP_ERROR HandlePresentMessagesRequest(
const chip::ByteSpan & messageId, const chip::app::Clusters::Messages::MessagePriorityEnum & priority,
const chip::BitMask<chip::app::Clusters::Messages::MessageControlBitmap> & messageControl,
const chip::app::DataModel::Nullable<uint32_t> & startTime, const chip::app::DataModel::Nullable<uint16_t> & duration,
const chip::app::DataModel::Nullable<uint32_t> & startTime, const chip::app::DataModel::Nullable<uint64_t> & duration,
const chip::CharSpan & messageText,
const chip::Optional<
chip::app::DataModel::DecodableList<chip::app::Clusters::Messages::Structs::MessageResponseOptionStruct::Type>> &
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public class Message {
public int priority;
public int messageControl;
public long startTime;
public int duration;
public long duration;
public String messageText;
public MessageResponseOption responseOptions[];

Expand All @@ -32,7 +32,7 @@ public Message(
int priority,
int messageControl,
long startTime,
int duration,
long duration,
String messageText,
MessageResponseOption responseOptions[]) {
this.messageId = messageId;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ boolean presentMessages(
int priority,
int messageControl,
long startTime,
int duration,
long duration,
String messageText,
HashMap<Long, String> responseOptions);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public boolean presentMessages(
int priority,
int messageControl,
long startTime,
int duration,
long duration,
String messageText,
HashMap<Long, String> responseOptions) {
Log.d(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ using MessageResponseOption = chip::app::Clusters::Messages::Structs::MessageRes
// Commands
CHIP_ERROR MessagesManager::HandlePresentMessagesRequest(
const ByteSpan & messageId, const MessagePriorityEnum & priority, const BitMask<MessageControlBitmap> & messageControl,
const DataModel::Nullable<uint32_t> & startTime, const DataModel::Nullable<uint16_t> & duration, const CharSpan & messageText,
const DataModel::Nullable<uint32_t> & startTime, const DataModel::Nullable<uint64_t> & duration, const CharSpan & messageText,
const Optional<DataModel::DecodableList<MessageResponseOption>> & responses)
{
ChipLogProgress(Zcl, "HandlePresentMessagesRequest message:%s", std::string(messageText.data(), messageText.size()).c_str());
Expand Down
6 changes: 3 additions & 3 deletions examples/tv-app/tv-common/clusters/messages/MessagesManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ struct CachedMessage
CachedMessage(const chip::ByteSpan & messageId, const chip::app::Clusters::Messages::MessagePriorityEnum & priority,
const chip::BitMask<chip::app::Clusters::Messages::MessageControlBitmap> & messageControl,
const chip::app::DataModel::Nullable<uint32_t> & startTime,
const chip::app::DataModel::Nullable<uint16_t> & duration, std::string messageText) :
const chip::app::DataModel::Nullable<uint64_t> & duration, std::string messageText) :
mPriority(priority),
mMessageControl(messageControl), mStartTime(startTime), mDuration(duration), mMessageText(messageText)
{
Expand Down Expand Up @@ -110,7 +110,7 @@ struct CachedMessage
const chip::app::Clusters::Messages::MessagePriorityEnum mPriority;
const chip::BitMask<chip::app::Clusters::Messages::MessageControlBitmap> mMessageControl;
const chip::app::DataModel::Nullable<uint32_t> mStartTime;
const chip::app::DataModel::Nullable<uint16_t> mDuration;
const chip::app::DataModel::Nullable<uint64_t> mDuration;

std::string mMessageText;
uint8_t mMessageIdBuffer[chip::app::Clusters::Messages::kMessageIdLength];
Expand All @@ -126,7 +126,7 @@ class MessagesManager : public chip::app::Clusters::Messages::Delegate
CHIP_ERROR HandlePresentMessagesRequest(
const chip::ByteSpan & messageId, const chip::app::Clusters::Messages::MessagePriorityEnum & priority,
const chip::BitMask<chip::app::Clusters::Messages::MessageControlBitmap> & messageControl,
const chip::app::DataModel::Nullable<uint32_t> & startTime, const chip::app::DataModel::Nullable<uint16_t> & duration,
const chip::app::DataModel::Nullable<uint32_t> & startTime, const chip::app::DataModel::Nullable<uint64_t> & duration,
const chip::CharSpan & messageText,
const chip::Optional<
chip::app::DataModel::DecodableList<chip::app::Clusters::Messages::Structs::MessageResponseOptionStruct::Type>> &
Expand Down
4 changes: 2 additions & 2 deletions examples/tv-app/tv-common/tv-app.matter
Original file line number Diff line number Diff line change
Expand Up @@ -2067,7 +2067,7 @@ provisional cluster Messages = 151 {
MessagePriorityEnum priority = 1;
MessageControlBitmap messageControl = 2;
nullable epoch_s startTime = 3;
nullable int16u duration = 4;
nullable int64u duration = 4;
char_string<256> messageText = 5;
optional MessageResponseOptionStruct responses[] = 6;
}
Expand Down Expand Up @@ -2101,7 +2101,7 @@ provisional cluster Messages = 151 {
MessagePriorityEnum priority = 1;
MessageControlBitmap messageControl = 2;
nullable epoch_s startTime = 3;
nullable int16u duration = 4;
nullable int64u duration = 4;
char_string<256> messageText = 5;
optional MessageResponseOptionStruct responses[] = 6;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1545,7 +1545,7 @@ provisional cluster Messages = 151 {
MessagePriorityEnum priority = 1;
MessageControlBitmap messageControl = 2;
nullable epoch_s startTime = 3;
nullable int16u duration = 4;
nullable int64u duration = 4;
char_string<256> messageText = 5;
optional MessageResponseOptionStruct responses[] = 6;
}
Expand Down Expand Up @@ -1579,7 +1579,7 @@ provisional cluster Messages = 151 {
MessagePriorityEnum priority = 1;
MessageControlBitmap messageControl = 2;
nullable epoch_s startTime = 3;
nullable int16u duration = 4;
nullable int64u duration = 4;
char_string<256> messageText = 5;
optional MessageResponseOptionStruct responses[] = 6;
}
Expand Down
2 changes: 1 addition & 1 deletion src/app/clusters/messages-server/messages-delegate.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ class Delegate
virtual CHIP_ERROR HandlePresentMessagesRequest(
const ByteSpan & messageId, const MessagePriorityEnum & priority,
const chip::BitMask<MessageControlBitmap> & messageControl, const DataModel::Nullable<uint32_t> & startTime,
const DataModel::Nullable<uint16_t> & duration, const CharSpan & messageText,
const DataModel::Nullable<uint64_t> & duration, const CharSpan & messageText,
const chip::Optional<DataModel::DecodableList<chip::app::Clusters::Messages::Structs::MessageResponseOptionStruct::Type>> &
responses) = 0;
virtual CHIP_ERROR HandleCancelMessagesRequest(const DataModel::DecodableList<chip::ByteSpan> & messageIds) = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ limitations under the License.
<item fieldId="1" name="Priority" type="MessagePriorityEnum" optional="false"/>
<item fieldId="2" name="MessageControl" type="MessageControlBitmap" default="0" optional="false"/>
<item fieldId="3" name="StartTime" type="epoch_s" default="0" optional="false" isNullable="true"/>
<item fieldId="4" name="Duration" type="int16u" default="0" optional="false" isNullable="true"/>
<item fieldId="4" name="Duration" type="int64u" default="0" optional="false" isNullable="true"/>
<item fieldId="5" name="MessageText" type="char_string" length="256" optional="false"/>
<item fieldId="6" name="Responses" type="MessageResponseOptionStruct" array="true" length="4" optional="true"/>
</struct>
Expand Down Expand Up @@ -88,7 +88,7 @@ limitations under the License.
<arg name="Priority" type="MessagePriorityEnum" optional="false"/>
<arg name="MessageControl" type="MessageControlBitmap" default="0" optional="false"/>
<arg name="StartTime" type="epoch_s" default="0" optional="false" isNullable="true"/>
<arg name="Duration" type="int16u" default="0" optional="false" isNullable="true"/>
<arg name="Duration" type="int64u" default="0" optional="false" isNullable="true"/>
<arg name="MessageText" type="char_string" length="256" optional="false"/>
<arg name="Responses" type="MessageResponseOptionStruct" array="true" length="4" optional="true"/>
</command>
Expand Down
4 changes: 2 additions & 2 deletions src/controller/data_model/controller-clusters.matter
Original file line number Diff line number Diff line change
Expand Up @@ -4539,7 +4539,7 @@ provisional cluster Messages = 151 {
MessagePriorityEnum priority = 1;
MessageControlBitmap messageControl = 2;
nullable epoch_s startTime = 3;
nullable int16u duration = 4;
nullable int64u duration = 4;
char_string<256> messageText = 5;
optional MessageResponseOptionStruct responses[] = 6;
}
Expand Down Expand Up @@ -4573,7 +4573,7 @@ provisional cluster Messages = 151 {
MessagePriorityEnum priority = 1;
MessageControlBitmap messageControl = 2;
nullable epoch_s startTime = 3;
nullable int16u duration = 4;
nullable int64u duration = 4;
char_string<256> messageText = 5;
optional MessageResponseOptionStruct responses[] = 6;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29906,11 +29906,11 @@ public long initWithDevice(long devicePtr, int endpointId) {
return 0L;
}

public void presentMessagesRequest(DefaultClusterCallback callback, byte[] messageID, Integer priority, Integer messageControl, @Nullable Long startTime, @Nullable Integer duration, String messageText, Optional<ArrayList<ChipStructs.MessagesClusterMessageResponseOptionStruct>> responses) {
public void presentMessagesRequest(DefaultClusterCallback callback, byte[] messageID, Integer priority, Integer messageControl, @Nullable Long startTime, @Nullable Long duration, String messageText, Optional<ArrayList<ChipStructs.MessagesClusterMessageResponseOptionStruct>> responses) {
presentMessagesRequest(callback, messageID, priority, messageControl, startTime, duration, messageText, responses, 0);
}

public void presentMessagesRequest(DefaultClusterCallback callback, byte[] messageID, Integer priority, Integer messageControl, @Nullable Long startTime, @Nullable Integer duration, String messageText, Optional<ArrayList<ChipStructs.MessagesClusterMessageResponseOptionStruct>> responses, int timedInvokeTimeoutMs) {
public void presentMessagesRequest(DefaultClusterCallback callback, byte[] messageID, Integer priority, Integer messageControl, @Nullable Long startTime, @Nullable Long duration, String messageText, Optional<ArrayList<ChipStructs.MessagesClusterMessageResponseOptionStruct>> responses, int timedInvokeTimeoutMs) {
final long commandId = 0L;

ArrayList<StructElement> elements = new ArrayList<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7130,7 +7130,7 @@ public static class MessagesClusterMessageStruct {
public Integer priority;
public Integer messageControl;
public @Nullable Long startTime;
public @Nullable Integer duration;
public @Nullable Long duration;
public String messageText;
public Optional<ArrayList<ChipStructs.MessagesClusterMessageResponseOptionStruct>> responses;
private static final long MESSAGE_I_D_ID = 0L;
Expand All @@ -7146,7 +7146,7 @@ public MessagesClusterMessageStruct(
Integer priority,
Integer messageControl,
@Nullable Long startTime,
@Nullable Integer duration,
@Nullable Long duration,
String messageText,
Optional<ArrayList<ChipStructs.MessagesClusterMessageResponseOptionStruct>> responses
) {
Expand Down Expand Up @@ -7180,7 +7180,7 @@ public static MessagesClusterMessageStruct decodeTlv(BaseTLVType tlvValue) {
Integer priority = null;
Integer messageControl = null;
@Nullable Long startTime = null;
@Nullable Integer duration = null;
@Nullable Long duration = null;
String messageText = null;
Optional<ArrayList<ChipStructs.MessagesClusterMessageResponseOptionStruct>> responses = Optional.empty();
for (StructElement element: ((StructType)tlvValue).value()) {
Expand All @@ -7207,7 +7207,7 @@ public static MessagesClusterMessageStruct decodeTlv(BaseTLVType tlvValue) {
} else if (element.contextTagNum() == DURATION_ID) {
if (element.value(BaseTLVType.class).type() == TLVType.UInt) {
UIntType castingValue = element.value(UIntType.class);
duration = castingValue.value(Integer.class);
duration = castingValue.value(Long.class);
}
} else if (element.contextTagNum() == MESSAGE_TEXT_ID) {
if (element.value(BaseTLVType.class).type() == TLVType.String) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24325,7 +24325,7 @@ public Map<String, Map<String, InteractionInfo>> getCommandMap() {
CommandParameterInfo messagespresentMessagesRequeststartTimeCommandParameterInfo = new CommandParameterInfo("startTime", Long.class, Long.class);
messagespresentMessagesRequestCommandParams.put("startTime",messagespresentMessagesRequeststartTimeCommandParameterInfo);

CommandParameterInfo messagespresentMessagesRequestdurationCommandParameterInfo = new CommandParameterInfo("duration", Integer.class, Integer.class);
CommandParameterInfo messagespresentMessagesRequestdurationCommandParameterInfo = new CommandParameterInfo("duration", Long.class, Long.class);
messagespresentMessagesRequestCommandParams.put("duration",messagespresentMessagesRequestdurationCommandParameterInfo);

CommandParameterInfo messagespresentMessagesRequestmessageTextCommandParameterInfo = new CommandParameterInfo("messageText", String.class, String.class);
Expand All @@ -24343,7 +24343,7 @@ public Map<String, Map<String, InteractionInfo>> getCommandMap() {
commandArguments.get("messageControl")
, (Long)
commandArguments.get("startTime")
, (Integer)
, (Long)
commandArguments.get("duration")
, (String)
commandArguments.get("messageText")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class MessagesClusterMessageStruct(
val priority: UInt,
val messageControl: UInt,
val startTime: ULong?,
val duration: UInt?,
val duration: ULong?,
val messageText: String,
val responses: Optional<List<MessagesClusterMessageResponseOptionStruct>>
) {
Expand Down Expand Up @@ -97,7 +97,7 @@ class MessagesClusterMessageStruct(
}
val duration =
if (!tlvReader.isNull()) {
tlvReader.getUInt(ContextSpecificTag(TAG_DURATION))
tlvReader.getULong(ContextSpecificTag(TAG_DURATION))
} else {
tlvReader.getNull(ContextSpecificTag(TAG_DURATION))
null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ class MessagesCluster(private val controller: MatterController, private val endp
priority: UByte,
messageControl: UByte,
startTime: UInt?,
duration: UShort?,
duration: ULong?,
messageText: String,
responses: List<MessagesClusterMessageResponseOptionStruct>?,
timedInvokeTimeout: Duration? = null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class MessagesClusterMessageStruct(
val priority: UByte,
val messageControl: UByte,
val startTime: UInt?,
val duration: UShort?,
val duration: ULong?,
val messageText: String,
val responses: Optional<List<MessagesClusterMessageResponseOptionStruct>>
) {
Expand Down Expand Up @@ -97,7 +97,7 @@ class MessagesClusterMessageStruct(
}
val duration =
if (!tlvReader.isNull()) {
tlvReader.getUShort(ContextSpecificTag(TAG_DURATION))
tlvReader.getULong(ContextSpecificTag(TAG_DURATION))
} else {
tlvReader.getNull(ContextSpecificTag(TAG_DURATION))
null
Expand Down
Loading
Loading