blob: 991d9c5e5aa2faa7c3be2172971f7071e9223aaf [file] [log] [blame]
@startuml
class AttributeAccessInterface {
mEndpointId : Optional<EndpointId>
mClusterId : ClusterId
Read(...)
Write(...)
}
class CommandHandlerInterface {
InvokeCommand(...)
}
class ClusterServer {
Read(...)
Write(...)
InvokeCommand(...)
RegisterEndpoint(...)
mEndpoints: ClusterLogic[]
}
class MatterContext {
LogEvent()
MarkAttributeDirty()
mPersistentStorageDelegate
mOtherFakeableThings
}
class ClusterLogic {
Init(...)
GetXAttribute(...)
SetXAttribute(...)
HandleXCommand(...)
mStateVariables
}
class ClusterDriver {
OnClusterStateChange(...)
RegisterListener(...)
mListener
}
AttributeAccessInterface <|-- ClusterServer
CommandHandlerInterface <|-- ClusterServer
ClusterServer "1" *-- "Many" ClusterLogic
ClusterLogic "1" *-- "1" ClusterDriver
ClusterLogic "1" *-- "1" MatterContext
hide ClusterServer members
hide AttributeAccessInterface members
hide CommandHandlerInterface members
hide ClusterLogic members
hide ClusterDriver members
hide MatterContext members
@enduml