59 lines
1.0 KiB
Plaintext
59 lines
1.0 KiB
Plaintext
@startuml
|
||
|
||
abstract class EWrapper
|
||
class IbWrapper
|
||
class VnIbApi
|
||
class IbApiWrap
|
||
class IbApi
|
||
|
||
|
||
EWrapper <|-- IbWrapper
|
||
IbWrapper *-- VnIbApi
|
||
IbWrapper --* VnIbApi
|
||
VnIbApi <|-- IbApiWrap : Boost.python封装
|
||
note right
|
||
实际上是结构体struct。
|
||
按照Boost.python的规范封装
|
||
end note
|
||
|
||
IbApiWrap <|-- IbApi : Boost.python封装
|
||
note right
|
||
按照Boost.python的规范封装
|
||
Python的程序对接使用此类型。
|
||
end note
|
||
|
||
|
||
|
||
|
||
abstract class EWrapper {
|
||
}
|
||
note right
|
||
提供IB网关返回响应数据后,会调用回调函数。
|
||
此类定义了回调函数的接口。
|
||
end note
|
||
|
||
class IbWrapper {
|
||
- VnIbApi *api;
|
||
}
|
||
note right
|
||
此类用于实现回调函数的接口。
|
||
end note
|
||
|
||
class VnIbApi {
|
||
- IbWrapper *wrapper;
|
||
- EReaderOSSignal signal;
|
||
- EReader *reader;
|
||
+ EClientSocket *client;
|
||
}
|
||
note right
|
||
**VnIbApi中包含EClientSocket和IbWrapper成员**
|
||
|
||
EClientSocket:提供应用程序发起请求到IB网关的API函数
|
||
IbWrapper: 提供IB网关返回响应数据后的回调函数
|
||
end note
|
||
|
||
|
||
|
||
|
||
|
||
@enduml |