blob: 7c5a294ed8e8a71c04704ae237d8a717b753fd4e [file] [log] [blame]
digraph RendezvousSession
{
node [fillcolor="gray", style=filled]
# This section represents controller-only elements
subgraph cluster_controller {
label=<<b>Controller</b>>
node [fillcolor="white:gray", gradientangle=90]
ChipDeviceController [shape=record label=<{ChipDeviceController|<font point-size="11">RendezvousSessionDelegate</font>}>, URL="@ref chip::DeviceController::ChipDeviceController"]
}
# This section represents device-only elements
subgraph cluster_device {
label=<<b>Device</b>>
node [fillcolor="white:gray", gradientangle=90]
RendezvousDeviceDelegate [shape=record label=<{RendezvousDeviceDelegate|<font point-size="11">RendezvousSessionDelegate</font>}> URL="@ref chip::RendezvousSessionDelegate"]
}
# This section represents elements which belongs to src/transport/
subgraph rendezvousSession {
node [fillcolor="white:gray", gradientangle=90]
RendezvousSession [shape=record, label=<{RendezvousSession|<font point-size="11">SecurePairingSessionDelegate</font>}>, URL="@ref chip::SecurePairingSessionDelegate"]
}
# This section represents methods which belongs to SecurePairingSession
subgraph cluster_securePairingSession {
label=<<b>SecurePairingSession</b>>
node [fillcolor="gray"]
WaitForPairing [URL="@ref chip::SecurePairingSession::WaitForPairing"]
Pair [URL="@ref chip::SecurePairingSession::Pair"]
DeriveSecureSession [URL="@ref chip::SecurePairingSession::DeriveSecureSession"]
}
# This section represents methods which belongs to RendezvousParameters
subgraph cluster_RendezvousParameters {
label=<<b>RendezvousParameters</b>>
node [fillcolor="gray"]
HasDiscriminator [URL="@ref chip::RendezvousParameters::HasDiscriminator"]
HasConnectionObject [URL="@ref chip::RendezvousParameters::HasConnectionObject"]
}
# This section represents callbacks which belongs to RendezvousSessionDelegate
subgraph cluster_rendezvousSessionDelegate {
label=<<b>RendezvousSessionDelegate</b>>
node [fillcolor="white"]
OnRendezvousConnectionOpened [URL="@ref chip::RendezvousSessionDelegate::OnRendezvousConnectionOpened"]
OnRendezvousConnectionClosed [URL="@ref chip::RendezvousSessionDelegate::OnRendezvousConnectionClosed"]
OnRendezvousError [URL="@ref chip::RendezvousSessionDelegate::OnRendezvousError"]
}
# This section represents callbacks which belongs to SecurePairingSessionDelegate
subgraph cluster_securePairingSessionDelegate {
label=<<b>SecurePairingSessionDelegate</b>>
node [fillcolor="white"]
OnPairingError [URL="@ref chip::SecurePairingSessionDelegate::OnPairingError"]
OnPairingComplete [URL="@ref chip::SecurePairingSessionDelegate::OnPairingComplete"]
}
#############################
# Main relationships
#############################
{ChipDeviceController, RendezvousDeviceDelegate} -> RendezvousSession
RendezvousSession -> HasDiscriminator
HasDiscriminator -> DelegateConnection [label=YES]
DelegateConnection -> Pair
HasDiscriminator -> HasConnectionObject [label=NO]
HasConnectionObject -> Pair [label=YES]
HasConnectionObject -> WaitForPairing [label=NO]
OnPairingError -> OnRendezvousError
OnPairingComplete -> DeriveSecureSession -> OnRendezvousConnectionOpened
}