nodeguy/website/docs/development/wrapper_recycle_seq.puml
2022-04-28 21:18:16 +02:00

47 lines
1.0 KiB
Plaintext

@startuml
skinparam object {
backgroundColor White
borderColor Black
arrowColor Black
}
skinparam note {
backgroundColor LightYellow
borderColor Black
}
hide footbox
title Wrapper Recycle
participant App as app << ts >> #E3C800
participant "QObject.ts" as qobjectts << ts>> #E3C800
participant "WrapperCache" as wrappercachets << ts>> #E3C800
participant "QObjectWrap" as qobjectwrap << cpp >>
participant "WrapperCache" as wrappercachecpp << cpp >>
participant "QObject" as qobject << cpp >> #D5E8D4
== Wrapper construction ==
app --> qobjectts: new()
activate qobjectts
qobjectts --> qobjectwrap: new()
activate qobjectwrap
qobjectwrap --> qobject: new()
activate qobject
qobject --> qobjectwrap: QObject instance
qobjectwrap --> wrappercachecpp: store(QObject, QObjectWrap)
wrappercachecpp --> qobject: connect to destroy signal
qobjectwrap --> qobjectts: QOjectWrap instance
qobjectts --> wrappercachets: store(QObject.ts)
qobjectts --> app: QObject instance
note across: The app can use the QObject and run.
@enduml