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

[Kotlin] Make timedInvokeTimeoutMs field non-optional if mustUseTimed attribute is set #30206

Merged
merged 1 commit into from
Nov 6, 2023
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
1 change: 1 addition & 0 deletions kotlin-detect-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ style:
- "**/src/controller/java/tests/matter/tlv/TlvReaderTest.kt"
- "**/src/controller/java/tests/matter/tlv/TlvReadWriteTest.kt"
- "**/src/controller/java/tests/matter/tlv/TlvWriterTest.kt"
- "**/src/controller/java/generated/java/**/*"
WildcardImport:
excludes:
- "**/examples/android/CHIPTest/app/src/androidTest/java/com/tcl/chip/chiptest/ExampleInstrumentedTest.kt"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,10 @@

package matter.devicecontroller.cluster.clusters

import matter.controller.MatterController
import matter.devicecontroller.cluster.structs.*
{% set typeLookup = idl | createLookupContext(cluster) %}
class {{cluster.name}}Cluster(private val endpointId: UShort) {
class {{cluster.name}}Cluster(private val controller: MatterController, private val endpointId: UShort) {

{%- set already_handled_command = [] -%}
{%- for command in cluster.commands | sort(attribute='code') -%}
Expand Down Expand Up @@ -101,19 +102,32 @@ class {{cluster.name}}Cluster(private val endpointId: UShort) {
{{field.name | lowfirst_except_acronym}}: {{encode_value(cluster, field | asEncodable(typeLookup), 0)}}
{%- if not loop.last -%}, {% endif %}
{%- endfor -%}
{%- if command.is_timed_invoke -%}
, timedInvokeTimeoutMs: Int)
{%- else -%}
, timedInvokeTimeoutMs: Int? = null)
{%- endif -%}
{%- else -%}
{%- if command.is_timed_invoke -%}
timedInvokeTimeoutMs: Int)
{%- else -%}
timedInvokeTimeoutMs: Int? = null)
{%- endif -%}
{%- endif -%}
{%- if command | hasResponse -%}
: {{callbackName}} {
{%- else %} {
{%- endif %}
{%- endif %}
val commandId = {{command.code}}L
{% if command.is_timed_invoke %}
// Implementation needs to be added here
{%- else %}
if (timedInvokeTimeoutMs != null) {
// Do the action with timedInvokeTimeoutMs
} else {
// Do the action without timedInvokeTimeoutMs
}
}
{%- endif %}
}
{% endfor -%}

Expand All @@ -132,19 +146,24 @@ class {{cluster.name}}Cluster(private val endpointId: UShort) {
{% endif -%}
{%- if attribute.is_writable %}
{%- set encodable = attribute.definition | asEncodable(typeLookup) -%}
{%- set encodable2 = attribute.definition | asEncodable(typeLookup) -%}
{%- if not attribute.requires_timed_write %}
suspend fun write{{ attribute.definition.name | upfirst }}Attribute(
value: {{ encode_value_without_optional_nullable(cluster, encodable, 0) }}
) {
// Implementation needs to be added here
}
{% endif %}
{%- set encodable2 = attribute.definition | asEncodable(typeLookup) %}
suspend fun write{{ attribute.definition.name | upfirst }}Attribute(
value: {{ encode_value_without_optional_nullable(cluster, encodable2, 0) }},
{%- if attribute.requires_timed_write -%}
timedWriteTimeoutMs: Int
{%- else %}
timedWriteTimeoutMs: Int? = null
{%- endif %}
) {
{%- if attribute.requires_timed_write %}
// Implementation needs to be added here
{%- else %}
if (timedWriteTimeoutMs != null) {
// Do the action with timedWriteTimeoutMs
} else {
// Do the action without timedWriteTimeoutMs
}
{%- endif %}
}
{% endif %}
{%- if attribute.is_subscribable %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,13 @@

package matter.devicecontroller.cluster.clusters

import matter.controller.MatterController
import matter.devicecontroller.cluster.structs.*

class AccessControlCluster(private val endpointId: UShort) {
class AccessControlCluster(
private val controller: MatterController,
private val endpointId: UShort
) {
class AclAttribute(val value: List<AccessControlClusterAccessControlEntryStruct>)

class ExtensionAttribute(val value: List<AccessControlClusterAccessControlExtensionStruct>?)
Expand All @@ -40,15 +44,15 @@ class AccessControlCluster(private val endpointId: UShort) {
// Implementation needs to be added here
}

suspend fun writeAclAttribute(value: List<AccessControlClusterAccessControlEntryStruct>) {
// Implementation needs to be added here
}

suspend fun writeAclAttribute(
value: List<AccessControlClusterAccessControlEntryStruct>,
timedWriteTimeoutMs: Int
timedWriteTimeoutMs: Int? = null
) {
// Implementation needs to be added here
if (timedWriteTimeoutMs != null) {
// Do the action with timedWriteTimeoutMs
} else {
// Do the action without timedWriteTimeoutMs
}
}

suspend fun subscribeAclAttribute(minInterval: Int, maxInterval: Int): AclAttribute {
Expand All @@ -65,17 +69,15 @@ class AccessControlCluster(private val endpointId: UShort) {
// Implementation needs to be added here
}

suspend fun writeExtensionAttribute(
value: List<AccessControlClusterAccessControlExtensionStruct>
) {
// Implementation needs to be added here
}

suspend fun writeExtensionAttribute(
value: List<AccessControlClusterAccessControlExtensionStruct>,
timedWriteTimeoutMs: Int
timedWriteTimeoutMs: Int? = null
) {
// Implementation needs to be added here
if (timedWriteTimeoutMs != null) {
// Do the action with timedWriteTimeoutMs
} else {
// Do the action without timedWriteTimeoutMs
}
}

suspend fun subscribeExtensionAttribute(minInterval: Int, maxInterval: Int): ExtensionAttribute {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,13 @@

package matter.devicecontroller.cluster.clusters

import matter.controller.MatterController
import matter.devicecontroller.cluster.structs.*

class AccountLoginCluster(private val endpointId: UShort) {
class AccountLoginCluster(
private val controller: MatterController,
private val endpointId: UShort
) {
class GetSetupPINResponse(val setupPIN: String)

class GeneratedCommandListAttribute(val value: List<UInt>)
Expand All @@ -32,33 +36,23 @@ class AccountLoginCluster(private val endpointId: UShort) {

suspend fun getSetupPIN(
tempAccountIdentifier: String,
timedInvokeTimeoutMs: Int? = null
timedInvokeTimeoutMs: Int
): GetSetupPINResponse {
if (timedInvokeTimeoutMs != null) {
// Do the action with timedInvokeTimeoutMs
} else {
// Do the action without timedInvokeTimeoutMs
}
val commandId = 0L

// Implementation needs to be added here
}

suspend fun login(
tempAccountIdentifier: String,
setupPIN: String,
timedInvokeTimeoutMs: Int? = null
) {
if (timedInvokeTimeoutMs != null) {
// Do the action with timedInvokeTimeoutMs
} else {
// Do the action without timedInvokeTimeoutMs
}
}

suspend fun logout(timedInvokeTimeoutMs: Int? = null) {
if (timedInvokeTimeoutMs != null) {
// Do the action with timedInvokeTimeoutMs
} else {
// Do the action without timedInvokeTimeoutMs
}
suspend fun login(tempAccountIdentifier: String, setupPIN: String, timedInvokeTimeoutMs: Int) {
val commandId = 2L

// Implementation needs to be added here
}

suspend fun logout(timedInvokeTimeoutMs: Int) {
val commandId = 3L

// Implementation needs to be added here
}

suspend fun readGeneratedCommandListAttribute(): GeneratedCommandListAttribute {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@

package matter.devicecontroller.cluster.clusters

import matter.controller.MatterController
import matter.devicecontroller.cluster.structs.*

class ActionsCluster(private val endpointId: UShort) {
class ActionsCluster(private val controller: MatterController, private val endpointId: UShort) {
class ActionListAttribute(val value: List<ActionsClusterActionStruct>)

class EndpointListsAttribute(val value: List<ActionsClusterEndpointListStruct>)
Expand All @@ -33,6 +34,8 @@ class ActionsCluster(private val endpointId: UShort) {
class AttributeListAttribute(val value: List<UInt>)

suspend fun instantAction(actionID: UShort, invokeID: UInt?, timedInvokeTimeoutMs: Int? = null) {
val commandId = 0L

if (timedInvokeTimeoutMs != null) {
// Do the action with timedInvokeTimeoutMs
} else {
Expand All @@ -46,6 +49,8 @@ class ActionsCluster(private val endpointId: UShort) {
transitionTime: UShort,
timedInvokeTimeoutMs: Int? = null
) {
val commandId = 1L

if (timedInvokeTimeoutMs != null) {
// Do the action with timedInvokeTimeoutMs
} else {
Expand All @@ -54,6 +59,8 @@ class ActionsCluster(private val endpointId: UShort) {
}

suspend fun startAction(actionID: UShort, invokeID: UInt?, timedInvokeTimeoutMs: Int? = null) {
val commandId = 2L

if (timedInvokeTimeoutMs != null) {
// Do the action with timedInvokeTimeoutMs
} else {
Expand All @@ -67,6 +74,8 @@ class ActionsCluster(private val endpointId: UShort) {
duration: UInt,
timedInvokeTimeoutMs: Int? = null
) {
val commandId = 3L

if (timedInvokeTimeoutMs != null) {
// Do the action with timedInvokeTimeoutMs
} else {
Expand All @@ -75,6 +84,8 @@ class ActionsCluster(private val endpointId: UShort) {
}

suspend fun stopAction(actionID: UShort, invokeID: UInt?, timedInvokeTimeoutMs: Int? = null) {
val commandId = 4L

if (timedInvokeTimeoutMs != null) {
// Do the action with timedInvokeTimeoutMs
} else {
Expand All @@ -83,6 +94,8 @@ class ActionsCluster(private val endpointId: UShort) {
}

suspend fun pauseAction(actionID: UShort, invokeID: UInt?, timedInvokeTimeoutMs: Int? = null) {
val commandId = 5L

if (timedInvokeTimeoutMs != null) {
// Do the action with timedInvokeTimeoutMs
} else {
Expand All @@ -96,6 +109,8 @@ class ActionsCluster(private val endpointId: UShort) {
duration: UInt,
timedInvokeTimeoutMs: Int? = null
) {
val commandId = 6L

if (timedInvokeTimeoutMs != null) {
// Do the action with timedInvokeTimeoutMs
} else {
Expand All @@ -104,6 +119,8 @@ class ActionsCluster(private val endpointId: UShort) {
}

suspend fun resumeAction(actionID: UShort, invokeID: UInt?, timedInvokeTimeoutMs: Int? = null) {
val commandId = 7L

if (timedInvokeTimeoutMs != null) {
// Do the action with timedInvokeTimeoutMs
} else {
Expand All @@ -112,6 +129,8 @@ class ActionsCluster(private val endpointId: UShort) {
}

suspend fun enableAction(actionID: UShort, invokeID: UInt?, timedInvokeTimeoutMs: Int? = null) {
val commandId = 8L

if (timedInvokeTimeoutMs != null) {
// Do the action with timedInvokeTimeoutMs
} else {
Expand All @@ -125,6 +144,8 @@ class ActionsCluster(private val endpointId: UShort) {
duration: UInt,
timedInvokeTimeoutMs: Int? = null
) {
val commandId = 9L

if (timedInvokeTimeoutMs != null) {
// Do the action with timedInvokeTimeoutMs
} else {
Expand All @@ -133,6 +154,8 @@ class ActionsCluster(private val endpointId: UShort) {
}

suspend fun disableAction(actionID: UShort, invokeID: UInt?, timedInvokeTimeoutMs: Int? = null) {
val commandId = 10L

if (timedInvokeTimeoutMs != null) {
// Do the action with timedInvokeTimeoutMs
} else {
Expand All @@ -146,6 +169,8 @@ class ActionsCluster(private val endpointId: UShort) {
duration: UInt,
timedInvokeTimeoutMs: Int? = null
) {
val commandId = 11L

if (timedInvokeTimeoutMs != null) {
// Do the action with timedInvokeTimeoutMs
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,13 @@

package matter.devicecontroller.cluster.clusters

import matter.controller.MatterController
import matter.devicecontroller.cluster.structs.*

class ActivatedCarbonFilterMonitoringCluster(private val endpointId: UShort) {
class ActivatedCarbonFilterMonitoringCluster(
private val controller: MatterController,
private val endpointId: UShort
) {
class LastChangedTimeAttribute(val value: UInt?)

class ReplacementProductListAttribute(
Expand All @@ -35,6 +39,8 @@ class ActivatedCarbonFilterMonitoringCluster(private val endpointId: UShort) {
class AttributeListAttribute(val value: List<UInt>)

suspend fun resetCondition(timedInvokeTimeoutMs: Int? = null) {
val commandId = 0L

if (timedInvokeTimeoutMs != null) {
// Do the action with timedInvokeTimeoutMs
} else {
Expand Down Expand Up @@ -78,12 +84,12 @@ class ActivatedCarbonFilterMonitoringCluster(private val endpointId: UShort) {
// Implementation needs to be added here
}

suspend fun writeLastChangedTimeAttribute(value: UInt) {
// Implementation needs to be added here
}

suspend fun writeLastChangedTimeAttribute(value: UInt, timedWriteTimeoutMs: Int) {
// Implementation needs to be added here
suspend fun writeLastChangedTimeAttribute(value: UInt, timedWriteTimeoutMs: Int? = null) {
if (timedWriteTimeoutMs != null) {
// Do the action with timedWriteTimeoutMs
} else {
// Do the action without timedWriteTimeoutMs
}
}

suspend fun subscribeLastChangedTimeAttribute(
Expand Down
Loading
Loading