vnpy/beta/UML/IbApi.puml
2018-05-12 17:36:37 +08:00

75 lines
1.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@startuml
class EClient
class EClientSocket
abstract class EWrapper
class IbWrapper
class VnIbApi
class IbApiWrap
class IbApi
EClient <|-- EClientSocket
EWrapper <|-- IbWrapper
IbWrapper *-- VnIbApi
EClientSocket *-- 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
class EClient {
}
note right
IB提供的C++源代码。
此类定义了应用程序向IB网关发起请求的主动函数。
end note
class EClientSocket {
}
note right
IB提供的C++源代码。
此类定义了应用程序向IB网关发起请求的主动函数。
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