2017-12-14 10:30:55 +01:00
|
|
|
@startuml
|
|
|
|
|
|
|
|
|
|
package "Public API" <<frame>> #DDDDDD {
|
|
|
|
|
interface IConnection {
|
|
|
|
|
+requestName()
|
|
|
|
|
+enterProcessLoop()
|
|
|
|
|
+leaveProcessLoop()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
interface IObject {
|
|
|
|
|
+registerMethod()
|
|
|
|
|
+emitSignal()
|
|
|
|
|
}
|
|
|
|
|
|
2019-04-09 21:28:07 +02:00
|
|
|
interface IProxy {
|
2017-12-14 10:30:55 +01:00
|
|
|
+callMethod()
|
|
|
|
|
+subscribeToSignal()
|
2019-04-09 21:28:07 +02:00
|
|
|
+get/setProperty()
|
2017-12-14 10:30:55 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class Message {
|
|
|
|
|
+serialize(...)
|
|
|
|
|
+deserialize(...)
|
|
|
|
|
+send()
|
|
|
|
|
Type msgType
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
interface IConnectionInternal {
|
|
|
|
|
+addObjectVTable()
|
|
|
|
|
+createMethodCall()
|
|
|
|
|
+createSignal()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class Connection {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class Object {
|
|
|
|
|
IConnectionInternal& connection
|
|
|
|
|
string objectPath
|
|
|
|
|
List interfaces
|
|
|
|
|
List methods
|
2019-04-09 21:28:07 +02:00
|
|
|
List signals
|
|
|
|
|
List properties
|
2017-12-14 10:30:55 +01:00
|
|
|
}
|
|
|
|
|
|
2019-04-09 21:28:07 +02:00
|
|
|
class Proxy {
|
2017-12-14 10:30:55 +01:00
|
|
|
IConnectionInternal& connection
|
|
|
|
|
string destination
|
|
|
|
|
string objectPath
|
2019-04-09 21:28:07 +02:00
|
|
|
List signalHandlers
|
2017-12-14 10:30:55 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
IConnection <|-- Connection
|
|
|
|
|
IConnectionInternal <|- Connection
|
|
|
|
|
IObject <|-- Object
|
2019-04-09 21:28:07 +02:00
|
|
|
IProxy <|-- Proxy
|
2017-12-14 10:30:55 +01:00
|
|
|
Connection <-- Object : "use"
|
2019-04-09 21:28:07 +02:00
|
|
|
Connection <-- Proxy : "use"
|
2017-12-14 10:30:55 +01:00
|
|
|
Message <.. Object : "send/receive"
|
2019-04-09 21:28:07 +02:00
|
|
|
Message <.. Proxy : "send/receive"
|
2017-12-14 10:30:55 +01:00
|
|
|
|
|
|
|
|
@enduml
|