ctpbee-opt-api 0.1.0__cp310-cp310-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. ctpbee_api/__init__.py +17 -0
  2. ctpbee_api/ctp/__init__.py +3 -0
  3. ctpbee_api/ctp/ctp_constant.py +1253 -0
  4. ctpbee_api/ctp/generator/concat.py +93 -0
  5. ctpbee_api/ctp/generator/const.py +325 -0
  6. ctpbee_api/ctp/generator/ctp_constant.py +1274 -0
  7. ctpbee_api/ctp/generator/ctp_md_header_define.h +13 -0
  8. ctpbee_api/ctp/generator/ctp_md_header_function.h +6 -0
  9. ctpbee_api/ctp/generator/ctp_md_header_on.h +26 -0
  10. ctpbee_api/ctp/generator/ctp_md_header_process.h +26 -0
  11. ctpbee_api/ctp/generator/ctp_md_source_function.cpp +42 -0
  12. ctpbee_api/ctp/generator/ctp_md_source_module.cpp +18 -0
  13. ctpbee_api/ctp/generator/ctp_md_source_on.cpp +156 -0
  14. ctpbee_api/ctp/generator/ctp_md_source_process.cpp +282 -0
  15. ctpbee_api/ctp/generator/ctp_md_source_switch.cpp +78 -0
  16. ctpbee_api/ctp/generator/ctp_md_source_task.cpp +211 -0
  17. ctpbee_api/ctp/generator/ctp_struct.py +5640 -0
  18. ctpbee_api/ctp/generator/ctp_td_header_define.h +130 -0
  19. ctpbee_api/ctp/generator/ctp_td_header_function.h +174 -0
  20. ctpbee_api/ctp/generator/ctp_td_header_on.h +260 -0
  21. ctpbee_api/ctp/generator/ctp_td_header_process.h +260 -0
  22. ctpbee_api/ctp/generator/ctp_td_source_function.cpp +1456 -0
  23. ctpbee_api/ctp/generator/ctp_td_source_module.cpp +222 -0
  24. ctpbee_api/ctp/generator/ctp_td_source_on.cpp +1572 -0
  25. ctpbee_api/ctp/generator/ctp_td_source_process.cpp +5472 -0
  26. ctpbee_api/ctp/generator/ctp_td_source_switch.cpp +780 -0
  27. ctpbee_api/ctp/generator/ctp_td_source_task.cpp +2444 -0
  28. ctpbee_api/ctp/generator/ctp_typedef.py +800 -0
  29. ctpbee_api/ctp/generator/generate_api_functions.py +345 -0
  30. ctpbee_api/ctp/generator/generate_data_type.py +76 -0
  31. ctpbee_api/ctp/generator/generate_struct.py +84 -0
  32. ctpbee_api/ctp/include/mac/ctp/ThostFtdcMdApi.h +168 -0
  33. ctpbee_api/ctp/include/mac/ctp/ThostFtdcTraderApi.h +770 -0
  34. ctpbee_api/ctp/include/mac/ctp/ThostFtdcUserApiDataType.h +6878 -0
  35. ctpbee_api/ctp/include/mac/ctp/ThostFtdcUserApiStruct.h +10915 -0
  36. ctpbee_api/ctp/include/mac/pybind11/attr.h +690 -0
  37. ctpbee_api/ctp/include/mac/pybind11/buffer_info.h +208 -0
  38. ctpbee_api/ctp/include/mac/pybind11/cast.h +1704 -0
  39. ctpbee_api/ctp/include/mac/pybind11/chrono.h +225 -0
  40. ctpbee_api/ctp/include/mac/pybind11/common.h +2 -0
  41. ctpbee_api/ctp/include/mac/pybind11/complex.h +74 -0
  42. ctpbee_api/ctp/include/mac/pybind11/detail/class.h +743 -0
  43. ctpbee_api/ctp/include/mac/pybind11/detail/common.h +1255 -0
  44. ctpbee_api/ctp/include/mac/pybind11/detail/descr.h +171 -0
  45. ctpbee_api/ctp/include/mac/pybind11/detail/init.h +434 -0
  46. ctpbee_api/ctp/include/mac/pybind11/detail/internals.h +656 -0
  47. ctpbee_api/ctp/include/mac/pybind11/detail/type_caster_base.h +1177 -0
  48. ctpbee_api/ctp/include/mac/pybind11/detail/typeid.h +65 -0
  49. ctpbee_api/ctp/include/mac/pybind11/eigen/common.h +9 -0
  50. ctpbee_api/ctp/include/mac/pybind11/eigen/matrix.h +714 -0
  51. ctpbee_api/ctp/include/mac/pybind11/eigen/tensor.h +516 -0
  52. ctpbee_api/ctp/include/mac/pybind11/eigen.h +12 -0
  53. ctpbee_api/ctp/include/mac/pybind11/embed.h +316 -0
  54. ctpbee_api/ctp/include/mac/pybind11/eval.h +156 -0
  55. ctpbee_api/ctp/include/mac/pybind11/functional.h +137 -0
  56. ctpbee_api/ctp/include/mac/pybind11/gil.h +239 -0
  57. ctpbee_api/ctp/include/mac/pybind11/iostream.h +265 -0
  58. ctpbee_api/ctp/include/mac/pybind11/numpy.h +1998 -0
  59. ctpbee_api/ctp/include/mac/pybind11/operators.h +202 -0
  60. ctpbee_api/ctp/include/mac/pybind11/options.h +92 -0
  61. ctpbee_api/ctp/include/mac/pybind11/pybind11.h +2890 -0
  62. ctpbee_api/ctp/include/mac/pybind11/pytypes.h +2557 -0
  63. ctpbee_api/ctp/include/mac/pybind11/stl/filesystem.h +116 -0
  64. ctpbee_api/ctp/include/mac/pybind11/stl.h +447 -0
  65. ctpbee_api/ctp/include/mac/pybind11/stl_bind.h +851 -0
  66. ctpbee_api/ctp/include/mac/pybind11/type_caster_pyobject_ptr.h +61 -0
  67. ctpbee_api/ctp/include/new/ctp/ThostFtdcMdApi.h +168 -0
  68. ctpbee_api/ctp/include/new/ctp/ThostFtdcTraderApi.h +770 -0
  69. ctpbee_api/ctp/include/new/ctp/ThostFtdcUserApiDataType.h +6878 -0
  70. ctpbee_api/ctp/include/new/ctp/ThostFtdcUserApiStruct.h +10915 -0
  71. ctpbee_api/ctp/include/new/pybind11/attr.h +690 -0
  72. ctpbee_api/ctp/include/new/pybind11/buffer_info.h +208 -0
  73. ctpbee_api/ctp/include/new/pybind11/cast.h +1704 -0
  74. ctpbee_api/ctp/include/new/pybind11/chrono.h +225 -0
  75. ctpbee_api/ctp/include/new/pybind11/common.h +2 -0
  76. ctpbee_api/ctp/include/new/pybind11/complex.h +74 -0
  77. ctpbee_api/ctp/include/new/pybind11/detail/class.h +743 -0
  78. ctpbee_api/ctp/include/new/pybind11/detail/common.h +1255 -0
  79. ctpbee_api/ctp/include/new/pybind11/detail/descr.h +171 -0
  80. ctpbee_api/ctp/include/new/pybind11/detail/init.h +434 -0
  81. ctpbee_api/ctp/include/new/pybind11/detail/internals.h +656 -0
  82. ctpbee_api/ctp/include/new/pybind11/detail/type_caster_base.h +1177 -0
  83. ctpbee_api/ctp/include/new/pybind11/detail/typeid.h +65 -0
  84. ctpbee_api/ctp/include/new/pybind11/eigen/common.h +9 -0
  85. ctpbee_api/ctp/include/new/pybind11/eigen/matrix.h +714 -0
  86. ctpbee_api/ctp/include/new/pybind11/eigen/tensor.h +516 -0
  87. ctpbee_api/ctp/include/new/pybind11/eigen.h +12 -0
  88. ctpbee_api/ctp/include/new/pybind11/embed.h +316 -0
  89. ctpbee_api/ctp/include/new/pybind11/eval.h +156 -0
  90. ctpbee_api/ctp/include/new/pybind11/functional.h +137 -0
  91. ctpbee_api/ctp/include/new/pybind11/gil.h +239 -0
  92. ctpbee_api/ctp/include/new/pybind11/iostream.h +265 -0
  93. ctpbee_api/ctp/include/new/pybind11/numpy.h +1998 -0
  94. ctpbee_api/ctp/include/new/pybind11/operators.h +202 -0
  95. ctpbee_api/ctp/include/new/pybind11/options.h +92 -0
  96. ctpbee_api/ctp/include/new/pybind11/pybind11.h +2890 -0
  97. ctpbee_api/ctp/include/new/pybind11/pytypes.h +2557 -0
  98. ctpbee_api/ctp/include/new/pybind11/stl/filesystem.h +116 -0
  99. ctpbee_api/ctp/include/new/pybind11/stl.h +447 -0
  100. ctpbee_api/ctp/include/new/pybind11/stl_bind.h +851 -0
  101. ctpbee_api/ctp/include/new/pybind11/type_caster_pyobject_ptr.h +61 -0
  102. ctpbee_api/ctp/include/previous/ctp/ThostFtdcMdApi.h +168 -0
  103. ctpbee_api/ctp/include/previous/ctp/ThostFtdcTraderApi.h +770 -0
  104. ctpbee_api/ctp/include/previous/ctp/ThostFtdcUserApiDataType.h +6878 -0
  105. ctpbee_api/ctp/include/previous/ctp/ThostFtdcUserApiStruct.h +10915 -0
  106. ctpbee_api/ctp/include/previous/pybind11/attr.h +489 -0
  107. ctpbee_api/ctp/include/previous/pybind11/buffer_info.h +108 -0
  108. ctpbee_api/ctp/include/previous/pybind11/cast.h +2067 -0
  109. ctpbee_api/ctp/include/previous/pybind11/chrono.h +162 -0
  110. ctpbee_api/ctp/include/previous/pybind11/common.h +2 -0
  111. ctpbee_api/ctp/include/previous/pybind11/complex.h +61 -0
  112. ctpbee_api/ctp/include/previous/pybind11/detail/class.h +626 -0
  113. ctpbee_api/ctp/include/previous/pybind11/detail/common.h +803 -0
  114. ctpbee_api/ctp/include/previous/pybind11/detail/descr.h +185 -0
  115. ctpbee_api/ctp/include/previous/pybind11/detail/init.h +335 -0
  116. ctpbee_api/ctp/include/previous/pybind11/detail/internals.h +285 -0
  117. ctpbee_api/ctp/include/previous/pybind11/detail/typeid.h +53 -0
  118. ctpbee_api/ctp/include/previous/pybind11/eigen.h +604 -0
  119. ctpbee_api/ctp/include/previous/pybind11/embed.h +194 -0
  120. ctpbee_api/ctp/include/previous/pybind11/eval.h +117 -0
  121. ctpbee_api/ctp/include/previous/pybind11/functional.h +85 -0
  122. ctpbee_api/ctp/include/previous/pybind11/iostream.h +200 -0
  123. ctpbee_api/ctp/include/previous/pybind11/numpy.h +1601 -0
  124. ctpbee_api/ctp/include/previous/pybind11/operators.h +168 -0
  125. ctpbee_api/ctp/include/previous/pybind11/options.h +65 -0
  126. ctpbee_api/ctp/include/previous/pybind11/pybind11.h +1965 -0
  127. ctpbee_api/ctp/include/previous/pybind11/pytypes.h +1332 -0
  128. ctpbee_api/ctp/include/previous/pybind11/stl.h +376 -0
  129. ctpbee_api/ctp/include/previous/pybind11/stl_bind.h +599 -0
  130. ctpbee_api/ctp/libs/libcomunicationkey.a +0 -0
  131. ctpbee_api/ctp/libs/libcrypto.a +0 -0
  132. ctpbee_api/ctp/libs/libssl.a +0 -0
  133. ctpbee_api/ctp/libs/thostmduserapi_se.lib +0 -0
  134. ctpbee_api/ctp/libs/thosttraderapi_se.lib +0 -0
  135. ctpbee_api/ctp/libthostmduserapi_se.so +0 -0
  136. ctpbee_api/ctp/libthosttraderapi_se.so +0 -0
  137. ctpbee_api/ctp/thostmduserapi_se.dll +0 -0
  138. ctpbee_api/ctp/thosttraderapi_se.dll +0 -0
  139. ctpbee_api/ctp/vnctp/vnctp.h +189 -0
  140. ctpbee_api/ctp/vnctp/vnctp.sln +41 -0
  141. ctpbee_api/ctp/vnctp/vnctpmd/dllmain.cpp +19 -0
  142. ctpbee_api/ctp/vnctp/vnctpmd/stdafx.cpp +1 -0
  143. ctpbee_api/ctp/vnctp/vnctpmd/stdafx.h +17 -0
  144. ctpbee_api/ctp/vnctp/vnctpmd/targetver.h +8 -0
  145. ctpbee_api/ctp/vnctp/vnctpmd/vnctpmd.cpp +953 -0
  146. ctpbee_api/ctp/vnctp/vnctpmd/vnctpmd.h +209 -0
  147. ctpbee_api/ctp/vnctp/vnctpmd/vnctpmd.vcxproj +200 -0
  148. ctpbee_api/ctp/vnctp/vnctpmd/vnctpmd.vcxproj.filters +54 -0
  149. ctpbee_api/ctp/vnctp/vnctpmd/vnctpmd.vcxproj.user +4 -0
  150. ctpbee_api/ctp/vnctp/vnctptd/dllmain.cpp +19 -0
  151. ctpbee_api/ctp/vnctp/vnctptd/stdafx.cpp +1 -0
  152. ctpbee_api/ctp/vnctp/vnctptd/stdafx.h +16 -0
  153. ctpbee_api/ctp/vnctp/vnctptd/targetver.h +8 -0
  154. ctpbee_api/ctp/vnctp/vnctptd/vnctptd.cpp +12148 -0
  155. ctpbee_api/ctp/vnctp/vnctptd/vnctptd.h +1329 -0
  156. ctpbee_api/ctp/vnctp/vnctptd/vnctptd.vcxproj +198 -0
  157. ctpbee_api/ctp/vnctp/vnctptd/vnctptd.vcxproj.filters +54 -0
  158. ctpbee_api/ctp/vnctp/vnctptd/vnctptd.vcxproj.user +4 -0
  159. ctpbee_api/ctp/vnctpmd.cp310-win_amd64.pyd +0 -0
  160. ctpbee_api/ctp/vnctptd.cp310-win_amd64.pyd +0 -0
  161. ctpbee_api/ctp_mini/__init__.py +3 -0
  162. ctpbee_api/ctp_mini/generator/generate_api_functions.py +343 -0
  163. ctpbee_api/ctp_mini/generator/generate_data_type.py +76 -0
  164. ctpbee_api/ctp_mini/generator/generate_struct.py +85 -0
  165. ctpbee_api/ctp_mini/generator/mini_constant.py +1186 -0
  166. ctpbee_api/ctp_mini/generator/mini_md_header_define.h +13 -0
  167. ctpbee_api/ctp_mini/generator/mini_md_header_function.h +4 -0
  168. ctpbee_api/ctp_mini/generator/mini_md_header_on.h +26 -0
  169. ctpbee_api/ctp_mini/generator/mini_md_header_process.h +26 -0
  170. ctpbee_api/ctp_mini/generator/mini_md_source_function.cpp +29 -0
  171. ctpbee_api/ctp_mini/generator/mini_md_source_module.cpp +17 -0
  172. ctpbee_api/ctp_mini/generator/mini_md_source_on.cpp +156 -0
  173. ctpbee_api/ctp_mini/generator/mini_md_source_process.cpp +264 -0
  174. ctpbee_api/ctp_mini/generator/mini_md_source_switch.cpp +78 -0
  175. ctpbee_api/ctp_mini/generator/mini_md_source_task.cpp +203 -0
  176. ctpbee_api/ctp_mini/generator/mini_struct.py +4599 -0
  177. ctpbee_api/ctp_mini/generator/mini_td_header_define.h +63 -0
  178. ctpbee_api/ctp_mini/generator/mini_td_header_function.h +84 -0
  179. ctpbee_api/ctp_mini/generator/mini_td_header_on.h +126 -0
  180. ctpbee_api/ctp_mini/generator/mini_td_header_process.h +126 -0
  181. ctpbee_api/ctp_mini/generator/mini_td_source_function.cpp +663 -0
  182. ctpbee_api/ctp_mini/generator/mini_td_source_module.cpp +107 -0
  183. ctpbee_api/ctp_mini/generator/mini_td_source_on.cpp +756 -0
  184. ctpbee_api/ctp_mini/generator/mini_td_source_process.cpp +2492 -0
  185. ctpbee_api/ctp_mini/generator/mini_td_source_switch.cpp +378 -0
  186. ctpbee_api/ctp_mini/generator/mini_td_source_task.cpp +1193 -0
  187. ctpbee_api/ctp_mini/generator/mini_typedef.py +755 -0
  188. ctpbee_api/ctp_mini/generator/package/vnminimd.cpp +886 -0
  189. ctpbee_api/ctp_mini/generator/package/vnminimd.h +205 -0
  190. ctpbee_api/ctp_mini/include/new/mini/ThostFtdcMdApi.h +148 -0
  191. ctpbee_api/ctp_mini/include/new/mini/ThostFtdcTraderApi.h +419 -0
  192. ctpbee_api/ctp_mini/include/new/mini/ThostFtdcUserApiDataType.h +6458 -0
  193. ctpbee_api/ctp_mini/include/new/mini/ThostFtdcUserApiStruct.h +8890 -0
  194. ctpbee_api/ctp_mini/include/new/pybind11/attr.h +690 -0
  195. ctpbee_api/ctp_mini/include/new/pybind11/buffer_info.h +208 -0
  196. ctpbee_api/ctp_mini/include/new/pybind11/cast.h +1704 -0
  197. ctpbee_api/ctp_mini/include/new/pybind11/chrono.h +225 -0
  198. ctpbee_api/ctp_mini/include/new/pybind11/common.h +2 -0
  199. ctpbee_api/ctp_mini/include/new/pybind11/complex.h +74 -0
  200. ctpbee_api/ctp_mini/include/new/pybind11/detail/class.h +743 -0
  201. ctpbee_api/ctp_mini/include/new/pybind11/detail/common.h +1255 -0
  202. ctpbee_api/ctp_mini/include/new/pybind11/detail/descr.h +171 -0
  203. ctpbee_api/ctp_mini/include/new/pybind11/detail/init.h +434 -0
  204. ctpbee_api/ctp_mini/include/new/pybind11/detail/internals.h +656 -0
  205. ctpbee_api/ctp_mini/include/new/pybind11/detail/type_caster_base.h +1177 -0
  206. ctpbee_api/ctp_mini/include/new/pybind11/detail/typeid.h +65 -0
  207. ctpbee_api/ctp_mini/include/new/pybind11/eigen/common.h +9 -0
  208. ctpbee_api/ctp_mini/include/new/pybind11/eigen/matrix.h +714 -0
  209. ctpbee_api/ctp_mini/include/new/pybind11/eigen/tensor.h +516 -0
  210. ctpbee_api/ctp_mini/include/new/pybind11/eigen.h +12 -0
  211. ctpbee_api/ctp_mini/include/new/pybind11/embed.h +316 -0
  212. ctpbee_api/ctp_mini/include/new/pybind11/eval.h +156 -0
  213. ctpbee_api/ctp_mini/include/new/pybind11/functional.h +137 -0
  214. ctpbee_api/ctp_mini/include/new/pybind11/gil.h +239 -0
  215. ctpbee_api/ctp_mini/include/new/pybind11/iostream.h +265 -0
  216. ctpbee_api/ctp_mini/include/new/pybind11/numpy.h +1998 -0
  217. ctpbee_api/ctp_mini/include/new/pybind11/operators.h +202 -0
  218. ctpbee_api/ctp_mini/include/new/pybind11/options.h +92 -0
  219. ctpbee_api/ctp_mini/include/new/pybind11/pybind11.h +2890 -0
  220. ctpbee_api/ctp_mini/include/new/pybind11/pytypes.h +2557 -0
  221. ctpbee_api/ctp_mini/include/new/pybind11/stl/filesystem.h +116 -0
  222. ctpbee_api/ctp_mini/include/new/pybind11/stl.h +447 -0
  223. ctpbee_api/ctp_mini/include/new/pybind11/stl_bind.h +851 -0
  224. ctpbee_api/ctp_mini/include/new/pybind11/type_caster_pyobject_ptr.h +61 -0
  225. ctpbee_api/ctp_mini/include/previous/mini/ThostFtdcMdApi.h +148 -0
  226. ctpbee_api/ctp_mini/include/previous/mini/ThostFtdcTraderApi.h +419 -0
  227. ctpbee_api/ctp_mini/include/previous/mini/ThostFtdcUserApiDataType.h +6458 -0
  228. ctpbee_api/ctp_mini/include/previous/mini/ThostFtdcUserApiStruct.h +8890 -0
  229. ctpbee_api/ctp_mini/include/previous/pybind11/attr.h +489 -0
  230. ctpbee_api/ctp_mini/include/previous/pybind11/buffer_info.h +108 -0
  231. ctpbee_api/ctp_mini/include/previous/pybind11/cast.h +2067 -0
  232. ctpbee_api/ctp_mini/include/previous/pybind11/chrono.h +162 -0
  233. ctpbee_api/ctp_mini/include/previous/pybind11/common.h +2 -0
  234. ctpbee_api/ctp_mini/include/previous/pybind11/complex.h +61 -0
  235. ctpbee_api/ctp_mini/include/previous/pybind11/detail/class.h +626 -0
  236. ctpbee_api/ctp_mini/include/previous/pybind11/detail/common.h +803 -0
  237. ctpbee_api/ctp_mini/include/previous/pybind11/detail/descr.h +185 -0
  238. ctpbee_api/ctp_mini/include/previous/pybind11/detail/init.h +335 -0
  239. ctpbee_api/ctp_mini/include/previous/pybind11/detail/internals.h +285 -0
  240. ctpbee_api/ctp_mini/include/previous/pybind11/detail/typeid.h +53 -0
  241. ctpbee_api/ctp_mini/include/previous/pybind11/eigen.h +604 -0
  242. ctpbee_api/ctp_mini/include/previous/pybind11/embed.h +194 -0
  243. ctpbee_api/ctp_mini/include/previous/pybind11/eval.h +117 -0
  244. ctpbee_api/ctp_mini/include/previous/pybind11/functional.h +85 -0
  245. ctpbee_api/ctp_mini/include/previous/pybind11/iostream.h +200 -0
  246. ctpbee_api/ctp_mini/include/previous/pybind11/numpy.h +1601 -0
  247. ctpbee_api/ctp_mini/include/previous/pybind11/operators.h +168 -0
  248. ctpbee_api/ctp_mini/include/previous/pybind11/options.h +65 -0
  249. ctpbee_api/ctp_mini/include/previous/pybind11/pybind11.h +1965 -0
  250. ctpbee_api/ctp_mini/include/previous/pybind11/pytypes.h +1332 -0
  251. ctpbee_api/ctp_mini/include/previous/pybind11/stl.h +376 -0
  252. ctpbee_api/ctp_mini/include/previous/pybind11/stl_bind.h +599 -0
  253. ctpbee_api/ctp_mini/libs/thostmduserapi.lib +0 -0
  254. ctpbee_api/ctp_mini/libs/thosttraderapi.lib +0 -0
  255. ctpbee_api/ctp_mini/libthostmduserapi.so +0 -0
  256. ctpbee_api/ctp_mini/libthosttraderapi.so +0 -0
  257. ctpbee_api/ctp_mini/mini_constant.py +1186 -0
  258. ctpbee_api/ctp_mini/thostmduserapi.dll +0 -0
  259. ctpbee_api/ctp_mini/thosttraderapi.dll +0 -0
  260. ctpbee_api/ctp_mini/vnctp_mini/vnctp_mini.h +146 -0
  261. ctpbee_api/ctp_mini/vnctp_mini/vnctp_mini.sln +41 -0
  262. ctpbee_api/ctp_mini/vnctp_mini/vnctp_minimd/dllmain.cpp +0 -0
  263. ctpbee_api/ctp_mini/vnctp_mini/vnctp_minimd/stdafx.cpp +0 -0
  264. ctpbee_api/ctp_mini/vnctp_mini/vnctp_minimd/stdafx.h +0 -0
  265. ctpbee_api/ctp_mini/vnctp_mini/vnctp_minimd/targetver.h +0 -0
  266. ctpbee_api/ctp_mini/vnctp_mini/vnctp_minimd/vnctp_minimd.cpp +886 -0
  267. ctpbee_api/ctp_mini/vnctp_mini/vnctp_minimd/vnctp_minimd.h +203 -0
  268. ctpbee_api/ctp_mini/vnctp_mini/vnctp_minimd/vnctp_minimd.vcxproj +183 -0
  269. ctpbee_api/ctp_mini/vnctp_mini/vnctp_minimd/vnctp_minimd.vcxproj.filters +54 -0
  270. ctpbee_api/ctp_mini/vnctp_mini/vnctp_minimd/vnctp_minimd.vcxproj.user +4 -0
  271. ctpbee_api/ctp_mini/vnctp_mini/vnctp_minitd/dllmain.cpp +0 -0
  272. ctpbee_api/ctp_mini/vnctp_mini/vnctp_minitd/stdafx.cpp +0 -0
  273. ctpbee_api/ctp_mini/vnctp_mini/vnctp_minitd/stdafx.h +0 -0
  274. ctpbee_api/ctp_mini/vnctp_mini/vnctp_minitd/targetver.h +0 -0
  275. ctpbee_api/ctp_mini/vnctp_mini/vnctp_minitd/vnctp_minitd.cpp +5716 -0
  276. ctpbee_api/ctp_mini/vnctp_mini/vnctp_minitd/vnctp_minitd.h +680 -0
  277. ctpbee_api/ctp_mini/vnctp_mini/vnctp_minitd/vnctp_minitd.vcxproj +180 -0
  278. ctpbee_api/ctp_mini/vnctp_mini/vnctp_minitd/vnctp_minitd.vcxproj.filters +54 -0
  279. ctpbee_api/ctp_mini/vnctp_mini/vnctp_minitd/vnctp_minitd.vcxproj.user +4 -0
  280. ctpbee_api/ctp_mini/vnctp_minimd.cp310-win_amd64.pyd +0 -0
  281. ctpbee_api/ctp_mini/vnctp_minitd.cp310-win_amd64.pyd +0 -0
  282. ctpbee_api/ctp_mini/vnctp_minitd.lib +0 -0
  283. ctpbee_api/rohon/RohonBaseV64.dll +0 -0
  284. ctpbee_api/rohon/WinDataCollect.dll +0 -0
  285. ctpbee_api/rohon/__init__.py +3 -0
  286. ctpbee_api/rohon/generator/generate_api_functions.py +348 -0
  287. ctpbee_api/rohon/generator/generate_data_type.py +76 -0
  288. ctpbee_api/rohon/generator/generate_struct.py +84 -0
  289. ctpbee_api/rohon/generator/rohon_constant.py +1242 -0
  290. ctpbee_api/rohon/generator/rohon_md_header_define.h +13 -0
  291. ctpbee_api/rohon/generator/rohon_md_header_function.h +6 -0
  292. ctpbee_api/rohon/generator/rohon_md_header_on.h +26 -0
  293. ctpbee_api/rohon/generator/rohon_md_header_process.h +26 -0
  294. ctpbee_api/rohon/generator/rohon_md_source_function.cpp +40 -0
  295. ctpbee_api/rohon/generator/rohon_md_source_module.cpp +18 -0
  296. ctpbee_api/rohon/generator/rohon_md_source_on.cpp +156 -0
  297. ctpbee_api/rohon/generator/rohon_md_source_process.cpp +271 -0
  298. ctpbee_api/rohon/generator/rohon_md_source_switch.cpp +78 -0
  299. ctpbee_api/rohon/generator/rohon_md_source_task.cpp +211 -0
  300. ctpbee_api/rohon/generator/rohon_struct.py +4958 -0
  301. ctpbee_api/rohon/generator/rohon_td_header_define.h +125 -0
  302. ctpbee_api/rohon/generator/rohon_td_header_function.h +164 -0
  303. ctpbee_api/rohon/generator/rohon_td_header_on.h +250 -0
  304. ctpbee_api/rohon/generator/rohon_td_header_process.h +250 -0
  305. ctpbee_api/rohon/generator/rohon_td_source_function.cpp +1338 -0
  306. ctpbee_api/rohon/generator/rohon_td_source_module.cpp +209 -0
  307. ctpbee_api/rohon/generator/rohon_td_source_on.cpp +1500 -0
  308. ctpbee_api/rohon/generator/rohon_td_source_process.cpp +5125 -0
  309. ctpbee_api/rohon/generator/rohon_td_source_switch.cpp +750 -0
  310. ctpbee_api/rohon/generator/rohon_td_source_task.cpp +2339 -0
  311. ctpbee_api/rohon/generator/rohon_typedef.py +781 -0
  312. ctpbee_api/rohon/include/new/pybind11/attr.h +690 -0
  313. ctpbee_api/rohon/include/new/pybind11/buffer_info.h +208 -0
  314. ctpbee_api/rohon/include/new/pybind11/cast.h +1704 -0
  315. ctpbee_api/rohon/include/new/pybind11/chrono.h +225 -0
  316. ctpbee_api/rohon/include/new/pybind11/common.h +2 -0
  317. ctpbee_api/rohon/include/new/pybind11/complex.h +74 -0
  318. ctpbee_api/rohon/include/new/pybind11/detail/class.h +743 -0
  319. ctpbee_api/rohon/include/new/pybind11/detail/common.h +1255 -0
  320. ctpbee_api/rohon/include/new/pybind11/detail/descr.h +171 -0
  321. ctpbee_api/rohon/include/new/pybind11/detail/init.h +434 -0
  322. ctpbee_api/rohon/include/new/pybind11/detail/internals.h +656 -0
  323. ctpbee_api/rohon/include/new/pybind11/detail/type_caster_base.h +1177 -0
  324. ctpbee_api/rohon/include/new/pybind11/detail/typeid.h +65 -0
  325. ctpbee_api/rohon/include/new/pybind11/eigen/common.h +9 -0
  326. ctpbee_api/rohon/include/new/pybind11/eigen/matrix.h +714 -0
  327. ctpbee_api/rohon/include/new/pybind11/eigen/tensor.h +516 -0
  328. ctpbee_api/rohon/include/new/pybind11/eigen.h +12 -0
  329. ctpbee_api/rohon/include/new/pybind11/embed.h +316 -0
  330. ctpbee_api/rohon/include/new/pybind11/eval.h +156 -0
  331. ctpbee_api/rohon/include/new/pybind11/functional.h +137 -0
  332. ctpbee_api/rohon/include/new/pybind11/gil.h +239 -0
  333. ctpbee_api/rohon/include/new/pybind11/iostream.h +265 -0
  334. ctpbee_api/rohon/include/new/pybind11/numpy.h +1998 -0
  335. ctpbee_api/rohon/include/new/pybind11/operators.h +202 -0
  336. ctpbee_api/rohon/include/new/pybind11/options.h +92 -0
  337. ctpbee_api/rohon/include/new/pybind11/pybind11.h +2890 -0
  338. ctpbee_api/rohon/include/new/pybind11/pytypes.h +2557 -0
  339. ctpbee_api/rohon/include/new/pybind11/stl/filesystem.h +116 -0
  340. ctpbee_api/rohon/include/new/pybind11/stl.h +447 -0
  341. ctpbee_api/rohon/include/new/pybind11/stl_bind.h +851 -0
  342. ctpbee_api/rohon/include/new/pybind11/type_caster_pyobject_ptr.h +61 -0
  343. ctpbee_api/rohon/include/new/rohon/ThostFtdcMdApi.h +168 -0
  344. ctpbee_api/rohon/include/new/rohon/ThostFtdcTraderApi.h +739 -0
  345. ctpbee_api/rohon/include/new/rohon/ThostFtdcUserApiDataType.h +6708 -0
  346. ctpbee_api/rohon/include/new/rohon/ThostFtdcUserApiStruct.h +9580 -0
  347. ctpbee_api/rohon/include/previous/pybind11/attr.h +489 -0
  348. ctpbee_api/rohon/include/previous/pybind11/buffer_info.h +108 -0
  349. ctpbee_api/rohon/include/previous/pybind11/cast.h +2067 -0
  350. ctpbee_api/rohon/include/previous/pybind11/chrono.h +162 -0
  351. ctpbee_api/rohon/include/previous/pybind11/common.h +2 -0
  352. ctpbee_api/rohon/include/previous/pybind11/complex.h +61 -0
  353. ctpbee_api/rohon/include/previous/pybind11/detail/class.h +626 -0
  354. ctpbee_api/rohon/include/previous/pybind11/detail/common.h +803 -0
  355. ctpbee_api/rohon/include/previous/pybind11/detail/descr.h +185 -0
  356. ctpbee_api/rohon/include/previous/pybind11/detail/init.h +335 -0
  357. ctpbee_api/rohon/include/previous/pybind11/detail/internals.h +285 -0
  358. ctpbee_api/rohon/include/previous/pybind11/detail/typeid.h +53 -0
  359. ctpbee_api/rohon/include/previous/pybind11/eigen.h +604 -0
  360. ctpbee_api/rohon/include/previous/pybind11/embed.h +194 -0
  361. ctpbee_api/rohon/include/previous/pybind11/eval.h +117 -0
  362. ctpbee_api/rohon/include/previous/pybind11/functional.h +85 -0
  363. ctpbee_api/rohon/include/previous/pybind11/iostream.h +200 -0
  364. ctpbee_api/rohon/include/previous/pybind11/numpy.h +1601 -0
  365. ctpbee_api/rohon/include/previous/pybind11/operators.h +168 -0
  366. ctpbee_api/rohon/include/previous/pybind11/options.h +65 -0
  367. ctpbee_api/rohon/include/previous/pybind11/pybind11.h +1965 -0
  368. ctpbee_api/rohon/include/previous/pybind11/pytypes.h +1332 -0
  369. ctpbee_api/rohon/include/previous/pybind11/stl.h +376 -0
  370. ctpbee_api/rohon/include/previous/pybind11/stl_bind.h +599 -0
  371. ctpbee_api/rohon/include/previous/rohon/ThostFtdcMdApi.h +168 -0
  372. ctpbee_api/rohon/include/previous/rohon/ThostFtdcTraderApi.h +739 -0
  373. ctpbee_api/rohon/include/previous/rohon/ThostFtdcUserApiDataType.h +6708 -0
  374. ctpbee_api/rohon/include/previous/rohon/ThostFtdcUserApiStruct.h +9580 -0
  375. ctpbee_api/rohon/libLinuxDataCollect.so +0 -0
  376. ctpbee_api/rohon/librohonbase.so +0 -0
  377. ctpbee_api/rohon/librohonbase.so.1.1 +0 -0
  378. ctpbee_api/rohon/librohonbase.so.1.1.0.1 +0 -0
  379. ctpbee_api/rohon/libs/thostmduserapi_se.lib +0 -0
  380. ctpbee_api/rohon/libs/thosttraderapi_se.lib +0 -0
  381. ctpbee_api/rohon/libthostmduserapi_se.so +0 -0
  382. ctpbee_api/rohon/libthosttraderapi_se.so +0 -0
  383. ctpbee_api/rohon/rohon_constant.py +1242 -0
  384. ctpbee_api/rohon/thostmduserapi_se.dll +0 -0
  385. ctpbee_api/rohon/thosttraderapi_se.dll +0 -0
  386. ctpbee_api/rohon/vnrohon/.vs/vnrohon/v15/.suo +0 -0
  387. ctpbee_api/rohon/vnrohon/.vs/vnrohon/v15/Browse.VC.db +0 -0
  388. ctpbee_api/rohon/vnrohon/.vs/vnrohon/v15/Solution.VC.db +0 -0
  389. ctpbee_api/rohon/vnrohon/vnrohon.h +147 -0
  390. ctpbee_api/rohon/vnrohon/vnrohon.sln +41 -0
  391. ctpbee_api/rohon/vnrohon/vnrohonmd/dllmain.cpp +19 -0
  392. ctpbee_api/rohon/vnrohon/vnrohonmd/framework.h +5 -0
  393. ctpbee_api/rohon/vnrohon/vnrohonmd/pch.cpp +5 -0
  394. ctpbee_api/rohon/vnrohon/vnrohonmd/pch.h +13 -0
  395. ctpbee_api/rohon/vnrohon/vnrohonmd/vnrohonmd.cpp +931 -0
  396. ctpbee_api/rohon/vnrohon/vnrohonmd/vnrohonmd.h +207 -0
  397. ctpbee_api/rohon/vnrohon/vnrohonmd/vnrohonmd.vcxproj +188 -0
  398. ctpbee_api/rohon/vnrohon/vnrohonmd/vnrohonmd.vcxproj.filters +54 -0
  399. ctpbee_api/rohon/vnrohon/vnrohonmd/vnrohonmd.vcxproj.user +4 -0
  400. ctpbee_api/rohon/vnrohon/vnrohontd/dllmain.cpp +19 -0
  401. ctpbee_api/rohon/vnrohon/vnrohontd/framework.h +5 -0
  402. ctpbee_api/rohon/vnrohon/vnrohontd/pch.cpp +5 -0
  403. ctpbee_api/rohon/vnrohon/vnrohontd/pch.h +13 -0
  404. ctpbee_api/rohon/vnrohon/vnrohontd/vnrohontd.cpp +11395 -0
  405. ctpbee_api/rohon/vnrohon/vnrohontd/vnrohontd.h +1259 -0
  406. ctpbee_api/rohon/vnrohon/vnrohontd/vnrohontd.vcxproj +188 -0
  407. ctpbee_api/rohon/vnrohon/vnrohontd/vnrohontd.vcxproj.filters +54 -0
  408. ctpbee_api/rohon/vnrohon/vnrohontd/vnrohontd.vcxproj.user +4 -0
  409. ctpbee_api/rohon/vnrohonmd.cp310-win_amd64.pyd +0 -0
  410. ctpbee_api/rohon/vnrohontd.cp310-win_amd64.pyd +0 -0
  411. ctpbee_opt_api-0.1.0.dist-info/METADATA +46 -0
  412. ctpbee_opt_api-0.1.0.dist-info/RECORD +414 -0
  413. ctpbee_opt_api-0.1.0.dist-info/WHEEL +5 -0
  414. ctpbee_opt_api-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,198 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <ItemGroup Label="ProjectConfigurations">
4
+ <ProjectConfiguration Include="Debug|Win32">
5
+ <Configuration>Debug</Configuration>
6
+ <Platform>Win32</Platform>
7
+ </ProjectConfiguration>
8
+ <ProjectConfiguration Include="Release|Win32">
9
+ <Configuration>Release</Configuration>
10
+ <Platform>Win32</Platform>
11
+ </ProjectConfiguration>
12
+ <ProjectConfiguration Include="Debug|x64">
13
+ <Configuration>Debug</Configuration>
14
+ <Platform>x64</Platform>
15
+ </ProjectConfiguration>
16
+ <ProjectConfiguration Include="Release|x64">
17
+ <Configuration>Release</Configuration>
18
+ <Platform>x64</Platform>
19
+ </ProjectConfiguration>
20
+ </ItemGroup>
21
+ <PropertyGroup Label="Globals">
22
+ <VCProjectVersion>15.0</VCProjectVersion>
23
+ <ProjectGuid>{016732E6-5789-4F7C-9A1C-C46A249080CF}</ProjectGuid>
24
+ <Keyword>Win32Proj</Keyword>
25
+ <RootNamespace>vnctptd</RootNamespace>
26
+ <WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
27
+ </PropertyGroup>
28
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
29
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
30
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
31
+ <UseDebugLibraries>true</UseDebugLibraries>
32
+ <PlatformToolset>v141</PlatformToolset>
33
+ <CharacterSet>Unicode</CharacterSet>
34
+ </PropertyGroup>
35
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
36
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
37
+ <UseDebugLibraries>false</UseDebugLibraries>
38
+ <PlatformToolset>v141</PlatformToolset>
39
+ <WholeProgramOptimization>true</WholeProgramOptimization>
40
+ <CharacterSet>Unicode</CharacterSet>
41
+ </PropertyGroup>
42
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
43
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
44
+ <UseDebugLibraries>true</UseDebugLibraries>
45
+ <PlatformToolset>v141</PlatformToolset>
46
+ <CharacterSet>Unicode</CharacterSet>
47
+ </PropertyGroup>
48
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
49
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
50
+ <UseDebugLibraries>false</UseDebugLibraries>
51
+ <PlatformToolset>v141</PlatformToolset>
52
+ <WholeProgramOptimization>true</WholeProgramOptimization>
53
+ <CharacterSet>Unicode</CharacterSet>
54
+ </PropertyGroup>
55
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
56
+ <ImportGroup Label="ExtensionSettings">
57
+ </ImportGroup>
58
+ <ImportGroup Label="Shared">
59
+ </ImportGroup>
60
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
61
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
62
+ </ImportGroup>
63
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
64
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
65
+ </ImportGroup>
66
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
67
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
68
+ </ImportGroup>
69
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
70
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
71
+ </ImportGroup>
72
+ <PropertyGroup Label="UserMacros" />
73
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
74
+ <LinkIncremental>true</LinkIncremental>
75
+ <IncludePath>C:\Python37\include;$(SolutionDir);$(SolutionDir)..\include;$(SolutionDir)..\include\ctp;$(IncludePath)</IncludePath>
76
+ <LibraryPath>C:\Python37\libs;$(SolutionDir)..\libs;$(LibraryPath)</LibraryPath>
77
+ <TargetExt>.pyd</TargetExt>
78
+ <OutDir>$(SolutionDir)..\</OutDir>
79
+ </PropertyGroup>
80
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
81
+ <LinkIncremental>true</LinkIncremental>
82
+ <IncludePath>C:\Python37\include;$(SolutionDir);$(SolutionDir)..\include;$(SolutionDir)..\include\ctp;$(IncludePath)</IncludePath>
83
+ <LibraryPath>C:\Python37\libs;$(SolutionDir)..\libs;$(LibraryPath)</LibraryPath>
84
+ <TargetExt>.pyd</TargetExt>
85
+ <OutDir>$(SolutionDir)..\</OutDir>
86
+ </PropertyGroup>
87
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
88
+ <LinkIncremental>false</LinkIncremental>
89
+ <IncludePath>C:\Python37\include;$(SolutionDir);$(SolutionDir)..\include;$(SolutionDir)..\include\ctp;$(IncludePath)</IncludePath>
90
+ <LibraryPath>C:\Python37\libs;$(SolutionDir)..\libs;$(LibraryPath)</LibraryPath>
91
+ <TargetExt>.pyd</TargetExt>
92
+ <OutDir>$(SolutionDir)..\</OutDir>
93
+ </PropertyGroup>
94
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
95
+ <LinkIncremental>false</LinkIncremental>
96
+ <TargetExt>.pyd</TargetExt>
97
+ <IncludePath>D:\veighna_studio\include;$(SolutionDir);$(SolutionDir)..\include;$(SolutionDir)..\include\ctp;$(IncludePath)</IncludePath>
98
+ <LibraryPath>D:\veighna_studio\libs;$(SolutionDir)..\libs;$(LibraryPath)</LibraryPath>
99
+ <OutDir>$(SolutionDir)..\</OutDir>
100
+ </PropertyGroup>
101
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
102
+ <ClCompile>
103
+ <PrecompiledHeader>Use</PrecompiledHeader>
104
+ <WarningLevel>Level3</WarningLevel>
105
+ <Optimization>Disabled</Optimization>
106
+ <SDLCheck>true</SDLCheck>
107
+ <PreprocessorDefinitions>NOMINMAX;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;VNCTPTD_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
108
+ <ConformanceMode>true</ConformanceMode>
109
+ <ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
110
+ </ClCompile>
111
+ <Link>
112
+ <SubSystem>Console</SubSystem>
113
+ <GenerateDebugInformation>true</GenerateDebugInformation>
114
+ </Link>
115
+ </ItemDefinitionGroup>
116
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
117
+ <ClCompile>
118
+ <PrecompiledHeader>Use</PrecompiledHeader>
119
+ <WarningLevel>Level3</WarningLevel>
120
+ <Optimization>Disabled</Optimization>
121
+ <SDLCheck>true</SDLCheck>
122
+ <PreprocessorDefinitions>NOMINMAX;_CRT_SECURE_NO_WARNINGS;_DEBUG;VNCTPTD_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
123
+ <ConformanceMode>true</ConformanceMode>
124
+ <ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
125
+ </ClCompile>
126
+ <Link>
127
+ <SubSystem>Console</SubSystem>
128
+ <GenerateDebugInformation>true</GenerateDebugInformation>
129
+ </Link>
130
+ </ItemDefinitionGroup>
131
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
132
+ <ClCompile>
133
+ <PrecompiledHeader>Use</PrecompiledHeader>
134
+ <WarningLevel>Level3</WarningLevel>
135
+ <Optimization>MaxSpeed</Optimization>
136
+ <FunctionLevelLinking>true</FunctionLevelLinking>
137
+ <IntrinsicFunctions>true</IntrinsicFunctions>
138
+ <SDLCheck>true</SDLCheck>
139
+ <PreprocessorDefinitions>NOMINMAX;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;VNCTPTD_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
140
+ <ConformanceMode>true</ConformanceMode>
141
+ <ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
142
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
143
+ </ClCompile>
144
+ <Link>
145
+ <SubSystem>Console</SubSystem>
146
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
147
+ <OptimizeReferences>true</OptimizeReferences>
148
+ <GenerateDebugInformation>true</GenerateDebugInformation>
149
+ </Link>
150
+ </ItemDefinitionGroup>
151
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
152
+ <ClCompile>
153
+ <PrecompiledHeader>Use</PrecompiledHeader>
154
+ <WarningLevel>Level3</WarningLevel>
155
+ <Optimization>MaxSpeed</Optimization>
156
+ <FunctionLevelLinking>true</FunctionLevelLinking>
157
+ <IntrinsicFunctions>true</IntrinsicFunctions>
158
+ <SDLCheck>true</SDLCheck>
159
+ <PreprocessorDefinitions>NOMINMAX;_CRT_SECURE_NO_WARNINGS;NDEBUG;VNCTPTD_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
160
+ <ConformanceMode>true</ConformanceMode>
161
+ <AdditionalIncludeDirectories>
162
+ </AdditionalIncludeDirectories>
163
+ <ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
164
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
165
+ </ClCompile>
166
+ <Link>
167
+ <SubSystem>Console</SubSystem>
168
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
169
+ <OptimizeReferences>true</OptimizeReferences>
170
+ <GenerateDebugInformation>true</GenerateDebugInformation>
171
+ <AdditionalLibraryDirectories>D:\veighna_studio\libs;$(SolutionDir)..\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
172
+ <AdditionalDependencies>thostmduserapi_se.lib;thosttraderapi_se.lib;%(AdditionalDependencies)</AdditionalDependencies>
173
+ </Link>
174
+ </ItemDefinitionGroup>
175
+ <ItemGroup>
176
+ <ClInclude Include="..\..\include\ctp\ThostFtdcMdApi.h" />
177
+ <ClInclude Include="..\..\include\ctp\ThostFtdcTraderApi.h" />
178
+ <ClInclude Include="..\..\include\ctp\ThostFtdcUserApiDataType.h" />
179
+ <ClInclude Include="..\..\include\ctp\ThostFtdcUserApiStruct.h" />
180
+ <ClInclude Include="..\vnctp.h" />
181
+ <ClInclude Include="stdafx.h" />
182
+ <ClInclude Include="targetver.h" />
183
+ <ClInclude Include="vnctptd.h" />
184
+ </ItemGroup>
185
+ <ItemGroup>
186
+ <ClCompile Include="dllmain.cpp" />
187
+ <ClCompile Include="stdafx.cpp">
188
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
189
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
190
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
191
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
192
+ </ClCompile>
193
+ <ClCompile Include="vnctptd.cpp" />
194
+ </ItemGroup>
195
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
196
+ <ImportGroup Label="ExtensionTargets">
197
+ </ImportGroup>
198
+ </Project>
@@ -0,0 +1,54 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <ItemGroup>
4
+ <Filter Include="源文件">
5
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
6
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
7
+ </Filter>
8
+ <Filter Include="头文件">
9
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
10
+ <Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
11
+ </Filter>
12
+ <Filter Include="资源文件">
13
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
14
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
15
+ </Filter>
16
+ </ItemGroup>
17
+ <ItemGroup>
18
+ <ClInclude Include="stdafx.h">
19
+ <Filter>头文件</Filter>
20
+ </ClInclude>
21
+ <ClInclude Include="targetver.h">
22
+ <Filter>头文件</Filter>
23
+ </ClInclude>
24
+ <ClInclude Include="vnctptd.h">
25
+ <Filter>头文件</Filter>
26
+ </ClInclude>
27
+ <ClInclude Include="..\..\include\ctp\ThostFtdcUserApiStruct.h">
28
+ <Filter>头文件</Filter>
29
+ </ClInclude>
30
+ <ClInclude Include="..\..\include\ctp\ThostFtdcMdApi.h">
31
+ <Filter>头文件</Filter>
32
+ </ClInclude>
33
+ <ClInclude Include="..\..\include\ctp\ThostFtdcTraderApi.h">
34
+ <Filter>头文件</Filter>
35
+ </ClInclude>
36
+ <ClInclude Include="..\..\include\ctp\ThostFtdcUserApiDataType.h">
37
+ <Filter>头文件</Filter>
38
+ </ClInclude>
39
+ <ClInclude Include="..\vnctp.h">
40
+ <Filter>头文件</Filter>
41
+ </ClInclude>
42
+ </ItemGroup>
43
+ <ItemGroup>
44
+ <ClCompile Include="stdafx.cpp">
45
+ <Filter>源文件</Filter>
46
+ </ClCompile>
47
+ <ClCompile Include="vnctptd.cpp">
48
+ <Filter>源文件</Filter>
49
+ </ClCompile>
50
+ <ClCompile Include="dllmain.cpp">
51
+ <Filter>源文件</Filter>
52
+ </ClCompile>
53
+ </ItemGroup>
54
+ </Project>
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <PropertyGroup />
4
+ </Project>
@@ -0,0 +1,3 @@
1
+ from ctpbee_api.ctp_mini.vnctp_minimd import MdApi as MiniMdApi
2
+ from ctpbee_api.ctp_mini.vnctp_minitd import TdApi as MiniTdApi
3
+ from .mini_constant import *
@@ -0,0 +1,343 @@
1
+ """"""
2
+ import importlib
3
+
4
+
5
+ class ApiGenerator:
6
+ """API生成器"""""
7
+
8
+ def __init__(self, filename: str, prefix: str, name: str, class_name: str):
9
+ """Constructor"""
10
+ self.filename = filename
11
+ self.prefix = prefix
12
+ self.name = name
13
+ self.class_name = class_name
14
+
15
+ self.callbacks = {}
16
+ self.functions = {}
17
+ self.lines = {}
18
+
19
+ self.structs = {}
20
+ self.load_struct()
21
+
22
+ def load_struct(self):
23
+ """加载Struct"""
24
+ module_name = f"{self.prefix}_struct"
25
+ module = importlib.import_module(module_name)
26
+
27
+ for name in dir(module):
28
+ if "__" not in name:
29
+ self.structs[name] = getattr(module, name)
30
+
31
+ def run(self):
32
+ """运行生成"""
33
+ self.f_cpp = open(self.filename, "r")
34
+
35
+ for line in self.f_cpp:
36
+ self.process_line(line)
37
+
38
+ self.f_cpp.close()
39
+
40
+ self.generate_header_define()
41
+ self.generate_header_process()
42
+ self.generate_header_on()
43
+ self.generate_header_function()
44
+
45
+ self.generate_source_task()
46
+ self.generate_source_switch()
47
+ self.generate_source_process()
48
+ self.generate_source_function()
49
+ self.generate_source_on()
50
+ self.generate_source_module()
51
+
52
+ print("API生成成功")
53
+
54
+ def process_line(self, line: str):
55
+ """处理每行"""
56
+ line = line.replace(";", "")
57
+ line = line.replace("\n", "")
58
+ line = line.replace("\t", "")
59
+ line = line.replace("{}", "")
60
+
61
+ if "virtual void On" in line:
62
+ self.process_callback(line)
63
+ elif "virtual int Req" in line:
64
+ self.process_function(line)
65
+
66
+ def process_callback(self, line: str):
67
+ """处理回掉函数"""
68
+ name = line[line.index("On"):line.index("(")]
69
+ self.lines[name] = line
70
+
71
+ d = self.generate_arg_dict(line)
72
+ self.callbacks[name] = d
73
+
74
+ def process_function(self, line: str):
75
+ """处理主动函数"""
76
+ name = line[line.index("Req"):line.index("(")]
77
+
78
+ d = self.generate_arg_dict(line)
79
+ self.functions[name] = d
80
+
81
+ def generate_arg_dict(self, line: str):
82
+ """生成参数字典"""
83
+ args_str = line[line.index("(") + 1:line.index(")")]
84
+ if not args_str:
85
+ return {}
86
+ args = args_str.split(",")
87
+
88
+ d = {}
89
+ for arg in args:
90
+ words = arg.split(" ")
91
+ words = [word for word in words if word]
92
+ d[words[1].replace("*", "")] = words[0]
93
+ return d
94
+
95
+ def generate_header_define(self):
96
+ """"""
97
+ filename = f"{self.prefix}_{self.name}_header_define.h"
98
+ with open(filename, "w") as f:
99
+ for n, name in enumerate(self.callbacks.keys()):
100
+ line = f"#define {name.upper()} {n}\n"
101
+ f.write(line)
102
+
103
+ def generate_header_process(self):
104
+ """"""
105
+ filename = f"{self.prefix}_{self.name}_header_process.h"
106
+ with open(filename, "w") as f:
107
+ for name in self.callbacks.keys():
108
+ name = name.replace("On", "process")
109
+ line = f"void {name}(Task *task);\n\n"
110
+ f.write(line)
111
+
112
+ def generate_header_on(self):
113
+ """"""
114
+ filename = f"{self.prefix}_{self.name}_header_on.h"
115
+ with open(filename, "w") as f:
116
+ for name, d in self.callbacks.items():
117
+ name = name.replace("On", "on")
118
+
119
+ args_list = []
120
+ for type_ in d.values():
121
+ if type_ == "int":
122
+ args_list.append("int reqid")
123
+ elif type_ == "bool":
124
+ args_list.append("bool last")
125
+ elif type_ == "CThostFtdcRspInfoField":
126
+ args_list.append("const dict &error")
127
+ else:
128
+ args_list.append("const dict &data")
129
+
130
+ args_str = ", ".join(args_list)
131
+ line = f"virtual void {name}({args_str}) {{}};\n\n"
132
+
133
+ f.write(line)
134
+
135
+ def generate_header_function(self):
136
+ """"""
137
+ filename = f"{self.prefix}_{self.name}_header_function.h"
138
+ with open(filename, "w") as f:
139
+ for name in self.functions.keys():
140
+ name = name.replace("Req", "req")
141
+ line = f"int {name}(const dict &req, int reqid);\n\n"
142
+ f.write(line)
143
+
144
+ def generate_source_task(self):
145
+ """"""
146
+ filename = f"{self.prefix}_{self.name}_source_task.cpp"
147
+ with open(filename, "w") as f:
148
+ for name, d in self.callbacks.items():
149
+ line = self.lines[name]
150
+
151
+ f.write(line.replace("virtual void ",
152
+ f"void {self.class_name}::") + "\n")
153
+ f.write("{\n")
154
+ f.write("\tTask task = Task();\n")
155
+ f.write(f"\ttask.task_name = {name.upper()};\n")
156
+
157
+ for field, type_ in d.items():
158
+ if type_ == "int":
159
+ f.write(f"\ttask.task_id = {field};\n")
160
+ elif type_ == "bool":
161
+ f.write(f"\ttask.task_last = {field};\n")
162
+ elif type_ == "CThostFtdcRspInfoField":
163
+ f.write(f"\tif ({field})\n")
164
+ f.write("\t{\n")
165
+ f.write(f"\t\t{type_} *task_error = new {type_}();\n")
166
+ f.write(f"\t\t*task_error = *{field};\n")
167
+ f.write(f"\t\ttask.task_error = task_error;\n")
168
+ f.write("\t}\n")
169
+ else:
170
+ f.write(f"\tif ({field})\n")
171
+ f.write("\t{\n")
172
+ f.write(f"\t\t{type_} *task_data = new {type_}();\n")
173
+ f.write(f"\t\t*task_data = *{field};\n")
174
+ f.write(f"\t\ttask.task_data = task_data;\n")
175
+ f.write("\t}\n")
176
+
177
+ f.write(f"\tthis->task_queue.push(task);\n")
178
+ f.write("};\n\n")
179
+
180
+ def generate_source_switch(self):
181
+ """"""
182
+ filename = f"{self.prefix}_{self.name}_source_switch.cpp"
183
+ with open(filename, "w") as f:
184
+ for name in self.callbacks.keys():
185
+ process_name = name.replace("On", "process")
186
+ f.write(f"case {name.upper()}:\n")
187
+ f.write("{\n")
188
+ f.write(f"\tthis->{process_name}(&task);\n")
189
+ f.write(f"\tbreak;\n")
190
+ f.write("}\n\n")
191
+
192
+ def generate_source_process(self):
193
+ """"""
194
+ filename = f"{self.prefix}_{self.name}_source_process.cpp"
195
+ with open(filename, "w") as f:
196
+ for name, d in self.callbacks.items():
197
+ process_name = name.replace("On", "process")
198
+ on_name = name.replace("On", "on")
199
+
200
+ f.write(
201
+ f"void {self.class_name}::{process_name}(Task *task)\n")
202
+ f.write("{\n")
203
+ f.write("\tgil_scoped_acquire acquire;\n")
204
+
205
+ args = []
206
+
207
+ for field, type_ in d.items():
208
+ if type_ == "int":
209
+ args.append("task->task_id")
210
+ elif type_ == "bool":
211
+ args.append("task->task_last")
212
+ elif type_ == "CThostFtdcRspInfoField":
213
+ args.append("error")
214
+
215
+ f.write("\tdict error;\n")
216
+ f.write("\tif (task->task_error)\n")
217
+ f.write("\t{\n")
218
+ f.write(
219
+ f"\t\t{type_} *task_error = ({type_}*)task->task_error;\n")
220
+
221
+ struct_fields = self.structs[type_]
222
+ for struct_field, struct_type in struct_fields.items():
223
+ if struct_type == "string":
224
+ f.write(
225
+ f"\t\terror[\"{struct_field}\"] = toUtf(task_error->{struct_field});\n")
226
+ else:
227
+ f.write(
228
+ f"\t\terror[\"{struct_field}\"] = task_error->{struct_field};\n")
229
+
230
+ f.write("\t\tdelete task_error;\n")
231
+ f.write("\t}\n")
232
+ else:
233
+ args.append("data")
234
+
235
+ f.write("\tdict data;\n")
236
+ f.write("\tif (task->task_data)\n")
237
+ f.write("\t{\n")
238
+ f.write(
239
+ f"\t\t{type_} *task_data = ({type_}*)task->task_data;\n")
240
+
241
+ struct_fields = self.structs[type_]
242
+ for struct_field, struct_type in struct_fields.items():
243
+ if struct_type == "string":
244
+ f.write(
245
+ f"\t\tdata[\"{struct_field}\"] = toUtf(task_data->{struct_field});\n")
246
+ else:
247
+ f.write(
248
+ f"\t\tdata[\"{struct_field}\"] = task_data->{struct_field};\n")
249
+
250
+ f.write("\t\tdelete task_data;\n")
251
+ f.write("\t}\n")
252
+
253
+ args_str = ", ".join(args)
254
+ f.write(f"\tthis->{on_name}({args_str});\n")
255
+ f.write("};\n\n")
256
+
257
+ def generate_source_function(self):
258
+ """"""
259
+ filename = f"{self.prefix}_{self.name}_source_function.cpp"
260
+ with open(filename, "w") as f:
261
+ for name, d in self.functions.items():
262
+ req_name = name.replace("Req", "req")
263
+ type_ = list(d.values())[0]
264
+
265
+ f.write(
266
+ f"int {self.class_name}::{req_name}(const dict &req, int reqid)\n")
267
+ f.write("{\n")
268
+ f.write(f"\t{type_} myreq = {type_}();\n")
269
+ f.write("\tmemset(&myreq, 0, sizeof(myreq));\n")
270
+
271
+ struct_fields = self.structs[type_]
272
+ for struct_field, struct_type in struct_fields.items():
273
+ if struct_type == "string":
274
+ line = f"\tgetString(req, \"{struct_field}\", myreq.{struct_field});\n"
275
+ else:
276
+ line = f"\tget{struct_type.capitalize()}(req, \"{struct_field}\", &myreq.{struct_field});\n"
277
+ f.write(line)
278
+
279
+ f.write(f"\tint i = this->api->{name}(&myreq, reqid);\n")
280
+ f.write("\treturn i;\n")
281
+ f.write("};\n\n")
282
+
283
+ def generate_source_on(self):
284
+ """"""
285
+ filename = f"{self.prefix}_{self.name}_source_on.cpp"
286
+ with open(filename, "w") as f:
287
+ for name, d in self.callbacks.items():
288
+ on_name = name.replace("On", "on")
289
+
290
+ args = []
291
+ bind_args = ["void", self.class_name, on_name]
292
+ for field, type_ in d.items():
293
+ if type_ == "int":
294
+ args.append("int reqid")
295
+ bind_args.append("reqid")
296
+ elif type_ == "bool":
297
+ args.append("bool last")
298
+ bind_args.append("last")
299
+ elif type_ == "CThostFtdcRspInfoField":
300
+ args.append("const dict &error")
301
+ bind_args.append("error")
302
+ else:
303
+ args.append("const dict &data")
304
+ bind_args.append("data")
305
+
306
+ args_str = ", ".join(args)
307
+ bind_args_str = ", ".join(bind_args)
308
+
309
+ f.write(f"void {on_name}({args_str}) override\n")
310
+ f.write("{\n")
311
+ f.write("\ttry\n")
312
+ f.write("\t{\n")
313
+ f.write(f"\t\tPYBIND11_OVERLOAD({bind_args_str});\n")
314
+ f.write("\t}\n")
315
+ f.write("\tcatch (const error_already_set &e)\n")
316
+ f.write("\t{\n")
317
+ f.write(f"\t\tcout << e.what() << endl;\n")
318
+ f.write("\t}\n")
319
+ f.write("};\n\n")
320
+
321
+ def generate_source_module(self):
322
+ """"""
323
+ filename = f"{self.prefix}_{self.name}_source_module.cpp"
324
+ with open(filename, "w") as f:
325
+ for name in self.functions.keys():
326
+ name = name.replace("Req", "req")
327
+ f.write(f".def(\"{name}\", &{self.class_name}::{name})\n")
328
+
329
+ f.write("\n")
330
+
331
+ for name in self.callbacks.keys():
332
+ name = name.replace("On", "on")
333
+ f.write(f".def(\"{name}\", &{self.class_name}::{name})\n")
334
+
335
+ f.write(";\n")
336
+
337
+
338
+ if __name__ == "__main__":
339
+ md_generator = ApiGenerator("../include/mini/ThostFtdcMdApi.h", "mini", "md", "MdApi")
340
+ md_generator.run()
341
+
342
+ td_generator = ApiGenerator("../include/mini/ThostFtdcTraderApi.h", "mini", "td", "TdApi")
343
+ td_generator.run()