diff --git a/vnpy/api/oes/include/autocxxpy/autocxxpy.hpp b/vnpy/api/oes/include/autocxxpy/autocxxpy.hpp index 2e825b7b..9ef74833 100644 --- a/vnpy/api/oes/include/autocxxpy/autocxxpy.hpp +++ b/vnpy/api/oes/include/autocxxpy/autocxxpy.hpp @@ -1,6 +1,7 @@ #pragma once +#include "brigand.hpp" #include "dispatcher.hpp" #include "property_helper.hpp" #include "calling_wrapper.hpp" diff --git a/vnpy/api/oes/include/autocxxpy/base/type.h b/vnpy/api/oes/include/autocxxpy/base/type.h new file mode 100644 index 00000000..371b4cd2 --- /dev/null +++ b/vnpy/api/oes/include/autocxxpy/base/type.h @@ -0,0 +1,12 @@ +#pragma once + +namespace autocxxpy +{ + template + using literal_array = element[size]; + + + // specialization for char[] + template + using string_literal = literal_array; +} \ No newline at end of file diff --git a/vnpy/api/oes/include/autocxxpy/brigand.hpp b/vnpy/api/oes/include/autocxxpy/brigand.hpp new file mode 100644 index 00000000..1005172c --- /dev/null +++ b/vnpy/api/oes/include/autocxxpy/brigand.hpp @@ -0,0 +1,6 @@ +#pragma once + +#ifndef BRIGAND_NO_BOOST_SUPPORT +#define BRIGAND_NO_BOOST_SUPPORT +#endif +#include diff --git a/vnpy/api/oes/include/autocxxpy/callback_wrapper.hpp b/vnpy/api/oes/include/autocxxpy/callback_wrapper.hpp index d2a65e57..b66d421b 100644 --- a/vnpy/api/oes/include/autocxxpy/callback_wrapper.hpp +++ b/vnpy/api/oes/include/autocxxpy/callback_wrapper.hpp @@ -3,7 +3,7 @@ #include #include -#include +#include "brigand.hpp" #include "utils/functional.hpp" #include "dispatcher.hpp" @@ -71,30 +71,46 @@ namespace autocxxpy struct pybind11_static_caster { static pybind11::detail::overload_caster_t caster; }; + + template + AUTOCXXPY_SELECT_ANY pybind11::detail::overload_caster_t pybind11_static_caster::caster; + #endif namespace arg_helper { + // # todo: char8, char16, char32, wchar_t, etc... + // # todo: shall i copy only const type, treating non-const type as output pointer? + inline std::string save(const char *val) + { // match const char * + return val; + } + inline std::string save(char *val) + { // match char * + return val; + } + template - inline T &deref(T *val) + inline T &save(T *val) { // match pointer return *val; } + template - inline T &deref(const T *val) + inline T &save(const T *val) { // match const pointer return const_cast(*val); } template - inline T &deref(const T &val) + inline T &save(const T &val) { // match everything else : just use original type return const_cast(val); } template - struct resolver + struct loader { // match default(everyting besides pointer) template inline to_type operator ()(src_type &val) @@ -103,8 +119,18 @@ namespace autocxxpy } }; + template <> + struct loader + { // match char * + using to_type = char *; + inline to_type operator ()(const std::string &val) + { + return const_cast(val.data()); + } + }; + template - struct resolver + struct loader { // match pointer template inline to_type *operator ()(src_type &val) @@ -112,11 +138,11 @@ namespace autocxxpy return const_cast(&val); } - template - inline to_type *operator ()(src_type *val) - { // pointer to pointer - return val; - } + //template + //inline to_type *operator ()(src_type *val) + //{ // pointer to pointer + // return val; + //} }; }; @@ -175,7 +201,7 @@ namespace autocxxpy { // wrap for ctp like function calls: // all the pointer might be unavailable after this call, so copy its value into a tuple - auto arg_tuple = std::make_tuple(arg_helper::deref(args) ...); + auto arg_tuple = std::make_tuple(arg_helper::save(args) ...); auto task = [instance, py_func_name, arg_tuple = std::move(arg_tuple)]() { // resolve all value: @@ -183,7 +209,7 @@ namespace autocxxpy // if it was originally a value, just keep a reference to that value. sync( instance, py_func_name, - arg_helper::resolver, brigand::integral_constant > >{} + arg_helper::loader, brigand::integral_constant > >{} (std::get(arg_tuple)) ... ); }; diff --git a/vnpy/api/oes/include/autocxxpy/calling_wrapper.hpp b/vnpy/api/oes/include/autocxxpy/calling_wrapper.hpp index e559d878..60fcb8a9 100644 --- a/vnpy/api/oes/include/autocxxpy/calling_wrapper.hpp +++ b/vnpy/api/oes/include/autocxxpy/calling_wrapper.hpp @@ -2,10 +2,11 @@ #include "utils/functional.hpp" #include "dispatcher.hpp" -#include +#include "brigand.hpp" #include "wrappers/cfunction.h" #include "wrappers/no_gil.hpp" +#include "wrappers/string_array.h" namespace autocxxpy { @@ -39,7 +40,8 @@ namespace autocxxpy }; using trans_list = brigand::list < - transform_holder + transform_holder, + transform_holder //, transform_holder // no gil transform should be the last one >; diff --git a/vnpy/api/oes/include/autocxxpy/config/config.hpp b/vnpy/api/oes/include/autocxxpy/config/config.hpp index ab620cfb..79301824 100644 --- a/vnpy/api/oes/include/autocxxpy/config/config.hpp +++ b/vnpy/api/oes/include/autocxxpy/config/config.hpp @@ -9,4 +9,11 @@ #ifndef AUTOCXXPY_UNUSED #define AUTOCXXPY_UNUSED(x) (void)(x) +#endif + +#ifdef _MSC_VER +#define AUTOCXXPY_SELECT_ANY __declspec(selectany) + +#else +#define AUTOCXXPY_SELECT_ANY __attribute__ ((selectany)) #endif \ No newline at end of file diff --git a/vnpy/api/oes/include/autocxxpy/property_helper.hpp b/vnpy/api/oes/include/autocxxpy/property_helper.hpp index 245158e5..00773161 100644 --- a/vnpy/api/oes/include/autocxxpy/property_helper.hpp +++ b/vnpy/api/oes/include/autocxxpy/property_helper.hpp @@ -1,15 +1,41 @@ #pragma once #include +#include +#include #include #include #include #include "config/config.hpp" +#include "base/type.h" namespace autocxxpy { - template + template + struct get_string + { + auto &operator()(string_literal &val) + { + return val; + } + }; + + template + struct set_string + { + void operator()(string_literal &val, const char *str) + { +#ifdef _MSC_VER + strcpy_s(val, str); +#else + strcpy(val, str); +#endif + } + }; + + + template inline constexpr auto default_getter_wrap(value_type class_type::*member) { // match normal case return [member](const class_type &instance)->const value_type & { @@ -17,7 +43,7 @@ namespace autocxxpy }; } - template + template inline constexpr auto default_setter_wrap(value_type class_type::*member) { // match normal case return [member](class_type &instance, const value_type &value) { @@ -26,26 +52,28 @@ namespace autocxxpy } // specialization for const setter - template + template inline constexpr auto default_setter_wrap(const value_type class_type::*member) { // match const return nullptr; } // specialization for any [] - template - using array_literal = element_t[size]; - - template - inline constexpr auto default_getter_wrap(array_literal class_type::*member) + template + inline constexpr auto default_getter_wrap(literal_array class_type::*member) { // match get any [] return [member](const class_type &instance) { - return std::vector(instance.*member, instance.*member + size); + auto es = std::vector(size); + for (size_t i = 0; i < size ; i++) + { + es[i] = instance.*member + i; + } + return std::move(es); }; } - template - inline constexpr auto default_setter_wrap(array_literal class_type::*member) + template + inline constexpr auto default_setter_wrap(literal_array class_type::*member) { // match set any [] return [member](class_type &instance, const std::vector &value) { if (value.size() >= size) @@ -61,8 +89,8 @@ namespace autocxxpy } // specialization for any *[] - template - inline constexpr auto default_getter_wrap(array_literal class_type::*member) + template + inline constexpr auto default_getter_wrap(literal_array class_type::*member) { // match get (any *)[] return [member](const class_type &instance) { std::vector arr; @@ -75,42 +103,35 @@ namespace autocxxpy } // specialization for char[] - template - using string_literal = array_literal; - - template + template inline constexpr auto default_getter_wrap(string_literal class_type::*member) { // match get char [] return [member](const class_type &instance) { - return instance.*member; + return get_string{}(instance.*member); }; } - template + template inline constexpr auto default_setter_wrap(string_literal class_type::*member) { // match set char [] return [member](class_type &instance, const std::string_view &value) { -#ifdef _MSC_VER - strcpy_s(instance.*member, value.data()); -#else - strcpy(instance.*member, value.data()); -#endif + return set_string{}(instance.*member, value.data()); }; } template struct getter_wrap { - using value_type = decltype(default_getter_wrap(MemberConstant::value)); - static constexpr value_type value = default_getter_wrap(MemberConstant::value); + using value_type = decltype(default_getter_wrap(MemberConstant::value)); + static constexpr value_type value = default_getter_wrap(MemberConstant::value); }; template struct setter_wrap { - using value_type = decltype(default_setter_wrap(MemberConstant::value)); - static constexpr value_type value = default_setter_wrap(MemberConstant::value); + using value_type = decltype(default_setter_wrap(MemberConstant::value)); + static constexpr value_type value = default_setter_wrap(MemberConstant::value); }; } #define AUTOCXXPY_DEF_PROPERTY(cls, name, member) \ diff --git a/vnpy/api/oes/include/autocxxpy/wrappers/cfunction.h b/vnpy/api/oes/include/autocxxpy/wrappers/cfunction.h index 737d9bfe..69dd645e 100644 --- a/vnpy/api/oes/include/autocxxpy/wrappers/cfunction.h +++ b/vnpy/api/oes/include/autocxxpy/wrappers/cfunction.h @@ -1,7 +1,8 @@ #pragma once #include -#include + +#include "../brigand.hpp" namespace autocxxpy { diff --git a/vnpy/api/oes/include/autocxxpy/wrappers/no_gil.hpp b/vnpy/api/oes/include/autocxxpy/wrappers/no_gil.hpp index cb76ee5f..ed50a1ea 100644 --- a/vnpy/api/oes/include/autocxxpy/wrappers/no_gil.hpp +++ b/vnpy/api/oes/include/autocxxpy/wrappers/no_gil.hpp @@ -1,7 +1,7 @@ #pragma once #include -#include +#include "../brigand.hpp" namespace autocxxpy { diff --git a/vnpy/api/oes/include/autocxxpy/wrappers/string_array.h b/vnpy/api/oes/include/autocxxpy/wrappers/string_array.h new file mode 100644 index 00000000..434deae7 --- /dev/null +++ b/vnpy/api/oes/include/autocxxpy/wrappers/string_array.h @@ -0,0 +1,123 @@ +#pragma once + +#include "../base/type.h" + +#include +#include "../brigand.hpp" + +#ifdef AUTOCXXPY_INCLUDED_PYBIND11 +#include +#endif +#include + +#include + +namespace autocxxpy +{ + template + using string_array = literal_array; + template + using const_string_array = literal_array; + + template + struct is_string_array : std::false_type {}; + + template <> + struct is_string_array :std::true_type {}; + + template <> + struct is_string_array :std::true_type {}; + + template + struct is_string_array> :std::true_type {}; + + template + struct is_string_array> :std::true_type {}; + + template + inline constexpr auto _wrap_string_array_impl(brigand::list, brigand::list) + { + return [](Ls ...ls, std::vector &vals, Rs ... rs) + { + constexpr auto method = MethodConstant::value; + namespace ct = boost::callable_traits; + using func_t = typename ct::function_type_t; + + std::vector arr; + arr.reserve(vals.size()); + for (auto &s : vals) + { + arr.push_back(const_cast(s.data())); + } + return std::function(method)( + ls..., + &arr[0], + (size_type)vals.size(), + rs... + ); + }; + } + + + template + inline constexpr auto _wrap_string_array_nocheck() + { + using namespace brigand; + namespace ct = boost::callable_traits; + + using target_t = front; + using size_type = front>; + if constexpr (std::is_integral_v) + { + constexpr int target_idx = index_of::value; + + using ls = front>>; + using rs = pop_front>; + + return _wrap_string_array_impl (ls{}, rs{}); + } + else + { + constexpr auto method = MethodConstant::value; + return method; + } + } + + template + inline constexpr auto wrap_string_array() + { + using namespace brigand; + namespace ct = boost::callable_traits; + + constexpr auto method = MethodConstant::value; + using func_t = ct::function_type_t; + using args_t = wrap, list>; + + constexpr bool has_string_array_pointer = found>::value; + if constexpr (has_string_array_pointer) + { + using args_from_cfp = find>; + constexpr int nargs_left = size::value; + if constexpr (nargs_left >= 2) + { + return _wrap_string_array_nocheck(); + } + else + { + return method; + } + } + else + { + return method; + } + } + + template + struct string_array_transform + { + using type = string_array_transform; + using value_type = decltype(wrap_string_array()); + static constexpr value_type value = wrap_string_array(); + }; +} diff --git a/vnpy/api/oes/vnoes.pyd b/vnpy/api/oes/vnoes.pyd index 0521bd71..15e9e834 100644 Binary files a/vnpy/api/oes/vnoes.pyd and b/vnpy/api/oes/vnoes.pyd differ diff --git a/vnpy/api/oes/vnoes.pyi b/vnpy/api/oes/vnoes.pyi index 4a076bb2..6134b2d2 100644 --- a/vnpy/api/oes/vnoes.pyi +++ b/vnpy/api/oes/vnoes.pyi @@ -4,31 +4,6 @@ from typing import * from enum import Enum -class _spk_struct_timespec: - tv_sec: int - tv_nsec: int - ... - -class _spk_struct_timezone: - tz_minuteswest: int - tz_dsttime: int - ... - -class _spk_struct_iovec: - iov_base: Any - iov_len: int - ... - -class STimeval32T: - tv_sec: int - tv_usec: int - ... - -class STimeval64T: - tv_sec: int - tv_usec: int - ... - class OesOrdReqT: clSeqNo: int mktId: int @@ -41,8 +16,10 @@ class OesOrdReqT: ordPrice: int origClOrdId: int userInfo: int - __ordReqOrigSendTime: STimeval32T + __ordReqOrigSendTime: STimeval32T # unknown what to wrap in py ... +_OesOrdReq = OesOrdReqT + class OesOrdCancelReqT: clSeqNo: int @@ -55,8 +32,10 @@ class OesOrdCancelReqT: __ORD_CANCEL_BASE_INFO_filler2: Sequence[int] origClOrdId: int userInfo: int - __ordReqOrigSendTime: STimeval32T + __ordReqOrigSendTime: STimeval32T # unknown what to wrap in py ... +_OesOrdCancelReq = OesOrdCancelReqT + class OesOrdRejectT: clSeqNo: int @@ -70,7 +49,7 @@ class OesOrdRejectT: ordPrice: int origClOrdId: int userInfo: int - __ordReqOrigSendTime: STimeval32T + __ordReqOrigSendTime: STimeval32T # unknown what to wrap in py origClSeqNo: int origClEnvId: int clEnvId: int @@ -80,6 +59,8 @@ class OesOrdRejectT: ordRejReason: int __filler: int ... +_OesOrdReject = OesOrdRejectT + class OesOrdCnfmT: clSeqNo: int @@ -93,7 +74,7 @@ class OesOrdCnfmT: ordPrice: int origClOrdId: int userInfo: int - __ordReqOrigSendTime: STimeval32T + __ordReqOrigSendTime: STimeval32T # unknown what to wrap in py clOrdId: int clientId: int clEnvId: int @@ -125,18 +106,21 @@ class OesOrdCnfmT: branchId: int __rowNum: int __recNum: int - __ordReqOrigRecvTime: STimeval32T - __ordReqCollectedTime: STimeval32T - __ordReqActualDealTime: STimeval32T - __ordReqProcessedTime: STimeval32T - __ordCnfmOrigRecvTime: STimeval32T - __ordCnfmCollectedTime: STimeval32T - __ordCnfmActualDealTime: STimeval32T - __ordCnfmProcessedTime: STimeval32T - __ordDeclareTime: STimeval32T - __ordDeclareDoneTime: STimeval32T - __pushingTime: STimeval32T + __ordReqOrigRecvTime: STimeval32T # unknown what to wrap in py + __ordReqCollectedTime: STimeval32T # unknown what to wrap in py + __ordReqActualDealTime: STimeval32T # unknown what to wrap in py + __ordReqProcessedTime: STimeval32T # unknown what to wrap in py + __ordCnfmOrigRecvTime: STimeval32T # unknown what to wrap in py + __ordCnfmCollectedTime: STimeval32T # unknown what to wrap in py + __ordCnfmActualDealTime: STimeval32T # unknown what to wrap in py + __ordCnfmProcessedTime: STimeval32T # unknown what to wrap in py + __ordDeclareTime: STimeval32T # unknown what to wrap in py + __ordDeclareDoneTime: STimeval32T # unknown what to wrap in py + __pushingTime: STimeval32T # unknown what to wrap in py ... +_OesOrdCnfm = OesOrdCnfmT +OesOrdItemT = OesOrdCnfmT + class OesTrdBaseInfoT: exchTrdNum: int @@ -161,6 +145,8 @@ class OesTrdBaseInfoT: pbuId: int branchId: int ... +_OesTrdBaseInfo = OesTrdBaseInfoT + class OesTrdCnfmT: exchTrdNum: int @@ -197,12 +183,15 @@ class OesTrdCnfmT: cumInterest: int cumFee: int userInfo: int - __trdCnfmOrigRecvTime: STimeval32T - __trdCnfmCollectedTime: STimeval32T - __trdCnfmActualDealTime: STimeval32T - __trdCnfmProcessedTime: STimeval32T - __pushingTime: STimeval32T + __trdCnfmOrigRecvTime: STimeval32T # unknown what to wrap in py + __trdCnfmCollectedTime: STimeval32T # unknown what to wrap in py + __trdCnfmActualDealTime: STimeval32T # unknown what to wrap in py + __trdCnfmProcessedTime: STimeval32T # unknown what to wrap in py + __pushingTime: STimeval32T # unknown what to wrap in py ... +OesTrdItemT = OesTrdCnfmT +_OesTrdCnfm = OesTrdCnfmT + class OesLotWinningBaseInfoT: invAcctId: str @@ -218,6 +207,9 @@ class OesLotWinningBaseInfoT: lotPrice: int lotAmt: int ... +_OesLotWinningBaseInfo = OesLotWinningBaseInfoT +OesLotWinningItemT = OesLotWinningBaseInfoT + class OesFundTrsfBaseInfoT: clSeqNo: int @@ -230,6 +222,8 @@ class OesFundTrsfBaseInfoT: occurAmt: int userInfo: int ... +_OesFundTrsfBaseInfo = OesFundTrsfBaseInfoT + class OesFundTrsfReqT: clSeqNo: int @@ -242,6 +236,8 @@ class OesFundTrsfReqT: occurAmt: int userInfo: int ... +_OesFundTrsfReq = OesFundTrsfReqT + class OesFundTrsfRejectT: clSeqNo: int @@ -261,6 +257,8 @@ class OesFundTrsfRejectT: rejReason: int errorInfo: str ... +_OesFundTrsfReject = OesFundTrsfRejectT + class OesFundTrsfReportT: clSeqNo: int @@ -286,6 +284,9 @@ class OesFundTrsfReportT: allotSerialNo: str errorInfo: str ... +_OesFundTrsfReport = OesFundTrsfReportT +OesFundTransferSerialItemT = OesFundTrsfReportT + class OesIssueBaseInfoT: securityId: str @@ -307,11 +308,16 @@ class OesIssueBaseInfoT: ceilPrice: int floorPrice: int ... +_OesIssueBaseInfo = OesIssueBaseInfoT +OesIssueItemT = OesIssueBaseInfoT + class OesPriceLimitT: ceilPrice: int floorPrice: int ... +_OesPriceLimit = OesPriceLimitT + class OesStockBaseInfoT: securityId: str @@ -342,6 +348,9 @@ class OesStockBaseInfoT: securityName: str fundId: str ... +OesStockItemT = OesStockBaseInfoT +_OesStockBaseInfo = OesStockBaseInfoT + class OesEtfBaseInfoT: fundId: str @@ -369,6 +378,9 @@ class OesEtfBaseInfoT: netCreationLimit: int netRedemLimit: int ... +_OesEtfBaseInfo = OesEtfBaseInfoT +OesEtfItemT = OesEtfBaseInfoT + class OesEtfComponentBaseInfoT: fundId: str @@ -383,6 +395,8 @@ class OesEtfComponentBaseInfoT: creationSubCash: int redemptionCashSub: int ... +_OesEtfComponentBaseInfo = OesEtfComponentBaseInfoT + class OesOptionBaseInfoT: securityId: str @@ -420,6 +434,9 @@ class OesOptionBaseInfoT: underlyingClosePrice: int securityName: str ... +_OesOptionBaseInfo = OesOptionBaseInfoT +OesOptionItemT = OesOptionBaseInfoT + class OesCashAssetBaseInfoT: cashAcctId: str @@ -446,6 +463,8 @@ class OesCashAssetBaseInfoT: marginAmt: int marginFrzAmt: int ... +_OesCashAssetBaseInfo = OesCashAssetBaseInfoT + class OesCustBaseInfoT: custId: str @@ -459,6 +478,9 @@ class OesCustBaseInfoT: branchId: int __CUST_BASE_filler2: int ... +_OesCustBaseInfo = OesCustBaseInfoT +OesCustItemT = OesCustBaseInfoT + class OesInvAcctBaseInfoT: invAcctId: str @@ -474,6 +496,8 @@ class OesInvAcctBaseInfoT: pbuId: int subscriptionQuota: int ... +_OesInvAcctBaseInfo = OesInvAcctBaseInfoT + class OesStkHoldingBaseInfoT: invAcctId: str @@ -501,6 +525,8 @@ class OesStkHoldingBaseInfoT: coveredFrzHld: int coveredHld: int ... +_OesStkHoldingBaseInfo = OesStkHoldingBaseInfoT + class OesOptHoldingBaseInfoT: invAcctId: str @@ -515,6 +541,8 @@ class OesOptHoldingBaseInfoT: hldRB: int hldRC: int ... +_OesOptHoldingBaseInfo = OesOptHoldingBaseInfoT + class OesMarketStateInfoT: exchId: int @@ -523,6 +551,9 @@ class OesMarketStateInfoT: mktState: int __filler: Sequence[int] ... +_OesMarketStateInfo = OesMarketStateInfoT +OesMarketStateItemT = OesMarketStateInfoT + class OesTradingPermissionEntryT: permissionNo: int @@ -533,6 +564,8 @@ class OesTradingPermissionEntryT: applicableMarkets: Sequence[int] permissionMemo: str ... +_OesTradingPermissionEntry = OesTradingPermissionEntryT + class OesInputSourceInfoT: sourceIp: str @@ -541,6 +574,8 @@ class OesInputSourceInfoT: __filler: Sequence[int] sourceDriverId: str ... +_OesInputSourceInfo = OesInputSourceInfoT + class SMsgHeadT: msgFlag: int @@ -549,6 +584,8 @@ class SMsgHeadT: detailStatus: int msgSize: int ... +_SMsgHead = SMsgHeadT + class OesQryCursorT: seqNo: int @@ -556,11 +593,15 @@ class OesQryCursorT: __filler: Sequence[int] userInfo: int ... +_OesQryCursor = OesQryCursorT + class OesQryReqHeadT: maxPageSize: int lastPosition: int ... +_OesQryReqHead = OesQryReqHeadT + class OesQryRspHeadT: itemCount: int @@ -569,6 +610,8 @@ class OesQryRspHeadT: __filler: Sequence[int] userInfo: int ... +_OesQryRspHead = OesQryRspHeadT + class OesQryOrdFilterT: custId: str @@ -585,16 +628,22 @@ class OesQryOrdFilterT: endTime: int userInfo: int ... +_OesQryOrdFilter = OesQryOrdFilterT + class OesQryOrdReqT: reqHead: OesQryReqHeadT qryFilter: OesQryOrdFilterT ... +_OesQryOrdReq = OesQryOrdReqT + class OesQryOrdRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesOrdCnfmT] ... +_OesQryOrdRsp = OesQryOrdRspT + class OesQryTrdFilterT: custId: str @@ -610,22 +659,30 @@ class OesQryTrdFilterT: endTime: int userInfo: int ... +_OesQryTrdFilter = OesQryTrdFilterT + class OesQryTrdReqT: reqHead: OesQryReqHeadT qryFilter: OesQryTrdFilterT ... +_OesQryTrdReq = OesQryTrdReqT + class OesQryTrdRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesTrdCnfmT] ... +_OesQryTrdRsp = OesQryTrdRspT + class OesQryCashAssetFilterT: custId: str cashAcctId: str userInfo: int ... +_OesQryCashAssetFilter = OesQryCashAssetFilterT + class OesCashAssetItemT: cashAcctId: str @@ -655,16 +712,22 @@ class OesCashAssetItemT: currentAvailableBal: int currentDrawableBal: int ... +_OesCashAssetItem = OesCashAssetItemT + class OesQryCashAssetReqT: reqHead: OesQryReqHeadT qryFilter: OesQryCashAssetFilterT ... +_OesQryCashAssetReq = OesQryCashAssetReqT + class OesQryCashAssetRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesCashAssetItemT] ... +_OesQryCashAssetRsp = OesQryCashAssetRspT + class OesCounterCashItemT: cashAcctId: str @@ -681,14 +744,20 @@ class OesCounterCashItemT: counterCashUpdateTime: int __reserve: Sequence[int] ... +_OesCounterCashItem = OesCounterCashItemT + class OesQryCounterCashReqT: cashAcctId: str ... +_OesQryCounterCashReq = OesQryCounterCashReqT + class OesQryCounterCashRspT: counterCashItem: OesCounterCashItemT ... +_OesQryCounterCashRsp = OesQryCounterCashRspT + class OesQryStkHoldingFilterT: custId: str @@ -699,6 +768,9 @@ class OesQryStkHoldingFilterT: __filler: Sequence[int] userInfo: int ... +_OesQryStkHoldingFilter = OesQryStkHoldingFilterT +OesQryOptHoldingFilterT = OesQryStkHoldingFilterT + class OesStkHoldingItemT: invAcctId: str @@ -732,16 +804,22 @@ class OesStkHoldingItemT: sumHld: int costPrice: int ... +_OesStkHoldingItem = OesStkHoldingItemT + class OesQryStkHoldingReqT: reqHead: OesQryReqHeadT qryFilter: OesQryStkHoldingFilterT ... +_OesQryStkHoldingReq = OesQryStkHoldingReqT + class OesQryStkHoldingRspT: qryHead: OesQryRspHeadT qryItems: Sequence[OesStkHoldingItemT] ... +_OesQryStkHoldingRsp = OesQryStkHoldingRspT + class OesOptHoldingItemT: invAcctId: str @@ -756,31 +834,43 @@ class OesOptHoldingItemT: hldRB: int hldRC: int ... +_OesOptHoldingItem = OesOptHoldingItemT + class OesQryOptHoldingReqT: reqHead: OesQryReqHeadT qryFilter: OesQryStkHoldingFilterT ... +_OesQryOptHoldingReq = OesQryOptHoldingReqT + class OesQryOptHoldingRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesOptHoldingItemT] ... +_OesQryHoldRsp = OesQryOptHoldingRspT + class OesQryCustFilterT: custId: str userInfo: int ... +_OesQryCustFilter = OesQryCustFilterT + class OesQryCustReqT: reqHead: OesQryReqHeadT qryFilter: OesQryCustFilterT ... +_OesQryCustReq = OesQryCustReqT + class OesQryCustRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesCustBaseInfoT] ... +_OesQryCustRsp = OesQryCustRspT + class OesQryInvAcctFilterT: custId: str @@ -789,6 +879,8 @@ class OesQryInvAcctFilterT: __filler: Sequence[int] userInfo: int ... +_OesQryInvAcctFilter = OesQryInvAcctFilterT + class OesInvAcctItemT: invAcctId: str @@ -805,16 +897,22 @@ class OesInvAcctItemT: subscriptionQuota: int custId: str ... +_OesInvAcctItem = OesInvAcctItemT + class OesQryInvAcctReqT: reqHead: OesQryReqHeadT qryFilter: OesQryInvAcctFilterT ... +_OesQryInvAcctReq = OesQryInvAcctReqT + class OesQryInvAcctRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesInvAcctItemT] ... +_OesQryInvAcctRsp = OesQryInvAcctRspT + class OesInvAcctOverviewT: invAcctId: str @@ -840,6 +938,8 @@ class OesInvAcctOverviewT: trdCnt: int __reserve: int ... +_OesInvAcctOverview = OesInvAcctOverviewT + class OesCashAcctOverviewT: cashAcctId: str @@ -853,6 +953,8 @@ class OesCashAcctOverviewT: __filler: Sequence[int] __reserve: int ... +_OesCashAcctOverview = OesCashAcctOverviewT + class OesCustOverviewT: custId: str @@ -875,6 +977,8 @@ class OesCustOverviewT: szOptionInvAcct: OesInvAcctOverviewT __reserve: int ... +_OesCustOverview = OesCustOverviewT + class OesClientOverviewT: clientId: int @@ -907,6 +1011,8 @@ class OesClientOverviewT: __filler4: int custItems: Sequence[OesCustOverviewT] ... +_OesClientOverview = OesClientOverviewT + class OesQryCommissionRateFilterT: custId: str @@ -916,6 +1022,8 @@ class OesQryCommissionRateFilterT: __filler: Sequence[int] userInfo: int ... +_OesQryCommissionRateFilter = OesQryCommissionRateFilterT + class OesCommissionRateItemT: custId: str @@ -932,16 +1040,22 @@ class OesCommissionRateItemT: minFee: int maxFee: int ... +_OesCommissionRateItem = OesCommissionRateItemT + class OesQryCommissionRateReqT: reqHead: OesQryReqHeadT qryFilter: OesQryCommissionRateFilterT ... +_OesQryCommissionRateReq = OesQryCommissionRateReqT + class OesQryCommissionRateRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesCommissionRateItemT] ... +_OesQryCommissionRateRsp = OesQryCommissionRateRspT + class OesQryFundTransferSerialFilterT: custId: str @@ -951,16 +1065,22 @@ class OesQryFundTransferSerialFilterT: __filler: Sequence[int] userInfo: int ... +_OesQryFundTransferSerialFilter = OesQryFundTransferSerialFilterT + class OesQryFundTransferSerialReqT: reqHead: OesQryReqHeadT qryFilter: OesQryFundTransferSerialFilterT ... +_OesQryFundTransferSerialReq = OesQryFundTransferSerialReqT + class OesQryFundTransferSerialRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesFundTrsfReportT] ... +_OesQryFundTransferSerialRsp = OesQryFundTransferSerialRspT + class OesQryLotWinningFilterT: custId: str @@ -972,16 +1092,22 @@ class OesQryLotWinningFilterT: endDate: int userInfo: int ... +_OesQryLotWinningFilter = OesQryLotWinningFilterT + class OesQryLotWinningReqT: reqHead: OesQryReqHeadT qryFilter: OesQryLotWinningFilterT ... +_OesQryLotWinningReq = OesQryLotWinningReqT + class OesQryLotWinningRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesLotWinningBaseInfoT] ... +_OesQryLotWinningRsp = OesQryLotWinningRspT + class OesQryIssueFilterT: securityId: str @@ -989,16 +1115,22 @@ class OesQryIssueFilterT: __filler: Sequence[int] userInfo: int ... +_OesQryIssueFilter = OesQryIssueFilterT + class OesQryIssueReqT: reqHead: OesQryReqHeadT qryFilter: OesQryIssueFilterT ... +_OesQryIssueReq = OesQryIssueReqT + class OesQryIssueRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesIssueBaseInfoT] ... +_OesQryIssueRsp = OesQryIssueRspT + class OesQryStockFilterT: securityId: str @@ -1008,16 +1140,22 @@ class OesQryStockFilterT: __filler: Sequence[int] userInfo: int ... +_OesQryStockFilter = OesQryStockFilterT + class OesQryStockReqT: reqHead: OesQryReqHeadT qryFilter: OesQryStockFilterT ... +_OesQryStockReq = OesQryStockReqT + class OesQryStockRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesStockBaseInfoT] ... +_OesQryStockRsp = OesQryStockRspT + class OesQryEtfFilterT: fundId: str @@ -1025,21 +1163,29 @@ class OesQryEtfFilterT: __filler: Sequence[int] userInfo: int ... +_OesQryEtfFilter = OesQryEtfFilterT + class OesQryEtfReqT: reqHead: OesQryReqHeadT qryFilter: OesQryEtfFilterT ... +_OesQryEtfReq = OesQryEtfReqT + class OesQryEtfRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesEtfBaseInfoT] ... +_OesQryEtfRsp = OesQryEtfRspT + class OesQryEtfComponentFilterT: fundId: str userInfo: int ... +_OesQryEtfComponentFilter = OesQryEtfComponentFilterT + class OesEtfComponentItemT: securityId: str @@ -1054,16 +1200,22 @@ class OesEtfComponentItemT: redemptionCashSub: int fundId: str ... +_OesEtfComponentItem = OesEtfComponentItemT + class OesQryEtfComponentReqT: reqHead: OesQryReqHeadT qryFilter: OesQryEtfComponentFilterT ... +_OesQryEtfComponentReq = OesQryEtfComponentReqT + class OesQryEtfComponentRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesEtfComponentItemT] ... +_OesQryEtfComponentRsp = OesQryEtfComponentRspT + class OesQryOptionFilterT: securityId: str @@ -1071,21 +1223,29 @@ class OesQryOptionFilterT: __filler: Sequence[int] userInfo: int ... +_OesQryOptionFilter = OesQryOptionFilterT + class OesQryOptionReqT: reqHead: OesQryReqHeadT qryFilter: OesQryOptionFilterT ... +_OesQryOptionReq = OesQryOptionReqT + class OesQryOptionRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesOptionBaseInfoT] ... +_OesQryOptionRsp = OesQryOptionRspT + class OesQryTradingDayRspT: tradingDay: int __filler: int ... +_OesQryTradingDayRsp = OesQryTradingDayRspT + class OesQryMarketStateFilterT: exchId: int @@ -1093,16 +1253,22 @@ class OesQryMarketStateFilterT: __filler: Sequence[int] userInfo: int ... +_OesQryMarketStateFilter = OesQryMarketStateFilterT + class OesQryMarketStateReqT: reqHead: OesQryReqHeadT qryFilter: OesQryMarketStateFilterT ... +_OesQryMarketStateReq = OesQryMarketStateReqT + class OesQryMarketStateRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesMarketStateInfoT] ... +_OesQryMarketStateRsp = OesQryMarketStateRspT + class OesQryReqMsgT: qryOrd: OesQryOrdReqT @@ -1123,6 +1289,8 @@ class OesQryReqMsgT: qryMktState: OesQryMarketStateReqT qryCounterCash: OesQryCounterCashReqT ... +_OesQryReqMsg = OesQryReqMsgT + class OesQryRspMsgT: ordRsp: OesQryOrdRspT @@ -1145,6 +1313,8 @@ class OesQryRspMsgT: clientOverview: OesClientOverviewT counterCashRsp: OesQryCounterCashRspT ... +_OesQryRspMsg = OesQryRspMsgT + class OesLogonReqT: encryptMethod: int @@ -1162,6 +1332,8 @@ class OesLogonReqT: lastOutMsgSeq: int clientDriverId: str ... +_OesLogonReq = OesLogonReqT + class OesLogonRspT: encryptMethod: int @@ -1180,6 +1352,8 @@ class OesLogonRspT: lastInMsgSeq: int lastOutMsgSeq: int ... +_OesLogonRsp = OesLogonRspT + class OesReportSynchronizationReqT: lastRptSeqNum: int @@ -1187,6 +1361,8 @@ class OesReportSynchronizationReqT: __filler: Sequence[int] subscribeRptTypes: int ... +_OesReportSynchronizationReq = OesReportSynchronizationReqT + class OesReportSynchronizationRspT: lastRptSeqNum: int @@ -1194,12 +1370,16 @@ class OesReportSynchronizationRspT: __filler: Sequence[int] subscribeRptTypes: int ... +_OesReportSynchronizationRsp = OesReportSynchronizationRspT + class OesTestRequestReqT: testReqId: str sendTime: str __filler: str ... +_OesTestRequestReq = OesTestRequestReqT + class OesTestRequestRspT: testReqId: str @@ -1207,10 +1387,12 @@ class OesTestRequestRspT: __filler1: str respTime: str __filler2: str - __recvTime: STimeval32T - __collectedTime: STimeval32T - __pushingTime: STimeval32T + __recvTime: STimeval32T # unknown what to wrap in py + __collectedTime: STimeval32T # unknown what to wrap in py + __pushingTime: STimeval32T # unknown what to wrap in py ... +_OesTestRequestRsp = OesTestRequestRspT + class OesChangePasswordReqT: encryptMethod: int @@ -1220,6 +1402,8 @@ class OesChangePasswordReqT: oldPassword: str newPassword: str ... +_OesChangePasswordReq = OesChangePasswordReqT + class OesChangePasswordRspT: encryptMethod: int @@ -1233,16 +1417,22 @@ class OesChangePasswordRspT: transTime: int rejReason: int ... +_OesChangePasswordRsp = OesChangePasswordRspT + class OesBatchOrdersHeadT: itemCount: int __filler: int ... +_OesBatchOrdersHead = OesBatchOrdersHeadT + class OesBatchOrdersReqT: batchHead: OesBatchOrdersHeadT items: Sequence[OesOrdReqT] ... +_OesBatchOrdersReq = OesBatchOrdersReqT + class OesRptMsgHeadT: rptSeqNum: int @@ -1251,6 +1441,8 @@ class OesRptMsgHeadT: bodyLength: int ordRejReason: int ... +_OesRptMsgHead = OesRptMsgHeadT + class OesRptMsgBodyT: ordInsertRsp: OesOrdCnfmT @@ -1263,11 +1455,15 @@ class OesRptMsgBodyT: stkHoldingRpt: OesStkHoldingItemT optHoldingRpt: OesOptHoldingItemT ... +_OesRptMsgBody = OesRptMsgBodyT + class OesRptMsgT: rptHead: OesRptMsgHeadT rptBody: OesRptMsgBodyT ... +_OesRptMsg = OesRptMsgT + class OesReqMsgBodyT: ordReq: OesOrdReqT @@ -1279,6 +1475,8 @@ class OesReqMsgBodyT: rptSyncReq: OesReportSynchronizationReqT logonReq: OesLogonReqT ... +_OesReqMsgBody = OesReqMsgBodyT + class OesRspMsgBodyT: rptMsg: OesRptMsgT @@ -1288,6 +1486,8 @@ class OesRspMsgBodyT: reportSynchronizationRsp: OesReportSynchronizationRspT logonRsp: OesLogonRspT ... +_OesRspMsgBody = OesRspMsgBodyT + class SErrMsgT: __index: int @@ -1297,6 +1497,8 @@ class SErrMsgT: __msgSize: int MSG: str ... +_SErrMsg = SErrMsgT + class SDataBufferT: dataSize: int @@ -1304,6 +1506,8 @@ class SDataBufferT: buffer: char *const # unknown what to wrap in py __ref: Any ... +_SDataBuffer = SDataBufferT + class _SDataBufferVar: dataSize: int @@ -1312,14 +1516,19 @@ class _SDataBufferVar: __ref: Any ... + class SSocketUriInfoT: uri: str ... +_SSocketUriInfo = SSocketUriInfoT + class SSocketIpPortInfoT: port: int ip: str ... +_SSocketIpPortInfo = SSocketIpPortInfoT + class SSocketChannelInfoT: remotePort: int @@ -1329,6 +1538,8 @@ class SSocketChannelInfoT: _isSendBroken: int remoteAddr: str ... +_SSocketChannelInfo = SSocketChannelInfoT + class SSocketOptionConfigT: soRcvbuf: int @@ -1348,6 +1559,8 @@ class SSocketOptionConfigT: localSendingIp: str mcastInterfaceIp: str ... +_SSocketOptionConfig = SSocketOptionConfigT + class SGeneralClientChannelT: heartBtInt: int @@ -1383,9 +1596,13 @@ class SGeneralClientChannelT: __groupFlag: int __protocolHints: int __filler: Sequence[int] - __reserveData: union (anonymous union at oes_libs-0.15.7.4-release\include\sutil/net/spk_general_client_define.h:181:5) # unknown what to wrap in py - __extData: union (anonymous union at oes_libs-0.15.7.4-release\include\sutil/net/spk_general_client_define.h:197:5) # unknown what to wrap in py + __reserveData: union (anonymous union at vnoes/include\sutil/net/spk_general_client_define.h:181:5) # unknown what to wrap in py + __extData: union (anonymous union at vnoes/include\sutil/net/spk_general_client_define.h:197:5) # unknown what to wrap in py ... +OesApiSessionInfoT = SGeneralClientChannelT +_SGeneralClientChannel = SGeneralClientChannelT +MdsApiSessionInfoT = SGeneralClientChannelT + class SGeneralClientChannelGroupT: channelCount: int @@ -1396,6 +1613,10 @@ class SGeneralClientChannelGroupT: __filler: Sequence[int] __fdSet: fd_set # unknown what to wrap in py ... +MdsApiChannelGroupT = SGeneralClientChannelGroupT +OesApiChannelGroupT = SGeneralClientChannelGroupT +_SGeneralClientChannelGroup = SGeneralClientChannelGroupT + class SGeneralClientAddrInfoT: uri: str @@ -1405,6 +1626,10 @@ class SGeneralClientAddrInfoT: hostNum: int __filler: Sequence[int] ... +_SGeneralClientAddrInfo = SGeneralClientAddrInfoT +OesApiAddrInfoT = SGeneralClientAddrInfoT +MdsApiAddrInfoT = SGeneralClientAddrInfoT + class SGeneralClientRemoteCfgT: addrCnt: int @@ -1419,12 +1644,18 @@ class SGeneralClientRemoteCfgT: addrList: Sequence[SGeneralClientAddrInfoT] socketOpt: SSocketOptionConfigT ... +_SGeneralClientRemoteCfg = SGeneralClientRemoteCfgT +MdsApiRemoteCfgT = SGeneralClientRemoteCfgT +OesApiRemoteCfgT = SGeneralClientRemoteCfgT + class OesApiSubscribeInfoT: clEnvId: int __filler: Sequence[int] rptTypes: int ... +_OesApiSubscribeInfo = OesApiSubscribeInfoT + class OesApiClientCfgT: ordChannelCfg: SGeneralClientRemoteCfgT @@ -1432,12 +1663,16 @@ class OesApiClientCfgT: qryChannelCfg: SGeneralClientRemoteCfgT subscribeInfo: OesApiSubscribeInfoT ... +_OesApiClientCfg = OesApiClientCfgT + class OesApiClientEnvT: ordChannel: SGeneralClientChannelT rptChannel: SGeneralClientChannelT qryChannel: SGeneralClientChannelT ... +_OesApiClientEnv = OesApiClientEnvT + class MdsTradingSessionStatusMsgT: exchId: int @@ -1453,12 +1688,14 @@ class MdsTradingSessionStatusMsgT: __filler3: Sequence[int] __dataVersion: int __origTickSeq: int - __origNetTime: STimeval32T - __recvTime: STimeval32T - __collectedTime: STimeval32T - __processedTime: STimeval32T - __pushingTime: STimeval32T + __origNetTime: STimeval32T # unknown what to wrap in py + __recvTime: STimeval32T # unknown what to wrap in py + __collectedTime: STimeval32T # unknown what to wrap in py + __processedTime: STimeval32T # unknown what to wrap in py + __pushingTime: STimeval32T # unknown what to wrap in py ... +_MdsTradingSessionStatusMsg = MdsTradingSessionStatusMsgT + class MdsSecurityStatusMsgT: exchId: int @@ -1479,18 +1716,22 @@ class MdsSecurityStatusMsgT: NoSwitch: int __filler4: int switches: Sequence[None] - __origNetTime: STimeval32T - __recvTime: STimeval32T - __collectedTime: STimeval32T - __processedTime: STimeval32T - __pushingTime: STimeval32T + __origNetTime: STimeval32T # unknown what to wrap in py + __recvTime: STimeval32T # unknown what to wrap in py + __collectedTime: STimeval32T # unknown what to wrap in py + __processedTime: STimeval32T # unknown what to wrap in py + __pushingTime: STimeval32T # unknown what to wrap in py ... +_MdsSecurityStatusMsg = MdsSecurityStatusMsgT + class MdsPriceLevelEntryT: Price: int NumberOfOrders: int OrderQty: int ... +_MdsPriceLevelEntry = MdsPriceLevelEntryT + class MdsMktDataSnapshotHeadT: exchId: int @@ -1505,12 +1746,14 @@ class MdsMktDataSnapshotHeadT: __channelNo: int __dataVersion: int __origTickSeq: int - __origNetTime: STimeval32T - __recvTime: STimeval32T - __collectedTime: STimeval32T - __processedTime: STimeval32T - __pushingTime: STimeval32T + __origNetTime: STimeval32T # unknown what to wrap in py + __recvTime: STimeval32T # unknown what to wrap in py + __collectedTime: STimeval32T # unknown what to wrap in py + __processedTime: STimeval32T # unknown what to wrap in py + __pushingTime: STimeval32T # unknown what to wrap in py ... +_MdsMktDataSnapshotHead = MdsMktDataSnapshotHeadT + class MdsIndexSnapshotBodyT: SecurityID: str @@ -1528,6 +1771,8 @@ class MdsIndexSnapshotBodyT: StockNum: int __filler1: int ... +_MdsIndexSnapshotBody = MdsIndexSnapshotBodyT + class MdsStockSnapshotBodyT: SecurityID: str @@ -1548,12 +1793,16 @@ class MdsStockSnapshotBodyT: BidLevels: Sequence[MdsPriceLevelEntryT] OfferLevels: Sequence[MdsPriceLevelEntryT] ... +_MdsStockSnapshotBody = MdsStockSnapshotBodyT + class MdsL1SnapshotBodyT: stock: MdsStockSnapshotBodyT option: MdsStockSnapshotBodyT index: MdsIndexSnapshotBodyT ... +_MdsL1SnapshotBody = MdsL1SnapshotBodyT + class MdsL2StockSnapshotBodyT: SecurityID: str @@ -1580,6 +1829,8 @@ class MdsL2StockSnapshotBodyT: BidLevels: Sequence[MdsPriceLevelEntryT] OfferLevels: Sequence[MdsPriceLevelEntryT] ... +_MdsL2StockSnapshotBody = MdsL2StockSnapshotBodyT + class MdsL2StockSnapshotIncrementalT: NumTrades: int @@ -1606,6 +1857,8 @@ class MdsL2StockSnapshotIncrementalT: PriceLevelOperator: Sequence[int] PriceLevels: Sequence[MdsPriceLevelEntryT] ... +_MdsL2StockSnapshotIncremental = MdsL2StockSnapshotIncrementalT + class MdsL2BestOrdersSnapshotBodyT: SecurityID: str @@ -1618,6 +1871,8 @@ class MdsL2BestOrdersSnapshotBodyT: BidOrderQty: Sequence[int] OfferOrderQty: Sequence[int] ... +_MdsL2BestOrdersSnapshotBody = MdsL2BestOrdersSnapshotBodyT + class MdsL2BestOrdersSnapshotIncrementalT: TotalVolumeTraded: int @@ -1634,6 +1889,8 @@ class MdsL2BestOrdersSnapshotIncrementalT: OperatorEntryID: Sequence[int] OrderQty: Sequence[int] ... +_MdsL2BestOrdersSnapshotIncremental = MdsL2BestOrdersSnapshotIncrementalT + class MdsL2VirtualAuctionPriceT: SecurityID: str @@ -1643,6 +1900,8 @@ class MdsL2VirtualAuctionPriceT: VirtualAuctionQty: int LeavesQty: int ... +_MdsL2VirtualAuctionPrice = MdsL2VirtualAuctionPriceT + class MdsL2MarketOverviewT: OrigDate: int @@ -1650,6 +1909,8 @@ class MdsL2MarketOverviewT: __exchSendingTime: int __mdsRecvTime: int ... +_MdsL2MarketOverview = MdsL2MarketOverviewT + class MdsL2SnapshotBodyT: l2Stock: MdsL2StockSnapshotBodyT @@ -1660,6 +1921,8 @@ class MdsL2SnapshotBodyT: l2VirtualAuctionPrice: MdsL2VirtualAuctionPriceT l2MarketOverview: MdsL2MarketOverviewT ... +_MdsL2SnapshotBody = MdsL2SnapshotBodyT + class MdsMktDataSnapshotT: head: MdsMktDataSnapshotHeadT @@ -1673,6 +1936,8 @@ class MdsMktDataSnapshotT: l2VirtualAuctionPrice: MdsL2VirtualAuctionPriceT l2MarketOverview: MdsL2MarketOverviewT ... +_MdsMktDataSnapshot = MdsMktDataSnapshotT + class MdsL2TradeT: exchId: int @@ -1695,12 +1960,14 @@ class MdsL2TradeT: TradeMoney: int BidApplSeqNum: int OfferApplSeqNum: int - __origNetTime: STimeval32T - __recvTime: STimeval32T - __collectedTime: STimeval32T - __processedTime: STimeval32T - __pushingTime: STimeval32T + __origNetTime: STimeval32T # unknown what to wrap in py + __recvTime: STimeval32T # unknown what to wrap in py + __collectedTime: STimeval32T # unknown what to wrap in py + __processedTime: STimeval32T # unknown what to wrap in py + __pushingTime: STimeval32T # unknown what to wrap in py ... +_MdsL2Trade = MdsL2TradeT + class MdsL2OrderT: exchId: int @@ -1720,12 +1987,14 @@ class MdsL2OrderT: __origTickSeq: int Price: int OrderQty: int - __origNetTime: STimeval32T - __recvTime: STimeval32T - __collectedTime: STimeval32T - __processedTime: STimeval32T - __pushingTime: STimeval32T + __origNetTime: STimeval32T # unknown what to wrap in py + __recvTime: STimeval32T # unknown what to wrap in py + __collectedTime: STimeval32T # unknown what to wrap in py + __processedTime: STimeval32T # unknown what to wrap in py + __pushingTime: STimeval32T # unknown what to wrap in py ... +_MdsL2Order = MdsL2OrderT + class MdsL2TickLostT: exchId: int @@ -1737,6 +2006,8 @@ class MdsL2TickLostT: endApplSeqNum: int __origTickSeq: int ... +_MdsL2TickLost = MdsL2TickLostT + class MdsQryMktDataSnapshotReqT: exchId: int @@ -1744,12 +2015,17 @@ class MdsQryMktDataSnapshotReqT: __filler: Sequence[int] instrId: int ... +_MdsQryMktDataSnapshotReq = MdsQryMktDataSnapshotReqT +MdsQrySecurityStatusReqT = MdsQryMktDataSnapshotReqT + class MdsQryTrdSessionStatusReqT: exchId: int securityType: int __filler: Sequence[int] ... +_MdsQryTrdSessionStatusReq = MdsQryTrdSessionStatusReqT + class MdsLogonReqT: encryptMethod: int @@ -1758,6 +2034,8 @@ class MdsLogonReqT: password: str applVerId: str ... +_MdsLogonReq = MdsLogonReqT + class MdsLogonRspT: encryptMethod: int @@ -1770,6 +2048,8 @@ class MdsLogonRspT: leaderHostNum: int __filler: Sequence[int] ... +_MdsLogonRsp = MdsLogonRspT + class MdsMktDataRequestEntryT: exchId: int @@ -1777,6 +2057,8 @@ class MdsMktDataRequestEntryT: __filler: Sequence[int] instrId: int ... +_MdsMktDataRequestEntry = MdsMktDataRequestEntryT + class MdsMktDataRequestReqT: subMode: int @@ -1795,11 +2077,16 @@ class MdsMktDataRequestReqT: beginTime: int subSecurityCnt: int ... +_MdsMktDataRequestReq = MdsMktDataRequestReqT + class MdsMktDataRequestReqBufT: mktDataRequestReq: MdsMktDataRequestReqT entries: Sequence[MdsMktDataRequestEntryT] ... +MdsApiSubscribeInfoT = MdsMktDataRequestReqBufT +_MdsMktDataRequestReqBuf = MdsMktDataRequestReqBufT + class MdsMktDataRequestRspT: subMode: int @@ -1817,12 +2104,16 @@ class MdsMktDataRequestRspT: szseIndexSubscribed: int szseOptionSubscribed: int ... +_MdsMktDataRequestRsp = MdsMktDataRequestRspT + class MdsTestRequestReqT: testReqId: str sendTime: str __filler: str ... +_MdsTestRequestReq = MdsTestRequestReqT + class MdsTestRequestRspT: testReqId: str @@ -1830,10 +2121,12 @@ class MdsTestRequestRspT: __filler1: str respTime: str __filler2: str - __recvTime: STimeval32T - __collectedTime: STimeval32T - __pushingTime: STimeval32T + __recvTime: STimeval32T # unknown what to wrap in py + __collectedTime: STimeval32T # unknown what to wrap in py + __pushingTime: STimeval32T # unknown what to wrap in py ... +_MdsTestRequestRsp = MdsTestRequestRspT + class MdsMktReqMsgBodyT: wholeMktDataReqBuf: MdsMktDataRequestReqBufT @@ -1844,6 +2137,8 @@ class MdsMktReqMsgBodyT: qrySecurityStatusReq: MdsQryMktDataSnapshotReqT qryTrdSessionStatusReq: MdsQryTrdSessionStatusReqT ... +_MdsMktReqMsgBody = MdsMktReqMsgBodyT + class MdsMktRspMsgBodyT: mktDataRequestRsp: MdsMktDataRequestRspT @@ -1856,12 +2151,16 @@ class MdsMktRspMsgBodyT: trdSessionStatus: MdsTradingSessionStatusMsgT securityStatus: MdsSecurityStatusMsgT ... +_MdsMktRspMsgBody = MdsMktRspMsgBodyT + class MdsUdpPktHeadT: msgCnt: int pktSiz: int pktSeq: int ... +_MdsUdpPktHead = MdsUdpPktHeadT + class MdsApiClientCfgT: tcpChannelCfg: SGeneralClientRemoteCfgT @@ -1872,6 +2171,8 @@ class MdsApiClientCfgT: udpOrderChannelCfg: SGeneralClientRemoteCfgT subscribeInfo: MdsMktDataRequestReqBufT ... +_MdsApiClientCfg = MdsApiClientCfgT + class MdsApiClientEnvT: tcpChannel: SGeneralClientChannelT @@ -1882,72 +2183,11 @@ class MdsApiClientEnvT: udpOrderChannel: SGeneralClientChannelT udpChannelGroup: SGeneralClientChannelGroupT ... +_MdsApiClientEnv = MdsApiClientEnvT -class helper: - - @staticmethod - def mdstojson( - pRspHead: SMsgHeadT, - pRspBody: Any, - pRemoteInfo: str, - ) -> int: - ... - - - @staticmethod - def oestojson( - pRspHead: SMsgHeadT, - pRspBody: Any, - pRemoteInfo: str, - ) -> int: - ... - - ... class cast: - def to_spk_struct_timespec(self, - v: Any, - ) -> _spk_struct_timespec: - ... - - - def to_spk_struct_timezone(self, - v: Any, - ) -> _spk_struct_timezone: - ... - - - def to_spk_struct_iovec(self, - v: Any, - ) -> _spk_struct_iovec: - ... - - - def toSTimeval32T(self, - v: Any, - ) -> STimeval32T: - ... - - - def to_spk_struct_timeval32(self, - v: Any, - ) -> STimeval32T: - ... - - - def toSTimeval64T(self, - v: Any, - ) -> STimeval64T: - ... - - - def to_spk_struct_timeval64(self, - v: Any, - ) -> STimeval64T: - ... - - def toOesOrdReqT(self, v: Any, ) -> OesOrdReqT: @@ -2026,13 +2266,13 @@ class cast: ... - def to_OesTrdCnfm(self, + def toOesTrdItemT(self, v: Any, ) -> OesTrdCnfmT: ... - def toOesTrdItemT(self, + def to_OesTrdCnfm(self, v: Any, ) -> OesTrdCnfmT: ... @@ -2116,13 +2356,13 @@ class cast: ... - def toOesIssueItemT(self, + def to_OesIssueBaseInfo(self, v: Any, ) -> OesIssueBaseInfoT: ... - def to_OesIssueBaseInfo(self, + def toOesIssueItemT(self, v: Any, ) -> OesIssueBaseInfoT: ... @@ -2146,13 +2386,13 @@ class cast: ... - def to_OesStockBaseInfo(self, + def toOesStockItemT(self, v: Any, ) -> OesStockBaseInfoT: ... - def toOesStockItemT(self, + def to_OesStockBaseInfo(self, v: Any, ) -> OesStockBaseInfoT: ... @@ -2164,13 +2404,13 @@ class cast: ... - def toOesEtfItemT(self, + def to_OesEtfBaseInfo(self, v: Any, ) -> OesEtfBaseInfoT: ... - def to_OesEtfBaseInfo(self, + def toOesEtfItemT(self, v: Any, ) -> OesEtfBaseInfoT: ... @@ -2194,13 +2434,13 @@ class cast: ... - def toOesOptionItemT(self, + def to_OesOptionBaseInfo(self, v: Any, ) -> OesOptionBaseInfoT: ... - def to_OesOptionBaseInfo(self, + def toOesOptionItemT(self, v: Any, ) -> OesOptionBaseInfoT: ... @@ -2524,13 +2764,13 @@ class cast: ... - def toOesQryOptHoldingFilterT(self, + def to_OesQryStkHoldingFilter(self, v: Any, ) -> OesQryStkHoldingFilterT: ... - def to_OesQryStkHoldingFilter(self, + def toOesQryOptHoldingFilterT(self, v: Any, ) -> OesQryStkHoldingFilterT: ... @@ -3394,24 +3634,30 @@ class cast: ... - def toMdsApiSessionInfoT(self, - v: Any, - ) -> SGeneralClientChannelT: - ... - - def to_SGeneralClientChannel(self, v: Any, ) -> SGeneralClientChannelT: ... + def toMdsApiSessionInfoT(self, + v: Any, + ) -> SGeneralClientChannelT: + ... + + def toSGeneralClientChannelGroupT(self, v: Any, ) -> SGeneralClientChannelGroupT: ... + def toMdsApiChannelGroupT(self, + v: Any, + ) -> SGeneralClientChannelGroupT: + ... + + def toOesApiChannelGroupT(self, v: Any, ) -> SGeneralClientChannelGroupT: @@ -3424,13 +3670,13 @@ class cast: ... - def toMdsApiChannelGroupT(self, + def toSGeneralClientAddrInfoT(self, v: Any, - ) -> SGeneralClientChannelGroupT: + ) -> SGeneralClientAddrInfoT: ... - def toSGeneralClientAddrInfoT(self, + def to_SGeneralClientAddrInfo(self, v: Any, ) -> SGeneralClientAddrInfoT: ... @@ -3448,13 +3694,13 @@ class cast: ... - def to_SGeneralClientAddrInfo(self, + def toSGeneralClientRemoteCfgT(self, v: Any, - ) -> SGeneralClientAddrInfoT: + ) -> SGeneralClientRemoteCfgT: ... - def toSGeneralClientRemoteCfgT(self, + def to_SGeneralClientRemoteCfg(self, v: Any, ) -> SGeneralClientRemoteCfgT: ... @@ -3472,12 +3718,6 @@ class cast: ... - def to_SGeneralClientRemoteCfg(self, - v: Any, - ) -> SGeneralClientRemoteCfgT: - ... - - def toOesApiSubscribeInfoT(self, v: Any, ) -> OesApiSubscribeInfoT: @@ -3736,13 +3976,13 @@ class cast: ... - def toMdsQrySecurityStatusReqT(self, + def to_MdsQryMktDataSnapshotReq(self, v: Any, ) -> MdsQryMktDataSnapshotReqT: ... - def to_MdsQryMktDataSnapshotReq(self, + def toMdsQrySecurityStatusReqT(self, v: Any, ) -> MdsQryMktDataSnapshotReqT: ... @@ -3921,14 +4161,9 @@ class cast: ) -> MdsApiClientEnvT: ... - - def tohelper(self, - v: Any, - ) -> helper: - ... - ... + def SPlatform_GetErrno( )->int: ... @@ -4444,14 +4679,6 @@ def OesApi_ForeachInChannelGroup( )->int: ... -def OesApi_WaitOnChannelGroup( - pChannelGroup: SGeneralClientChannelGroupT, - timeoutMs: int, - pOnMsgCallback: Callable[[SGeneralClientChannelT,SMsgHeadT,Any,Any], int], - ppFailed: SGeneralClientChannelT, - )->int: - ... - def OesApi_SetThreadUsername( pUsername: str, )->Any: @@ -4605,29 +4832,6 @@ def MdsApi_SubscribeMarketData( )->int: ... -def MdsApi_SubscribeByString( - pTcpChannel: SGeneralClientChannelT, - pSecurityListStr: str, - pDelim: str, - exchangeId: eMdsExchangeIdT, - securityType: eMdsSecurityTypeT, - subMode: eMdsSubscribeModeT, - dataTypes: int, - )->int: - ... - -def MdsApi_SubscribeByStringAndPrefixes( - pTcpChannel: SGeneralClientChannelT, - pSecurityListStr: str, - pDelim: str, - pSseCodePrefixes: str, - pSzseCodePrefixes: str, - securityType: eMdsSecurityTypeT, - subMode: eMdsSubscribeModeT, - dataTypes: int, - )->int: - ... - def MdsApi_SendHeartbeat( pSessionInfo: SGeneralClientChannelT, )->int: @@ -4856,30 +5060,6 @@ def MdsApi_ForeachInChannelGroup( )->int: ... -def MdsApi_WaitOnTcpChannelGroup( - pChannelGroup: SGeneralClientChannelGroupT, - timeoutMs: int, - pOnMsgCallback: Callable[[SGeneralClientChannelT,SMsgHeadT,Any,Any], int], - ppFailed: SGeneralClientChannelT, - )->int: - ... - -def MdsApi_WaitOnTcpChannelGroupCompressible( - pChannelGroup: SGeneralClientChannelGroupT, - timeoutMs: int, - pOnMsgCallback: Callable[[SGeneralClientChannelT,SMsgHeadT,Any,Any], int], - ppFailed: SGeneralClientChannelT, - )->int: - ... - -def MdsApi_WaitOnUdpChannelGroup( - pChannelGroup: SGeneralClientChannelGroupT, - timeoutMs: int, - pOnMsgCallback: Callable[[SGeneralClientChannelT,SMsgHeadT,Any,Any], int], - ppFailed: SGeneralClientChannelT, - )->int: - ... - def MdsApi_SetThreadUsername( pUsername: str, )->Any: @@ -5057,6 +5237,32 @@ MDSAPI_CFG_DEFAULT_KEY_UDP_ADDR_TICK_TRADE: str = """udpServer.TickTrade""" MDSAPI_CFG_DEFAULT_KEY_UDP_ADDR_TICK_ORDER: str = """udpServer.TickOrder""" MDSAPI_DEFAULT_STRING_DELIM: str = """,;| """ + + +class constants: + OES_APPL_VER_ID: str = """0.15.7.4""" + OES_MIN_APPL_VER_ID: str = """0.15.5""" + OESAPI_CFG_DEFAULT_SECTION: str = """oes_client""" + OESAPI_CFG_DEFAULT_SECTION_LOGGER: str = """log""" + OESAPI_CFG_DEFAULT_KEY_ORD_ADDR: str = """ordServer""" + OESAPI_CFG_DEFAULT_KEY_RPT_ADDR: str = """rptServer""" + OESAPI_CFG_DEFAULT_KEY_QRY_ADDR: str = """qryServer""" + OESAPI_DEFAULT_STRING_DELIM: str = """,;| +""" + MDS_APPL_VER_ID: str = """0.15.7.4""" + MDS_MIN_APPL_VER_ID: str = """0.15.5""" + MDSAPI_CFG_DEFAULT_SECTION: str = """mds_client""" + MDSAPI_CFG_DEFAULT_SECTION_LOGGER: str = """log""" + MDSAPI_CFG_DEFAULT_KEY_TCP_ADDR: str = """tcpServer""" + MDSAPI_CFG_DEFAULT_KEY_QRY_ADDR: str = """qryServer""" + MDSAPI_CFG_DEFAULT_KEY_UDP_ADDR_L1: str = """udpServer.L1""" + MDSAPI_CFG_DEFAULT_KEY_UDP_ADDR_L2: str = """udpServer.L2""" + MDSAPI_CFG_DEFAULT_KEY_UDP_ADDR_TICK_TRADE: str = """udpServer.TickTrade""" + MDSAPI_CFG_DEFAULT_KEY_UDP_ADDR_TICK_ORDER: str = """udpServer.TickOrder""" + MDSAPI_DEFAULT_STRING_DELIM: str = """,;| +""" + ... + class eOesExchangeIdT(Enum): OES_EXCH_UNDEFINE: eOesExchangeIdT OES_EXCH_SSE: eOesExchangeIdT = 1 diff --git a/vnpy/api/oes/vnoes/custom/wrapper.hpp b/vnpy/api/oes/vnoes/custom/wrapper.hpp index b42a9c98..df9be7b5 100644 --- a/vnpy/api/oes/vnoes/custom/wrapper.hpp +++ b/vnpy/api/oes/vnoes/custom/wrapper.hpp @@ -12,86 +12,14 @@ namespace autocxxpy { - //template <> - //struct calling_wrapper<&::OesApi_WaitReportMsg> - //{ - // static constexpr auto value = []( - // OesApiSessionInfoT *pRptChannel, - // int32 timeoutMs, - // F_OESAPI_ON_RPT_MSG_T pRptMsgCallback, - // void *pCallbackParams - // ) - // { - // return ::OesApi_WaitReportMsg(pRptChannel, timeoutMs, pRptMsgCallback, pCallbackParams); - // }; - //}; - - template <> - struct calling_wrapper<&::OesApi_WaitOnChannelGroup> - { - static constexpr auto value = []( - OesApiChannelGroupT *pChannelGroup, - int32 timeoutMs, - F_OESAPI_ON_RPT_MSG_T pOnMsgCallback, - void *pCallbackParams - ) - { - return ::OesApi_WaitOnChannelGroup(pChannelGroup, timeoutMs, pOnMsgCallback, pCallbackParams, nullptr); - }; - }; - - template <> - struct calling_wrapper<&::MdsApi_WaitOnTcpChannelGroup> - { - static constexpr auto value = []( - MdsApiChannelGroupT *pChannelGroup, - int32 timeoutMs, - F_MDSAPI_ONMSG_T pOnMsgCallback, - void *pCallbackParams - ) - { - return ::MdsApi_WaitOnTcpChannelGroup(pChannelGroup, timeoutMs, pOnMsgCallback, pCallbackParams, nullptr); - }; - }; - - template <> - struct calling_wrapper<&::MdsApi_WaitOnTcpChannelGroupCompressible> - { - static constexpr auto value = []( - MdsApiChannelGroupT *pChannelGroup, - int32 timeoutMs, - F_MDSAPI_ONMSG_T pOnMsgCallback, - void *pCallbackParams - ) - { - return ::MdsApi_WaitOnTcpChannelGroupCompressible(pChannelGroup, timeoutMs, pOnMsgCallback, pCallbackParams, nullptr); - }; - }; - - template <> - struct calling_wrapper<&::MdsApi_WaitOnUdpChannelGroup> - { - static constexpr auto value = []( - MdsApiChannelGroupT *pChannelGroup, - int32 timeoutMs, - F_MDSAPI_ONMSG_T pOnMsgCallback, - void *pCallbackParams - ) - { - return ::MdsApi_WaitOnUdpChannelGroup(pChannelGroup, timeoutMs, pOnMsgCallback, pCallbackParams, nullptr); - }; - }; - - template - struct ssss - { - using type = int; - }; + ////////////////////////////////////////////////////////////////////////// + // special output variable + ////////////////////////////////////////////////////////////////////////// + // set/get of userInfo.u64 CREATE_MEMBER_DETECTOR(u64); - - template + template struct my_getter_helper { static constexpr auto get() @@ -110,7 +38,7 @@ namespace autocxxpy } else { - return default_getter_wrap(member); + return default_getter_wrap(member); } } }; @@ -118,12 +46,12 @@ namespace autocxxpy template struct getter_wrap { - using value_type = decltype(my_getter_helper::get()); - static constexpr value_type value = my_getter_helper< MemberConstant>::get(); + using value_type = decltype(my_getter_helper::get()); + static constexpr value_type value = my_getter_helper::get(); }; - template + template struct my_setter_helper { static constexpr auto set() @@ -142,7 +70,7 @@ namespace autocxxpy } else { - return default_setter_wrap(member); + return default_setter_wrap(member); } } }; @@ -150,28 +78,8 @@ namespace autocxxpy template struct setter_wrap { - using value_type = decltype(my_setter_helper::set()); - static constexpr value_type value = my_setter_helper< MemberConstant>::set(); + using value_type = decltype(my_setter_helper::set()); + static constexpr value_type value = my_setter_helper::set(); }; - - - - //template <> - //struct post_register_class - //{ - // template - // static constexpr void post_register(T &c) - // { - // c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotT, "l2Stock", l2Stock); - // c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotT, "l2StockIncremental", l2StockIncremental); - // c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotT, "l2BestOrders", l2BestOrders); - // c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotT, "l2BestOrdersIncremental", l2BestOrdersIncremental); - // c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotT, "stock", stock); - // c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotT, "option", option); - // c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotT, "index", index); - // c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotT, "l2VirtualAuctionPrice", l2VirtualAuctionPrice); - // c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotT, "l2MarketOverview", l2MarketOverview); - // } - //}; - + ////////////////////////////////////////////////////////////////////////// } diff --git a/vnpy/api/oes/vnoes/generated_files/classes_1.cpp b/vnpy/api/oes/vnoes/generated_files/classes_1.cpp index 2741ec07..4f5f6328 100644 --- a/vnpy/api/oes/vnoes/generated_files/classes_1.cpp +++ b/vnpy/api/oes/vnoes/generated_files/classes_1.cpp @@ -16,7 +16,8 @@ void generate_class_OesOrdReqT(pybind11::module &m) { pybind11::class_ c(m, "OesOrdReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesOrdReqT, "clSeqNo", clSeqNo); c.AUTOCXXPY_DEF_PROPERTY(OesOrdReqT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesOrdReqT, "ordType", ordType); @@ -30,11 +31,13 @@ void generate_class_OesOrdReqT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesOrdReqT, "userInfo", userInfo); c.AUTOCXXPY_DEF_PROPERTY(OesOrdReqT, "__ordReqOrigSendTime", __ordReqOrigSendTime); AUTOCXXPY_POST_REGISTER_CLASS(OesOrdReqT, c); + m.attr("_OesOrdReq") = c; } void generate_class_OesOrdCancelReqT(pybind11::module &m) { pybind11::class_ c(m, "OesOrdCancelReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesOrdCancelReqT, "clSeqNo", clSeqNo); c.AUTOCXXPY_DEF_PROPERTY(OesOrdCancelReqT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesOrdCancelReqT, "__ORD_CANCEL_BASE_INFO_filler1", __ORD_CANCEL_BASE_INFO_filler1); @@ -47,11 +50,13 @@ void generate_class_OesOrdCancelReqT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesOrdCancelReqT, "userInfo", userInfo); c.AUTOCXXPY_DEF_PROPERTY(OesOrdCancelReqT, "__ordReqOrigSendTime", __ordReqOrigSendTime); AUTOCXXPY_POST_REGISTER_CLASS(OesOrdCancelReqT, c); + m.attr("_OesOrdCancelReq") = c; } void generate_class_OesOrdRejectT(pybind11::module &m) { pybind11::class_ c(m, "OesOrdRejectT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesOrdRejectT, "clSeqNo", clSeqNo); c.AUTOCXXPY_DEF_PROPERTY(OesOrdRejectT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesOrdRejectT, "ordType", ordType); @@ -73,11 +78,13 @@ void generate_class_OesOrdRejectT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesOrdRejectT, "ordRejReason", ordRejReason); c.AUTOCXXPY_DEF_PROPERTY(OesOrdRejectT, "__filler", __filler); AUTOCXXPY_POST_REGISTER_CLASS(OesOrdRejectT, c); + m.attr("_OesOrdReject") = c; } void generate_class_OesOrdCnfmT(pybind11::module &m) { pybind11::class_ c(m, "OesOrdCnfmT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesOrdCnfmT, "clSeqNo", clSeqNo); c.AUTOCXXPY_DEF_PROPERTY(OesOrdCnfmT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesOrdCnfmT, "ordType", ordType); @@ -133,11 +140,14 @@ void generate_class_OesOrdCnfmT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesOrdCnfmT, "__ordDeclareDoneTime", __ordDeclareDoneTime); c.AUTOCXXPY_DEF_PROPERTY(OesOrdCnfmT, "__pushingTime", __pushingTime); AUTOCXXPY_POST_REGISTER_CLASS(OesOrdCnfmT, c); + m.attr("OesOrdItemT") = c; + m.attr("_OesOrdCnfm") = c; } void generate_class_OesTrdBaseInfoT(pybind11::module &m) { pybind11::class_ c(m, "OesTrdBaseInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesTrdBaseInfoT, "exchTrdNum", exchTrdNum); c.AUTOCXXPY_DEF_PROPERTY(OesTrdBaseInfoT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesTrdBaseInfoT, "trdSide", trdSide); @@ -160,11 +170,13 @@ void generate_class_OesTrdBaseInfoT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesTrdBaseInfoT, "pbuId", pbuId); c.AUTOCXXPY_DEF_PROPERTY(OesTrdBaseInfoT, "branchId", branchId); AUTOCXXPY_POST_REGISTER_CLASS(OesTrdBaseInfoT, c); + m.attr("_OesTrdBaseInfo") = c; } void generate_class_OesTrdCnfmT(pybind11::module &m) { pybind11::class_ c(m, "OesTrdCnfmT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesTrdCnfmT, "exchTrdNum", exchTrdNum); c.AUTOCXXPY_DEF_PROPERTY(OesTrdCnfmT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesTrdCnfmT, "trdSide", trdSide); @@ -205,11 +217,14 @@ void generate_class_OesTrdCnfmT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesTrdCnfmT, "__trdCnfmProcessedTime", __trdCnfmProcessedTime); c.AUTOCXXPY_DEF_PROPERTY(OesTrdCnfmT, "__pushingTime", __pushingTime); AUTOCXXPY_POST_REGISTER_CLASS(OesTrdCnfmT, c); + m.attr("OesTrdItemT") = c; + m.attr("_OesTrdCnfm") = c; } void generate_class_OesLotWinningBaseInfoT(pybind11::module &m) { pybind11::class_ c(m, "OesLotWinningBaseInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesLotWinningBaseInfoT, "invAcctId", invAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesLotWinningBaseInfoT, "securityId", securityId); c.AUTOCXXPY_DEF_PROPERTY(OesLotWinningBaseInfoT, "mktId", mktId); @@ -223,11 +238,14 @@ void generate_class_OesLotWinningBaseInfoT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesLotWinningBaseInfoT, "lotPrice", lotPrice); c.AUTOCXXPY_DEF_PROPERTY(OesLotWinningBaseInfoT, "lotAmt", lotAmt); AUTOCXXPY_POST_REGISTER_CLASS(OesLotWinningBaseInfoT, c); + m.attr("_OesLotWinningBaseInfo") = c; + m.attr("OesLotWinningItemT") = c; } void generate_class_OesFundTrsfBaseInfoT(pybind11::module &m) { pybind11::class_ c(m, "OesFundTrsfBaseInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfBaseInfoT, "clSeqNo", clSeqNo); c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfBaseInfoT, "direct", direct); c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfBaseInfoT, "isAllotOnly", isAllotOnly); @@ -238,11 +256,13 @@ void generate_class_OesFundTrsfBaseInfoT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfBaseInfoT, "occurAmt", occurAmt); c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfBaseInfoT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesFundTrsfBaseInfoT, c); + m.attr("_OesFundTrsfBaseInfo") = c; } void generate_class_OesFundTrsfReqT(pybind11::module &m) { pybind11::class_ c(m, "OesFundTrsfReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfReqT, "clSeqNo", clSeqNo); c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfReqT, "direct", direct); c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfReqT, "isAllotOnly", isAllotOnly); @@ -253,11 +273,13 @@ void generate_class_OesFundTrsfReqT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfReqT, "occurAmt", occurAmt); c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfReqT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesFundTrsfReqT, c); + m.attr("_OesFundTrsfReq") = c; } void generate_class_OesFundTrsfRejectT(pybind11::module &m) { pybind11::class_ c(m, "OesFundTrsfRejectT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfRejectT, "clSeqNo", clSeqNo); c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfRejectT, "direct", direct); c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfRejectT, "isAllotOnly", isAllotOnly); @@ -275,11 +297,13 @@ void generate_class_OesFundTrsfRejectT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfRejectT, "rejReason", rejReason); c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfRejectT, "errorInfo", errorInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesFundTrsfRejectT, c); + m.attr("_OesFundTrsfReject") = c; } void generate_class_OesFundTrsfReportT(pybind11::module &m) { pybind11::class_ c(m, "OesFundTrsfReportT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfReportT, "clSeqNo", clSeqNo); c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfReportT, "clientId", clientId); c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfReportT, "clEnvId", clEnvId); @@ -303,11 +327,14 @@ void generate_class_OesFundTrsfReportT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfReportT, "allotSerialNo", allotSerialNo); c.AUTOCXXPY_DEF_PROPERTY(OesFundTrsfReportT, "errorInfo", errorInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesFundTrsfReportT, c); + m.attr("_OesFundTrsfReport") = c; + m.attr("OesFundTransferSerialItemT") = c; } void generate_class_OesIssueBaseInfoT(pybind11::module &m) { pybind11::class_ c(m, "OesIssueBaseInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesIssueBaseInfoT, "securityId", securityId); c.AUTOCXXPY_DEF_PROPERTY(OesIssueBaseInfoT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesIssueBaseInfoT, "securityType", securityType); @@ -327,19 +354,24 @@ void generate_class_OesIssueBaseInfoT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesIssueBaseInfoT, "ceilPrice", ceilPrice); c.AUTOCXXPY_DEF_PROPERTY(OesIssueBaseInfoT, "floorPrice", floorPrice); AUTOCXXPY_POST_REGISTER_CLASS(OesIssueBaseInfoT, c); + m.attr("_OesIssueBaseInfo") = c; + m.attr("OesIssueItemT") = c; } void generate_class_OesPriceLimitT(pybind11::module &m) { pybind11::class_ c(m, "OesPriceLimitT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesPriceLimitT, "ceilPrice", ceilPrice); c.AUTOCXXPY_DEF_PROPERTY(OesPriceLimitT, "floorPrice", floorPrice); AUTOCXXPY_POST_REGISTER_CLASS(OesPriceLimitT, c); + m.attr("_OesPriceLimit") = c; } void generate_class_OesStockBaseInfoT(pybind11::module &m) { pybind11::class_ c(m, "OesStockBaseInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesStockBaseInfoT, "securityId", securityId); c.AUTOCXXPY_DEF_PROPERTY(OesStockBaseInfoT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesStockBaseInfoT, "securityType", securityType); @@ -368,11 +400,14 @@ void generate_class_OesStockBaseInfoT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesStockBaseInfoT, "securityName", securityName); c.AUTOCXXPY_DEF_PROPERTY(OesStockBaseInfoT, "fundId", fundId); AUTOCXXPY_POST_REGISTER_CLASS(OesStockBaseInfoT, c); + m.attr("OesStockItemT") = c; + m.attr("_OesStockBaseInfo") = c; } void generate_class_OesEtfBaseInfoT(pybind11::module &m) { pybind11::class_ c(m, "OesEtfBaseInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesEtfBaseInfoT, "fundId", fundId); c.AUTOCXXPY_DEF_PROPERTY(OesEtfBaseInfoT, "securityId", securityId); c.AUTOCXXPY_DEF_PROPERTY(OesEtfBaseInfoT, "mktId", mktId); @@ -398,11 +433,14 @@ void generate_class_OesEtfBaseInfoT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesEtfBaseInfoT, "netCreationLimit", netCreationLimit); c.AUTOCXXPY_DEF_PROPERTY(OesEtfBaseInfoT, "netRedemLimit", netRedemLimit); AUTOCXXPY_POST_REGISTER_CLASS(OesEtfBaseInfoT, c); + m.attr("_OesEtfBaseInfo") = c; + m.attr("OesEtfItemT") = c; } void generate_class_OesEtfComponentBaseInfoT(pybind11::module &m) { pybind11::class_ c(m, "OesEtfComponentBaseInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesEtfComponentBaseInfoT, "fundId", fundId); c.AUTOCXXPY_DEF_PROPERTY(OesEtfComponentBaseInfoT, "securityId", securityId); c.AUTOCXXPY_DEF_PROPERTY(OesEtfComponentBaseInfoT, "mktId", mktId); @@ -415,11 +453,13 @@ void generate_class_OesEtfComponentBaseInfoT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesEtfComponentBaseInfoT, "creationSubCash", creationSubCash); c.AUTOCXXPY_DEF_PROPERTY(OesEtfComponentBaseInfoT, "redemptionCashSub", redemptionCashSub); AUTOCXXPY_POST_REGISTER_CLASS(OesEtfComponentBaseInfoT, c); + m.attr("_OesEtfComponentBaseInfo") = c; } void generate_class_OesOptionBaseInfoT(pybind11::module &m) { pybind11::class_ c(m, "OesOptionBaseInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesOptionBaseInfoT, "securityId", securityId); c.AUTOCXXPY_DEF_PROPERTY(OesOptionBaseInfoT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesOptionBaseInfoT, "securityType", securityType); @@ -455,11 +495,14 @@ void generate_class_OesOptionBaseInfoT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesOptionBaseInfoT, "underlyingClosePrice", underlyingClosePrice); c.AUTOCXXPY_DEF_PROPERTY(OesOptionBaseInfoT, "securityName", securityName); AUTOCXXPY_POST_REGISTER_CLASS(OesOptionBaseInfoT, c); + m.attr("_OesOptionBaseInfo") = c; + m.attr("OesOptionItemT") = c; } void generate_class_OesCashAssetBaseInfoT(pybind11::module &m) { pybind11::class_ c(m, "OesCashAssetBaseInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesCashAssetBaseInfoT, "cashAcctId", cashAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesCashAssetBaseInfoT, "custId", custId); c.AUTOCXXPY_DEF_PROPERTY(OesCashAssetBaseInfoT, "currType", currType); @@ -484,11 +527,13 @@ void generate_class_OesCashAssetBaseInfoT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesCashAssetBaseInfoT, "marginAmt", marginAmt); c.AUTOCXXPY_DEF_PROPERTY(OesCashAssetBaseInfoT, "marginFrzAmt", marginFrzAmt); AUTOCXXPY_POST_REGISTER_CLASS(OesCashAssetBaseInfoT, c); + m.attr("_OesCashAssetBaseInfo") = c; } void generate_class_OesCustBaseInfoT(pybind11::module &m) { pybind11::class_ c(m, "OesCustBaseInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesCustBaseInfoT, "custId", custId); c.AUTOCXXPY_DEF_PROPERTY(OesCustBaseInfoT, "custType", custType); c.AUTOCXXPY_DEF_PROPERTY(OesCustBaseInfoT, "status", status); @@ -500,11 +545,14 @@ void generate_class_OesCustBaseInfoT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesCustBaseInfoT, "branchId", branchId); c.AUTOCXXPY_DEF_PROPERTY(OesCustBaseInfoT, "__CUST_BASE_filler2", __CUST_BASE_filler2); AUTOCXXPY_POST_REGISTER_CLASS(OesCustBaseInfoT, c); + m.attr("OesCustItemT") = c; + m.attr("_OesCustBaseInfo") = c; } void generate_class_OesInvAcctBaseInfoT(pybind11::module &m) { pybind11::class_ c(m, "OesInvAcctBaseInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesInvAcctBaseInfoT, "invAcctId", invAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesInvAcctBaseInfoT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesInvAcctBaseInfoT, "acctType", acctType); @@ -518,11 +566,13 @@ void generate_class_OesInvAcctBaseInfoT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesInvAcctBaseInfoT, "pbuId", pbuId); c.AUTOCXXPY_DEF_PROPERTY(OesInvAcctBaseInfoT, "subscriptionQuota", subscriptionQuota); AUTOCXXPY_POST_REGISTER_CLASS(OesInvAcctBaseInfoT, c); + m.attr("_OesInvAcctBaseInfo") = c; } void generate_class_OesStkHoldingBaseInfoT(pybind11::module &m) { pybind11::class_ c(m, "OesStkHoldingBaseInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesStkHoldingBaseInfoT, "invAcctId", invAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesStkHoldingBaseInfoT, "securityId", securityId); c.AUTOCXXPY_DEF_PROPERTY(OesStkHoldingBaseInfoT, "mktId", mktId); @@ -548,11 +598,13 @@ void generate_class_OesStkHoldingBaseInfoT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesStkHoldingBaseInfoT, "coveredFrzHld", coveredFrzHld); c.AUTOCXXPY_DEF_PROPERTY(OesStkHoldingBaseInfoT, "coveredHld", coveredHld); AUTOCXXPY_POST_REGISTER_CLASS(OesStkHoldingBaseInfoT, c); + m.attr("_OesStkHoldingBaseInfo") = c; } void generate_class_OesOptHoldingBaseInfoT(pybind11::module &m) { pybind11::class_ c(m, "OesOptHoldingBaseInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesOptHoldingBaseInfoT, "invAcctId", invAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesOptHoldingBaseInfoT, "securityId", securityId); c.AUTOCXXPY_DEF_PROPERTY(OesOptHoldingBaseInfoT, "mktId", mktId); @@ -565,22 +617,27 @@ void generate_class_OesOptHoldingBaseInfoT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesOptHoldingBaseInfoT, "hldRB", hldRB); c.AUTOCXXPY_DEF_PROPERTY(OesOptHoldingBaseInfoT, "hldRC", hldRC); AUTOCXXPY_POST_REGISTER_CLASS(OesOptHoldingBaseInfoT, c); + m.attr("_OesOptHoldingBaseInfo") = c; } void generate_class_OesMarketStateInfoT(pybind11::module &m) { pybind11::class_ c(m, "OesMarketStateInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesMarketStateInfoT, "exchId", exchId); c.AUTOCXXPY_DEF_PROPERTY(OesMarketStateInfoT, "platformId", platformId); c.AUTOCXXPY_DEF_PROPERTY(OesMarketStateInfoT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesMarketStateInfoT, "mktState", mktState); c.AUTOCXXPY_DEF_PROPERTY(OesMarketStateInfoT, "__filler", __filler); AUTOCXXPY_POST_REGISTER_CLASS(OesMarketStateInfoT, c); + m.attr("OesMarketStateItemT") = c; + m.attr("_OesMarketStateInfo") = c; } void generate_class_OesTradingPermissionEntryT(pybind11::module &m) { pybind11::class_ c(m, "OesTradingPermissionEntryT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesTradingPermissionEntryT, "permissionNo", permissionNo); c.AUTOCXXPY_DEF_PROPERTY(OesTradingPermissionEntryT, "isDisabled", isDisabled); c.AUTOCXXPY_DEF_PROPERTY(OesTradingPermissionEntryT, "counterAlias", counterAlias); @@ -589,62 +646,74 @@ void generate_class_OesTradingPermissionEntryT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesTradingPermissionEntryT, "applicableMarkets", applicableMarkets); c.AUTOCXXPY_DEF_PROPERTY(OesTradingPermissionEntryT, "permissionMemo", permissionMemo); AUTOCXXPY_POST_REGISTER_CLASS(OesTradingPermissionEntryT, c); + m.attr("_OesTradingPermissionEntry") = c; } void generate_class_OesInputSourceInfoT(pybind11::module &m) { pybind11::class_ c(m, "OesInputSourceInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesInputSourceInfoT, "sourceIp", sourceIp); c.AUTOCXXPY_DEF_PROPERTY(OesInputSourceInfoT, "sourceMac", sourceMac); c.AUTOCXXPY_DEF_PROPERTY(OesInputSourceInfoT, "sourceType", sourceType); c.AUTOCXXPY_DEF_PROPERTY(OesInputSourceInfoT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(OesInputSourceInfoT, "sourceDriverId", sourceDriverId); AUTOCXXPY_POST_REGISTER_CLASS(OesInputSourceInfoT, c); + m.attr("_OesInputSourceInfo") = c; } void generate_class_SMsgHeadT(pybind11::module &m) { pybind11::class_ c(m, "SMsgHeadT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(SMsgHeadT, "msgFlag", msgFlag); c.AUTOCXXPY_DEF_PROPERTY(SMsgHeadT, "msgId", msgId); c.AUTOCXXPY_DEF_PROPERTY(SMsgHeadT, "status", status); c.AUTOCXXPY_DEF_PROPERTY(SMsgHeadT, "detailStatus", detailStatus); c.AUTOCXXPY_DEF_PROPERTY(SMsgHeadT, "msgSize", msgSize); AUTOCXXPY_POST_REGISTER_CLASS(SMsgHeadT, c); + m.attr("_SMsgHead") = c; } void generate_class_OesQryCursorT(pybind11::module &m) { pybind11::class_ c(m, "OesQryCursorT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryCursorT, "seqNo", seqNo); c.AUTOCXXPY_DEF_PROPERTY(OesQryCursorT, "isEnd", isEnd); c.AUTOCXXPY_DEF_PROPERTY(OesQryCursorT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(OesQryCursorT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesQryCursorT, c); + m.attr("_OesQryCursor") = c; } void generate_class_OesQryReqHeadT(pybind11::module &m) { pybind11::class_ c(m, "OesQryReqHeadT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryReqHeadT, "maxPageSize", maxPageSize); c.AUTOCXXPY_DEF_PROPERTY(OesQryReqHeadT, "lastPosition", lastPosition); AUTOCXXPY_POST_REGISTER_CLASS(OesQryReqHeadT, c); + m.attr("_OesQryReqHead") = c; } void generate_class_OesQryRspHeadT(pybind11::module &m) { pybind11::class_ c(m, "OesQryRspHeadT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryRspHeadT, "itemCount", itemCount); c.AUTOCXXPY_DEF_PROPERTY(OesQryRspHeadT, "lastPosition", lastPosition); c.AUTOCXXPY_DEF_PROPERTY(OesQryRspHeadT, "isEnd", isEnd); c.AUTOCXXPY_DEF_PROPERTY(OesQryRspHeadT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(OesQryRspHeadT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesQryRspHeadT, c); + m.attr("_OesQryRspHead") = c; } void generate_class_OesQryOrdFilterT(pybind11::module &m) { pybind11::class_ c(m, "OesQryOrdFilterT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryOrdFilterT, "custId", custId); c.AUTOCXXPY_DEF_PROPERTY(OesQryOrdFilterT, "invAcctId", invAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesQryOrdFilterT, "mktId", mktId); @@ -659,27 +728,33 @@ void generate_class_OesQryOrdFilterT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesQryOrdFilterT, "endTime", endTime); c.AUTOCXXPY_DEF_PROPERTY(OesQryOrdFilterT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesQryOrdFilterT, c); + m.attr("_OesQryOrdFilter") = c; } void generate_class_OesQryOrdReqT(pybind11::module &m) { pybind11::class_ c(m, "OesQryOrdReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryOrdReqT, "reqHead", reqHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryOrdReqT, "qryFilter", qryFilter); AUTOCXXPY_POST_REGISTER_CLASS(OesQryOrdReqT, c); + m.attr("_OesQryOrdReq") = c; } void generate_class_OesQryOrdRspT(pybind11::module &m) { pybind11::class_ c(m, "OesQryOrdRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryOrdRspT, "rspHead", rspHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryOrdRspT, "qryItems", qryItems); AUTOCXXPY_POST_REGISTER_CLASS(OesQryOrdRspT, c); + m.attr("_OesQryOrdRsp") = c; } void generate_class_OesQryTrdFilterT(pybind11::module &m) { pybind11::class_ c(m, "OesQryTrdFilterT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryTrdFilterT, "custId", custId); c.AUTOCXXPY_DEF_PROPERTY(OesQryTrdFilterT, "invAcctId", invAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesQryTrdFilterT, "mktId", mktId); @@ -693,36 +768,44 @@ void generate_class_OesQryTrdFilterT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesQryTrdFilterT, "endTime", endTime); c.AUTOCXXPY_DEF_PROPERTY(OesQryTrdFilterT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesQryTrdFilterT, c); + m.attr("_OesQryTrdFilter") = c; } void generate_class_OesQryTrdReqT(pybind11::module &m) { pybind11::class_ c(m, "OesQryTrdReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryTrdReqT, "reqHead", reqHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryTrdReqT, "qryFilter", qryFilter); AUTOCXXPY_POST_REGISTER_CLASS(OesQryTrdReqT, c); + m.attr("_OesQryTrdReq") = c; } void generate_class_OesQryTrdRspT(pybind11::module &m) { pybind11::class_ c(m, "OesQryTrdRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryTrdRspT, "rspHead", rspHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryTrdRspT, "qryItems", qryItems); AUTOCXXPY_POST_REGISTER_CLASS(OesQryTrdRspT, c); + m.attr("_OesQryTrdRsp") = c; } void generate_class_OesQryCashAssetFilterT(pybind11::module &m) { pybind11::class_ c(m, "OesQryCashAssetFilterT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryCashAssetFilterT, "custId", custId); c.AUTOCXXPY_DEF_PROPERTY(OesQryCashAssetFilterT, "cashAcctId", cashAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesQryCashAssetFilterT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesQryCashAssetFilterT, c); + m.attr("_OesQryCashAssetFilter") = c; } void generate_class_OesCashAssetItemT(pybind11::module &m) { pybind11::class_ c(m, "OesCashAssetItemT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesCashAssetItemT, "cashAcctId", cashAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesCashAssetItemT, "custId", custId); c.AUTOCXXPY_DEF_PROPERTY(OesCashAssetItemT, "currType", currType); @@ -750,27 +833,33 @@ void generate_class_OesCashAssetItemT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesCashAssetItemT, "currentAvailableBal", currentAvailableBal); c.AUTOCXXPY_DEF_PROPERTY(OesCashAssetItemT, "currentDrawableBal", currentDrawableBal); AUTOCXXPY_POST_REGISTER_CLASS(OesCashAssetItemT, c); + m.attr("_OesCashAssetItem") = c; } void generate_class_OesQryCashAssetReqT(pybind11::module &m) { pybind11::class_ c(m, "OesQryCashAssetReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryCashAssetReqT, "reqHead", reqHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryCashAssetReqT, "qryFilter", qryFilter); AUTOCXXPY_POST_REGISTER_CLASS(OesQryCashAssetReqT, c); + m.attr("_OesQryCashAssetReq") = c; } void generate_class_OesQryCashAssetRspT(pybind11::module &m) { pybind11::class_ c(m, "OesQryCashAssetRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryCashAssetRspT, "rspHead", rspHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryCashAssetRspT, "qryItems", qryItems); AUTOCXXPY_POST_REGISTER_CLASS(OesQryCashAssetRspT, c); + m.attr("_OesQryCashAssetRsp") = c; } void generate_class_OesCounterCashItemT(pybind11::module &m) { pybind11::class_ c(m, "OesCounterCashItemT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesCounterCashItemT, "cashAcctId", cashAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesCounterCashItemT, "custId", custId); c.AUTOCXXPY_DEF_PROPERTY(OesCounterCashItemT, "custName", custName); @@ -785,25 +874,31 @@ void generate_class_OesCounterCashItemT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesCounterCashItemT, "counterCashUpdateTime", counterCashUpdateTime); c.AUTOCXXPY_DEF_PROPERTY(OesCounterCashItemT, "__reserve", __reserve); AUTOCXXPY_POST_REGISTER_CLASS(OesCounterCashItemT, c); + m.attr("_OesCounterCashItem") = c; } void generate_class_OesQryCounterCashReqT(pybind11::module &m) { pybind11::class_ c(m, "OesQryCounterCashReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryCounterCashReqT, "cashAcctId", cashAcctId); AUTOCXXPY_POST_REGISTER_CLASS(OesQryCounterCashReqT, c); + m.attr("_OesQryCounterCashReq") = c; } void generate_class_OesQryCounterCashRspT(pybind11::module &m) { pybind11::class_ c(m, "OesQryCounterCashRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryCounterCashRspT, "counterCashItem", counterCashItem); AUTOCXXPY_POST_REGISTER_CLASS(OesQryCounterCashRspT, c); + m.attr("_OesQryCounterCashRsp") = c; } void generate_class_OesQryStkHoldingFilterT(pybind11::module &m) { pybind11::class_ c(m, "OesQryStkHoldingFilterT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryStkHoldingFilterT, "custId", custId); c.AUTOCXXPY_DEF_PROPERTY(OesQryStkHoldingFilterT, "invAcctId", invAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesQryStkHoldingFilterT, "securityId", securityId); @@ -812,11 +907,14 @@ void generate_class_OesQryStkHoldingFilterT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesQryStkHoldingFilterT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(OesQryStkHoldingFilterT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesQryStkHoldingFilterT, c); + m.attr("OesQryOptHoldingFilterT") = c; + m.attr("_OesQryStkHoldingFilter") = c; } void generate_class_OesStkHoldingItemT(pybind11::module &m) { pybind11::class_ c(m, "OesStkHoldingItemT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesStkHoldingItemT, "invAcctId", invAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesStkHoldingItemT, "securityId", securityId); c.AUTOCXXPY_DEF_PROPERTY(OesStkHoldingItemT, "mktId", mktId); @@ -848,27 +946,33 @@ void generate_class_OesStkHoldingItemT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesStkHoldingItemT, "sumHld", sumHld); c.AUTOCXXPY_DEF_PROPERTY(OesStkHoldingItemT, "costPrice", costPrice); AUTOCXXPY_POST_REGISTER_CLASS(OesStkHoldingItemT, c); + m.attr("_OesStkHoldingItem") = c; } void generate_class_OesQryStkHoldingReqT(pybind11::module &m) { pybind11::class_ c(m, "OesQryStkHoldingReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryStkHoldingReqT, "reqHead", reqHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryStkHoldingReqT, "qryFilter", qryFilter); AUTOCXXPY_POST_REGISTER_CLASS(OesQryStkHoldingReqT, c); + m.attr("_OesQryStkHoldingReq") = c; } void generate_class_OesQryStkHoldingRspT(pybind11::module &m) { pybind11::class_ c(m, "OesQryStkHoldingRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryStkHoldingRspT, "qryHead", qryHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryStkHoldingRspT, "qryItems", qryItems); AUTOCXXPY_POST_REGISTER_CLASS(OesQryStkHoldingRspT, c); + m.attr("_OesQryStkHoldingRsp") = c; } void generate_class_OesOptHoldingItemT(pybind11::module &m) { pybind11::class_ c(m, "OesOptHoldingItemT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesOptHoldingItemT, "invAcctId", invAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesOptHoldingItemT, "securityId", securityId); c.AUTOCXXPY_DEF_PROPERTY(OesOptHoldingItemT, "mktId", mktId); @@ -881,62 +985,76 @@ void generate_class_OesOptHoldingItemT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesOptHoldingItemT, "hldRB", hldRB); c.AUTOCXXPY_DEF_PROPERTY(OesOptHoldingItemT, "hldRC", hldRC); AUTOCXXPY_POST_REGISTER_CLASS(OesOptHoldingItemT, c); + m.attr("_OesOptHoldingItem") = c; } void generate_class_OesQryOptHoldingReqT(pybind11::module &m) { pybind11::class_ c(m, "OesQryOptHoldingReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryOptHoldingReqT, "reqHead", reqHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryOptHoldingReqT, "qryFilter", qryFilter); AUTOCXXPY_POST_REGISTER_CLASS(OesQryOptHoldingReqT, c); + m.attr("_OesQryOptHoldingReq") = c; } void generate_class_OesQryOptHoldingRspT(pybind11::module &m) { pybind11::class_ c(m, "OesQryOptHoldingRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryOptHoldingRspT, "rspHead", rspHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryOptHoldingRspT, "qryItems", qryItems); AUTOCXXPY_POST_REGISTER_CLASS(OesQryOptHoldingRspT, c); + m.attr("_OesQryHoldRsp") = c; } void generate_class_OesQryCustFilterT(pybind11::module &m) { pybind11::class_ c(m, "OesQryCustFilterT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryCustFilterT, "custId", custId); c.AUTOCXXPY_DEF_PROPERTY(OesQryCustFilterT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesQryCustFilterT, c); + m.attr("_OesQryCustFilter") = c; } void generate_class_OesQryCustReqT(pybind11::module &m) { pybind11::class_ c(m, "OesQryCustReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryCustReqT, "reqHead", reqHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryCustReqT, "qryFilter", qryFilter); AUTOCXXPY_POST_REGISTER_CLASS(OesQryCustReqT, c); + m.attr("_OesQryCustReq") = c; } void generate_class_OesQryCustRspT(pybind11::module &m) { pybind11::class_ c(m, "OesQryCustRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryCustRspT, "rspHead", rspHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryCustRspT, "qryItems", qryItems); AUTOCXXPY_POST_REGISTER_CLASS(OesQryCustRspT, c); + m.attr("_OesQryCustRsp") = c; } void generate_class_OesQryInvAcctFilterT(pybind11::module &m) { pybind11::class_ c(m, "OesQryInvAcctFilterT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryInvAcctFilterT, "custId", custId); c.AUTOCXXPY_DEF_PROPERTY(OesQryInvAcctFilterT, "invAcctId", invAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesQryInvAcctFilterT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesQryInvAcctFilterT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(OesQryInvAcctFilterT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesQryInvAcctFilterT, c); + m.attr("_OesQryInvAcctFilter") = c; } void generate_class_OesInvAcctItemT(pybind11::module &m) { pybind11::class_ c(m, "OesInvAcctItemT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesInvAcctItemT, "invAcctId", invAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesInvAcctItemT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesInvAcctItemT, "acctType", acctType); @@ -951,27 +1069,33 @@ void generate_class_OesInvAcctItemT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesInvAcctItemT, "subscriptionQuota", subscriptionQuota); c.AUTOCXXPY_DEF_PROPERTY(OesInvAcctItemT, "custId", custId); AUTOCXXPY_POST_REGISTER_CLASS(OesInvAcctItemT, c); + m.attr("_OesInvAcctItem") = c; } void generate_class_OesQryInvAcctReqT(pybind11::module &m) { pybind11::class_ c(m, "OesQryInvAcctReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryInvAcctReqT, "reqHead", reqHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryInvAcctReqT, "qryFilter", qryFilter); AUTOCXXPY_POST_REGISTER_CLASS(OesQryInvAcctReqT, c); + m.attr("_OesQryInvAcctReq") = c; } void generate_class_OesQryInvAcctRspT(pybind11::module &m) { pybind11::class_ c(m, "OesQryInvAcctRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryInvAcctRspT, "rspHead", rspHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryInvAcctRspT, "qryItems", qryItems); AUTOCXXPY_POST_REGISTER_CLASS(OesQryInvAcctRspT, c); + m.attr("_OesQryInvAcctRsp") = c; } void generate_class_OesInvAcctOverviewT(pybind11::module &m) { pybind11::class_ c(m, "OesInvAcctOverviewT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesInvAcctOverviewT, "invAcctId", invAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesInvAcctOverviewT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesInvAcctOverviewT, "acctType", acctType); @@ -995,11 +1119,13 @@ void generate_class_OesInvAcctOverviewT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesInvAcctOverviewT, "trdCnt", trdCnt); c.AUTOCXXPY_DEF_PROPERTY(OesInvAcctOverviewT, "__reserve", __reserve); AUTOCXXPY_POST_REGISTER_CLASS(OesInvAcctOverviewT, c); + m.attr("_OesInvAcctOverview") = c; } void generate_class_OesCashAcctOverviewT(pybind11::module &m) { pybind11::class_ c(m, "OesCashAcctOverviewT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesCashAcctOverviewT, "cashAcctId", cashAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesCashAcctOverviewT, "custId", custId); c.AUTOCXXPY_DEF_PROPERTY(OesCashAcctOverviewT, "bankId", bankId); @@ -1011,11 +1137,13 @@ void generate_class_OesCashAcctOverviewT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesCashAcctOverviewT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(OesCashAcctOverviewT, "__reserve", __reserve); AUTOCXXPY_POST_REGISTER_CLASS(OesCashAcctOverviewT, c); + m.attr("_OesCashAcctOverview") = c; } void generate_class_OesCustOverviewT(pybind11::module &m) { pybind11::class_ c(m, "OesCustOverviewT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesCustOverviewT, "custId", custId); c.AUTOCXXPY_DEF_PROPERTY(OesCustOverviewT, "custType", custType); c.AUTOCXXPY_DEF_PROPERTY(OesCustOverviewT, "status", status); @@ -1036,11 +1164,13 @@ void generate_class_OesCustOverviewT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesCustOverviewT, "szOptionInvAcct", szOptionInvAcct); c.AUTOCXXPY_DEF_PROPERTY(OesCustOverviewT, "__reserve", __reserve); AUTOCXXPY_POST_REGISTER_CLASS(OesCustOverviewT, c); + m.attr("_OesCustOverview") = c; } void generate_class_OesClientOverviewT(pybind11::module &m) { pybind11::class_ c(m, "OesClientOverviewT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesClientOverviewT, "clientId", clientId); c.AUTOCXXPY_DEF_PROPERTY(OesClientOverviewT, "clientType", clientType); c.AUTOCXXPY_DEF_PROPERTY(OesClientOverviewT, "clientStatus", clientStatus); @@ -1071,11 +1201,13 @@ void generate_class_OesClientOverviewT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesClientOverviewT, "__filler4", __filler4); c.AUTOCXXPY_DEF_PROPERTY(OesClientOverviewT, "custItems", custItems); AUTOCXXPY_POST_REGISTER_CLASS(OesClientOverviewT, c); + m.attr("_OesClientOverview") = c; } void generate_class_OesQryCommissionRateFilterT(pybind11::module &m) { pybind11::class_ c(m, "OesQryCommissionRateFilterT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryCommissionRateFilterT, "custId", custId); c.AUTOCXXPY_DEF_PROPERTY(OesQryCommissionRateFilterT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesQryCommissionRateFilterT, "securityType", securityType); @@ -1083,11 +1215,13 @@ void generate_class_OesQryCommissionRateFilterT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesQryCommissionRateFilterT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(OesQryCommissionRateFilterT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesQryCommissionRateFilterT, c); + m.attr("_OesQryCommissionRateFilter") = c; } void generate_class_OesCommissionRateItemT(pybind11::module &m) { pybind11::class_ c(m, "OesCommissionRateItemT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesCommissionRateItemT, "custId", custId); c.AUTOCXXPY_DEF_PROPERTY(OesCommissionRateItemT, "securityId", securityId); c.AUTOCXXPY_DEF_PROPERTY(OesCommissionRateItemT, "mktId", mktId); @@ -1102,27 +1236,33 @@ void generate_class_OesCommissionRateItemT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesCommissionRateItemT, "minFee", minFee); c.AUTOCXXPY_DEF_PROPERTY(OesCommissionRateItemT, "maxFee", maxFee); AUTOCXXPY_POST_REGISTER_CLASS(OesCommissionRateItemT, c); + m.attr("_OesCommissionRateItem") = c; } void generate_class_OesQryCommissionRateReqT(pybind11::module &m) { pybind11::class_ c(m, "OesQryCommissionRateReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryCommissionRateReqT, "reqHead", reqHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryCommissionRateReqT, "qryFilter", qryFilter); AUTOCXXPY_POST_REGISTER_CLASS(OesQryCommissionRateReqT, c); + m.attr("_OesQryCommissionRateReq") = c; } void generate_class_OesQryCommissionRateRspT(pybind11::module &m) { pybind11::class_ c(m, "OesQryCommissionRateRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryCommissionRateRspT, "rspHead", rspHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryCommissionRateRspT, "qryItems", qryItems); AUTOCXXPY_POST_REGISTER_CLASS(OesQryCommissionRateRspT, c); + m.attr("_OesQryCommissionRateRsp") = c; } void generate_class_OesQryFundTransferSerialFilterT(pybind11::module &m) { pybind11::class_ c(m, "OesQryFundTransferSerialFilterT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryFundTransferSerialFilterT, "custId", custId); c.AUTOCXXPY_DEF_PROPERTY(OesQryFundTransferSerialFilterT, "cashAcctId", cashAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesQryFundTransferSerialFilterT, "clSeqNo", clSeqNo); @@ -1130,27 +1270,33 @@ void generate_class_OesQryFundTransferSerialFilterT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesQryFundTransferSerialFilterT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(OesQryFundTransferSerialFilterT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesQryFundTransferSerialFilterT, c); + m.attr("_OesQryFundTransferSerialFilter") = c; } void generate_class_OesQryFundTransferSerialReqT(pybind11::module &m) { pybind11::class_ c(m, "OesQryFundTransferSerialReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryFundTransferSerialReqT, "reqHead", reqHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryFundTransferSerialReqT, "qryFilter", qryFilter); AUTOCXXPY_POST_REGISTER_CLASS(OesQryFundTransferSerialReqT, c); + m.attr("_OesQryFundTransferSerialReq") = c; } void generate_class_OesQryFundTransferSerialRspT(pybind11::module &m) { pybind11::class_ c(m, "OesQryFundTransferSerialRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryFundTransferSerialRspT, "rspHead", rspHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryFundTransferSerialRspT, "qryItems", qryItems); AUTOCXXPY_POST_REGISTER_CLASS(OesQryFundTransferSerialRspT, c); + m.attr("_OesQryFundTransferSerialRsp") = c; } void generate_class_OesQryLotWinningFilterT(pybind11::module &m) { pybind11::class_ c(m, "OesQryLotWinningFilterT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryLotWinningFilterT, "custId", custId); c.AUTOCXXPY_DEF_PROPERTY(OesQryLotWinningFilterT, "invAcctId", invAcctId); c.AUTOCXXPY_DEF_PROPERTY(OesQryLotWinningFilterT, "mktId", mktId); @@ -1160,53 +1306,65 @@ void generate_class_OesQryLotWinningFilterT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesQryLotWinningFilterT, "endDate", endDate); c.AUTOCXXPY_DEF_PROPERTY(OesQryLotWinningFilterT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesQryLotWinningFilterT, c); + m.attr("_OesQryLotWinningFilter") = c; } void generate_class_OesQryLotWinningReqT(pybind11::module &m) { pybind11::class_ c(m, "OesQryLotWinningReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryLotWinningReqT, "reqHead", reqHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryLotWinningReqT, "qryFilter", qryFilter); AUTOCXXPY_POST_REGISTER_CLASS(OesQryLotWinningReqT, c); + m.attr("_OesQryLotWinningReq") = c; } void generate_class_OesQryLotWinningRspT(pybind11::module &m) { pybind11::class_ c(m, "OesQryLotWinningRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryLotWinningRspT, "rspHead", rspHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryLotWinningRspT, "qryItems", qryItems); AUTOCXXPY_POST_REGISTER_CLASS(OesQryLotWinningRspT, c); + m.attr("_OesQryLotWinningRsp") = c; } void generate_class_OesQryIssueFilterT(pybind11::module &m) { pybind11::class_ c(m, "OesQryIssueFilterT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryIssueFilterT, "securityId", securityId); c.AUTOCXXPY_DEF_PROPERTY(OesQryIssueFilterT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesQryIssueFilterT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(OesQryIssueFilterT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesQryIssueFilterT, c); + m.attr("_OesQryIssueFilter") = c; } void generate_class_OesQryIssueReqT(pybind11::module &m) { pybind11::class_ c(m, "OesQryIssueReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryIssueReqT, "reqHead", reqHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryIssueReqT, "qryFilter", qryFilter); AUTOCXXPY_POST_REGISTER_CLASS(OesQryIssueReqT, c); + m.attr("_OesQryIssueReq") = c; } void generate_class_OesQryIssueRspT(pybind11::module &m) { pybind11::class_ c(m, "OesQryIssueRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryIssueRspT, "rspHead", rspHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryIssueRspT, "qryItems", qryItems); AUTOCXXPY_POST_REGISTER_CLASS(OesQryIssueRspT, c); + m.attr("_OesQryIssueRsp") = c; } void generate_class_OesQryStockFilterT(pybind11::module &m) { pybind11::class_ c(m, "OesQryStockFilterT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryStockFilterT, "securityId", securityId); c.AUTOCXXPY_DEF_PROPERTY(OesQryStockFilterT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesQryStockFilterT, "securityType", securityType); @@ -1214,54 +1372,67 @@ void generate_class_OesQryStockFilterT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesQryStockFilterT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(OesQryStockFilterT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesQryStockFilterT, c); + m.attr("_OesQryStockFilter") = c; } void generate_class_OesQryStockReqT(pybind11::module &m) { pybind11::class_ c(m, "OesQryStockReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryStockReqT, "reqHead", reqHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryStockReqT, "qryFilter", qryFilter); AUTOCXXPY_POST_REGISTER_CLASS(OesQryStockReqT, c); + m.attr("_OesQryStockReq") = c; } void generate_class_OesQryStockRspT(pybind11::module &m) { pybind11::class_ c(m, "OesQryStockRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryStockRspT, "rspHead", rspHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryStockRspT, "qryItems", qryItems); AUTOCXXPY_POST_REGISTER_CLASS(OesQryStockRspT, c); + m.attr("_OesQryStockRsp") = c; } void generate_class_OesQryEtfFilterT(pybind11::module &m) { pybind11::class_ c(m, "OesQryEtfFilterT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryEtfFilterT, "fundId", fundId); c.AUTOCXXPY_DEF_PROPERTY(OesQryEtfFilterT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesQryEtfFilterT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(OesQryEtfFilterT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesQryEtfFilterT, c); + m.attr("_OesQryEtfFilter") = c; } void generate_class_OesQryEtfReqT(pybind11::module &m) { pybind11::class_ c(m, "OesQryEtfReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryEtfReqT, "reqHead", reqHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryEtfReqT, "qryFilter", qryFilter); AUTOCXXPY_POST_REGISTER_CLASS(OesQryEtfReqT, c); + m.attr("_OesQryEtfReq") = c; } void generate_class_OesQryEtfRspT(pybind11::module &m) { pybind11::class_ c(m, "OesQryEtfRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryEtfRspT, "rspHead", rspHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryEtfRspT, "qryItems", qryItems); AUTOCXXPY_POST_REGISTER_CLASS(OesQryEtfRspT, c); + m.attr("_OesQryEtfRsp") = c; } void generate_class_OesQryEtfComponentFilterT(pybind11::module &m) { pybind11::class_ c(m, "OesQryEtfComponentFilterT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryEtfComponentFilterT, "fundId", fundId); c.AUTOCXXPY_DEF_PROPERTY(OesQryEtfComponentFilterT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesQryEtfComponentFilterT, c); + m.attr("_OesQryEtfComponentFilter") = c; } diff --git a/vnpy/api/oes/vnoes/generated_files/classes_2.cpp b/vnpy/api/oes/vnoes/generated_files/classes_2.cpp index 930d9812..7765da81 100644 --- a/vnpy/api/oes/vnoes/generated_files/classes_2.cpp +++ b/vnpy/api/oes/vnoes/generated_files/classes_2.cpp @@ -16,7 +16,8 @@ void generate_class_OesEtfComponentItemT(pybind11::module &m) { pybind11::class_ c(m, "OesEtfComponentItemT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesEtfComponentItemT, "securityId", securityId); c.AUTOCXXPY_DEF_PROPERTY(OesEtfComponentItemT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesEtfComponentItemT, "subFlag", subFlag); @@ -29,87 +30,107 @@ void generate_class_OesEtfComponentItemT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesEtfComponentItemT, "redemptionCashSub", redemptionCashSub); c.AUTOCXXPY_DEF_PROPERTY(OesEtfComponentItemT, "fundId", fundId); AUTOCXXPY_POST_REGISTER_CLASS(OesEtfComponentItemT, c); + m.attr("_OesEtfComponentItem") = c; } void generate_class_OesQryEtfComponentReqT(pybind11::module &m) { pybind11::class_ c(m, "OesQryEtfComponentReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryEtfComponentReqT, "reqHead", reqHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryEtfComponentReqT, "qryFilter", qryFilter); AUTOCXXPY_POST_REGISTER_CLASS(OesQryEtfComponentReqT, c); + m.attr("_OesQryEtfComponentReq") = c; } void generate_class_OesQryEtfComponentRspT(pybind11::module &m) { pybind11::class_ c(m, "OesQryEtfComponentRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryEtfComponentRspT, "rspHead", rspHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryEtfComponentRspT, "qryItems", qryItems); AUTOCXXPY_POST_REGISTER_CLASS(OesQryEtfComponentRspT, c); + m.attr("_OesQryEtfComponentRsp") = c; } void generate_class_OesQryOptionFilterT(pybind11::module &m) { pybind11::class_ c(m, "OesQryOptionFilterT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryOptionFilterT, "securityId", securityId); c.AUTOCXXPY_DEF_PROPERTY(OesQryOptionFilterT, "mktId", mktId); c.AUTOCXXPY_DEF_PROPERTY(OesQryOptionFilterT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(OesQryOptionFilterT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesQryOptionFilterT, c); + m.attr("_OesQryOptionFilter") = c; } void generate_class_OesQryOptionReqT(pybind11::module &m) { pybind11::class_ c(m, "OesQryOptionReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryOptionReqT, "reqHead", reqHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryOptionReqT, "qryFilter", qryFilter); AUTOCXXPY_POST_REGISTER_CLASS(OesQryOptionReqT, c); + m.attr("_OesQryOptionReq") = c; } void generate_class_OesQryOptionRspT(pybind11::module &m) { pybind11::class_ c(m, "OesQryOptionRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryOptionRspT, "rspHead", rspHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryOptionRspT, "qryItems", qryItems); AUTOCXXPY_POST_REGISTER_CLASS(OesQryOptionRspT, c); + m.attr("_OesQryOptionRsp") = c; } void generate_class_OesQryTradingDayRspT(pybind11::module &m) { pybind11::class_ c(m, "OesQryTradingDayRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryTradingDayRspT, "tradingDay", tradingDay); c.AUTOCXXPY_DEF_PROPERTY(OesQryTradingDayRspT, "__filler", __filler); AUTOCXXPY_POST_REGISTER_CLASS(OesQryTradingDayRspT, c); + m.attr("_OesQryTradingDayRsp") = c; } void generate_class_OesQryMarketStateFilterT(pybind11::module &m) { pybind11::class_ c(m, "OesQryMarketStateFilterT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryMarketStateFilterT, "exchId", exchId); c.AUTOCXXPY_DEF_PROPERTY(OesQryMarketStateFilterT, "platformId", platformId); c.AUTOCXXPY_DEF_PROPERTY(OesQryMarketStateFilterT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(OesQryMarketStateFilterT, "userInfo", userInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesQryMarketStateFilterT, c); + m.attr("_OesQryMarketStateFilter") = c; } void generate_class_OesQryMarketStateReqT(pybind11::module &m) { pybind11::class_ c(m, "OesQryMarketStateReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryMarketStateReqT, "reqHead", reqHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryMarketStateReqT, "qryFilter", qryFilter); AUTOCXXPY_POST_REGISTER_CLASS(OesQryMarketStateReqT, c); + m.attr("_OesQryMarketStateReq") = c; } void generate_class_OesQryMarketStateRspT(pybind11::module &m) { pybind11::class_ c(m, "OesQryMarketStateRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryMarketStateRspT, "rspHead", rspHead); c.AUTOCXXPY_DEF_PROPERTY(OesQryMarketStateRspT, "qryItems", qryItems); AUTOCXXPY_POST_REGISTER_CLASS(OesQryMarketStateRspT, c); + m.attr("_OesQryMarketStateRsp") = c; } void generate_class_OesQryReqMsgT(pybind11::module &m) { pybind11::class_ c(m, "OesQryReqMsgT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryReqMsgT, "qryOrd", qryOrd); c.AUTOCXXPY_DEF_PROPERTY(OesQryReqMsgT, "qryTrd", qryTrd); c.AUTOCXXPY_DEF_PROPERTY(OesQryReqMsgT, "qryCashAsset", qryCashAsset); @@ -128,11 +149,13 @@ void generate_class_OesQryReqMsgT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesQryReqMsgT, "qryMktState", qryMktState); c.AUTOCXXPY_DEF_PROPERTY(OesQryReqMsgT, "qryCounterCash", qryCounterCash); AUTOCXXPY_POST_REGISTER_CLASS(OesQryReqMsgT, c); + m.attr("_OesQryReqMsg") = c; } void generate_class_OesQryRspMsgT(pybind11::module &m) { pybind11::class_ c(m, "OesQryRspMsgT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesQryRspMsgT, "ordRsp", ordRsp); c.AUTOCXXPY_DEF_PROPERTY(OesQryRspMsgT, "trdRsp", trdRsp); c.AUTOCXXPY_DEF_PROPERTY(OesQryRspMsgT, "cashAssetRsp", cashAssetRsp); @@ -153,11 +176,13 @@ void generate_class_OesQryRspMsgT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesQryRspMsgT, "clientOverview", clientOverview); c.AUTOCXXPY_DEF_PROPERTY(OesQryRspMsgT, "counterCashRsp", counterCashRsp); AUTOCXXPY_POST_REGISTER_CLASS(OesQryRspMsgT, c); + m.attr("_OesQryRspMsg") = c; } void generate_class_OesLogonReqT(pybind11::module &m) { pybind11::class_ c(m, "OesLogonReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesLogonReqT, "encryptMethod", encryptMethod); c.AUTOCXXPY_DEF_PROPERTY(OesLogonReqT, "heartBtInt", heartBtInt); c.AUTOCXXPY_DEF_PROPERTY(OesLogonReqT, "username", username); @@ -173,11 +198,13 @@ void generate_class_OesLogonReqT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesLogonReqT, "lastOutMsgSeq", lastOutMsgSeq); c.AUTOCXXPY_DEF_PROPERTY(OesLogonReqT, "clientDriverId", clientDriverId); AUTOCXXPY_POST_REGISTER_CLASS(OesLogonReqT, c); + m.attr("_OesLogonReq") = c; } void generate_class_OesLogonRspT(pybind11::module &m) { pybind11::class_ c(m, "OesLogonRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesLogonRspT, "encryptMethod", encryptMethod); c.AUTOCXXPY_DEF_PROPERTY(OesLogonRspT, "heartBtInt", heartBtInt); c.AUTOCXXPY_DEF_PROPERTY(OesLogonRspT, "username", username); @@ -194,40 +221,48 @@ void generate_class_OesLogonRspT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesLogonRspT, "lastInMsgSeq", lastInMsgSeq); c.AUTOCXXPY_DEF_PROPERTY(OesLogonRspT, "lastOutMsgSeq", lastOutMsgSeq); AUTOCXXPY_POST_REGISTER_CLASS(OesLogonRspT, c); + m.attr("_OesLogonRsp") = c; } void generate_class_OesReportSynchronizationReqT(pybind11::module &m) { pybind11::class_ c(m, "OesReportSynchronizationReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesReportSynchronizationReqT, "lastRptSeqNum", lastRptSeqNum); c.AUTOCXXPY_DEF_PROPERTY(OesReportSynchronizationReqT, "subscribeEnvId", subscribeEnvId); c.AUTOCXXPY_DEF_PROPERTY(OesReportSynchronizationReqT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(OesReportSynchronizationReqT, "subscribeRptTypes", subscribeRptTypes); AUTOCXXPY_POST_REGISTER_CLASS(OesReportSynchronizationReqT, c); + m.attr("_OesReportSynchronizationReq") = c; } void generate_class_OesReportSynchronizationRspT(pybind11::module &m) { pybind11::class_ c(m, "OesReportSynchronizationRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesReportSynchronizationRspT, "lastRptSeqNum", lastRptSeqNum); c.AUTOCXXPY_DEF_PROPERTY(OesReportSynchronizationRspT, "subscribeEnvId", subscribeEnvId); c.AUTOCXXPY_DEF_PROPERTY(OesReportSynchronizationRspT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(OesReportSynchronizationRspT, "subscribeRptTypes", subscribeRptTypes); AUTOCXXPY_POST_REGISTER_CLASS(OesReportSynchronizationRspT, c); + m.attr("_OesReportSynchronizationRsp") = c; } void generate_class_OesTestRequestReqT(pybind11::module &m) { pybind11::class_ c(m, "OesTestRequestReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesTestRequestReqT, "testReqId", testReqId); c.AUTOCXXPY_DEF_PROPERTY(OesTestRequestReqT, "sendTime", sendTime); c.AUTOCXXPY_DEF_PROPERTY(OesTestRequestReqT, "__filler", __filler); AUTOCXXPY_POST_REGISTER_CLASS(OesTestRequestReqT, c); + m.attr("_OesTestRequestReq") = c; } void generate_class_OesTestRequestRspT(pybind11::module &m) { pybind11::class_ c(m, "OesTestRequestRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesTestRequestRspT, "testReqId", testReqId); c.AUTOCXXPY_DEF_PROPERTY(OesTestRequestRspT, "origSendTime", origSendTime); c.AUTOCXXPY_DEF_PROPERTY(OesTestRequestRspT, "__filler1", __filler1); @@ -237,11 +272,13 @@ void generate_class_OesTestRequestRspT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesTestRequestRspT, "__collectedTime", __collectedTime); c.AUTOCXXPY_DEF_PROPERTY(OesTestRequestRspT, "__pushingTime", __pushingTime); AUTOCXXPY_POST_REGISTER_CLASS(OesTestRequestRspT, c); + m.attr("_OesTestRequestRsp") = c; } void generate_class_OesChangePasswordReqT(pybind11::module &m) { pybind11::class_ c(m, "OesChangePasswordReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesChangePasswordReqT, "encryptMethod", encryptMethod); c.AUTOCXXPY_DEF_PROPERTY(OesChangePasswordReqT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(OesChangePasswordReqT, "username", username); @@ -249,11 +286,13 @@ void generate_class_OesChangePasswordReqT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesChangePasswordReqT, "oldPassword", oldPassword); c.AUTOCXXPY_DEF_PROPERTY(OesChangePasswordReqT, "newPassword", newPassword); AUTOCXXPY_POST_REGISTER_CLASS(OesChangePasswordReqT, c); + m.attr("_OesChangePasswordReq") = c; } void generate_class_OesChangePasswordRspT(pybind11::module &m) { pybind11::class_ c(m, "OesChangePasswordRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesChangePasswordRspT, "encryptMethod", encryptMethod); c.AUTOCXXPY_DEF_PROPERTY(OesChangePasswordRspT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(OesChangePasswordRspT, "username", username); @@ -265,38 +304,46 @@ void generate_class_OesChangePasswordRspT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesChangePasswordRspT, "transTime", transTime); c.AUTOCXXPY_DEF_PROPERTY(OesChangePasswordRspT, "rejReason", rejReason); AUTOCXXPY_POST_REGISTER_CLASS(OesChangePasswordRspT, c); + m.attr("_OesChangePasswordRsp") = c; } void generate_class_OesBatchOrdersHeadT(pybind11::module &m) { pybind11::class_ c(m, "OesBatchOrdersHeadT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesBatchOrdersHeadT, "itemCount", itemCount); c.AUTOCXXPY_DEF_PROPERTY(OesBatchOrdersHeadT, "__filler", __filler); AUTOCXXPY_POST_REGISTER_CLASS(OesBatchOrdersHeadT, c); + m.attr("_OesBatchOrdersHead") = c; } void generate_class_OesBatchOrdersReqT(pybind11::module &m) { pybind11::class_ c(m, "OesBatchOrdersReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesBatchOrdersReqT, "batchHead", batchHead); c.AUTOCXXPY_DEF_PROPERTY(OesBatchOrdersReqT, "items", items); AUTOCXXPY_POST_REGISTER_CLASS(OesBatchOrdersReqT, c); + m.attr("_OesBatchOrdersReq") = c; } void generate_class_OesRptMsgHeadT(pybind11::module &m) { pybind11::class_ c(m, "OesRptMsgHeadT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesRptMsgHeadT, "rptSeqNum", rptSeqNum); c.AUTOCXXPY_DEF_PROPERTY(OesRptMsgHeadT, "rptMsgType", rptMsgType); c.AUTOCXXPY_DEF_PROPERTY(OesRptMsgHeadT, "execType", execType); c.AUTOCXXPY_DEF_PROPERTY(OesRptMsgHeadT, "bodyLength", bodyLength); c.AUTOCXXPY_DEF_PROPERTY(OesRptMsgHeadT, "ordRejReason", ordRejReason); AUTOCXXPY_POST_REGISTER_CLASS(OesRptMsgHeadT, c); + m.attr("_OesRptMsgHead") = c; } void generate_class_OesRptMsgBodyT(pybind11::module &m) { pybind11::class_ c(m, "OesRptMsgBodyT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesRptMsgBodyT, "ordInsertRsp", ordInsertRsp); c.AUTOCXXPY_DEF_PROPERTY(OesRptMsgBodyT, "ordRejectRsp", ordRejectRsp); c.AUTOCXXPY_DEF_PROPERTY(OesRptMsgBodyT, "ordCnfm", ordCnfm); @@ -307,19 +354,23 @@ void generate_class_OesRptMsgBodyT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesRptMsgBodyT, "stkHoldingRpt", stkHoldingRpt); c.AUTOCXXPY_DEF_PROPERTY(OesRptMsgBodyT, "optHoldingRpt", optHoldingRpt); AUTOCXXPY_POST_REGISTER_CLASS(OesRptMsgBodyT, c); + m.attr("_OesRptMsgBody") = c; } void generate_class_OesRptMsgT(pybind11::module &m) { pybind11::class_ c(m, "OesRptMsgT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesRptMsgT, "rptHead", rptHead); c.AUTOCXXPY_DEF_PROPERTY(OesRptMsgT, "rptBody", rptBody); AUTOCXXPY_POST_REGISTER_CLASS(OesRptMsgT, c); + m.attr("_OesRptMsg") = c; } void generate_class_OesReqMsgBodyT(pybind11::module &m) { pybind11::class_ c(m, "OesReqMsgBodyT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesReqMsgBodyT, "ordReq", ordReq); c.AUTOCXXPY_DEF_PROPERTY(OesReqMsgBodyT, "ordCancelReq", ordCancelReq); c.AUTOCXXPY_DEF_PROPERTY(OesReqMsgBodyT, "batchOrdersReq", batchOrdersReq); @@ -329,11 +380,13 @@ void generate_class_OesReqMsgBodyT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesReqMsgBodyT, "rptSyncReq", rptSyncReq); c.AUTOCXXPY_DEF_PROPERTY(OesReqMsgBodyT, "logonReq", logonReq); AUTOCXXPY_POST_REGISTER_CLASS(OesReqMsgBodyT, c); + m.attr("_OesReqMsgBody") = c; } void generate_class_OesRspMsgBodyT(pybind11::module &m) { pybind11::class_ c(m, "OesRspMsgBodyT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesRspMsgBodyT, "rptMsg", rptMsg); c.AUTOCXXPY_DEF_PROPERTY(OesRspMsgBodyT, "mktStateRpt", mktStateRpt); c.AUTOCXXPY_DEF_PROPERTY(OesRspMsgBodyT, "changePasswordRsp", changePasswordRsp); @@ -341,11 +394,13 @@ void generate_class_OesRspMsgBodyT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(OesRspMsgBodyT, "reportSynchronizationRsp", reportSynchronizationRsp); c.AUTOCXXPY_DEF_PROPERTY(OesRspMsgBodyT, "logonRsp", logonRsp); AUTOCXXPY_POST_REGISTER_CLASS(OesRspMsgBodyT, c); + m.attr("_OesRspMsgBody") = c; } void generate_class_SErrMsgT(pybind11::module &m) { pybind11::class_ c(m, "SErrMsgT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(SErrMsgT, "__index", __index); c.AUTOCXXPY_DEF_PROPERTY(SErrMsgT, "MODULE", MODULE); c.AUTOCXXPY_DEF_PROPERTY(SErrMsgT, "CODE", CODE); @@ -353,21 +408,25 @@ void generate_class_SErrMsgT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(SErrMsgT, "__msgSize", __msgSize); c.AUTOCXXPY_DEF_PROPERTY(SErrMsgT, "MSG", MSG); AUTOCXXPY_POST_REGISTER_CLASS(SErrMsgT, c); + m.attr("_SErrMsg") = c; } void generate_class_SDataBufferT(pybind11::module &m) { pybind11::class_ c(m, "SDataBufferT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(SDataBufferT, "dataSize", dataSize); c.AUTOCXXPY_DEF_PROPERTY(SDataBufferT, "bufSize", bufSize); c.AUTOCXXPY_DEF_PROPERTY(SDataBufferT, "buffer", buffer); c.AUTOCXXPY_DEF_PROPERTY(SDataBufferT, "__ref", __ref); AUTOCXXPY_POST_REGISTER_CLASS(SDataBufferT, c); + m.attr("_SDataBuffer") = c; } void generate_class__SDataBufferVar(pybind11::module &m) { pybind11::class_<_SDataBufferVar> c(m, "_SDataBufferVar"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v<_SDataBufferVar>) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(_SDataBufferVar, "dataSize", dataSize); c.AUTOCXXPY_DEF_PROPERTY(_SDataBufferVar, "bufSize", bufSize); c.AUTOCXXPY_DEF_PROPERTY(_SDataBufferVar, "buffer", buffer); @@ -377,22 +436,27 @@ void generate_class__SDataBufferVar(pybind11::module &m) void generate_class_SSocketUriInfoT(pybind11::module &m) { pybind11::class_ c(m, "SSocketUriInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(SSocketUriInfoT, "uri", uri); AUTOCXXPY_POST_REGISTER_CLASS(SSocketUriInfoT, c); + m.attr("_SSocketUriInfo") = c; } void generate_class_SSocketIpPortInfoT(pybind11::module &m) { pybind11::class_ c(m, "SSocketIpPortInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(SSocketIpPortInfoT, "port", port); c.AUTOCXXPY_DEF_PROPERTY(SSocketIpPortInfoT, "ip", ip); AUTOCXXPY_POST_REGISTER_CLASS(SSocketIpPortInfoT, c); + m.attr("_SSocketIpPortInfo") = c; } void generate_class_SSocketChannelInfoT(pybind11::module &m) { pybind11::class_ c(m, "SSocketChannelInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(SSocketChannelInfoT, "remotePort", remotePort); c.AUTOCXXPY_DEF_PROPERTY(SSocketChannelInfoT, "protocolType", protocolType); c.AUTOCXXPY_DEF_PROPERTY(SSocketChannelInfoT, "_isNetByteOrder", _isNetByteOrder); @@ -400,11 +464,13 @@ void generate_class_SSocketChannelInfoT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(SSocketChannelInfoT, "_isSendBroken", _isSendBroken); c.AUTOCXXPY_DEF_PROPERTY(SSocketChannelInfoT, "remoteAddr", remoteAddr); AUTOCXXPY_POST_REGISTER_CLASS(SSocketChannelInfoT, c); + m.attr("_SSocketChannelInfo") = c; } void generate_class_SSocketOptionConfigT(pybind11::module &m) { pybind11::class_ c(m, "SSocketOptionConfigT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(SSocketOptionConfigT, "soRcvbuf", soRcvbuf); c.AUTOCXXPY_DEF_PROPERTY(SSocketOptionConfigT, "soSndbuf", soSndbuf); c.AUTOCXXPY_DEF_PROPERTY(SSocketOptionConfigT, "tcpNodelay", tcpNodelay); @@ -422,11 +488,13 @@ void generate_class_SSocketOptionConfigT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(SSocketOptionConfigT, "localSendingIp", localSendingIp); c.AUTOCXXPY_DEF_PROPERTY(SSocketOptionConfigT, "mcastInterfaceIp", mcastInterfaceIp); AUTOCXXPY_POST_REGISTER_CLASS(SSocketOptionConfigT, c); + m.attr("_SSocketOptionConfig") = c; } void generate_class_SGeneralClientChannelT(pybind11::module &m) { pybind11::class_ c(m, "SGeneralClientChannelT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientChannelT, "heartBtInt", heartBtInt); c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientChannelT, "testReqInt", testReqInt); c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientChannelT, "protocolType", protocolType); @@ -463,11 +531,15 @@ void generate_class_SGeneralClientChannelT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientChannelT, "__reserveData", __reserveData); c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientChannelT, "__extData", __extData); AUTOCXXPY_POST_REGISTER_CLASS(SGeneralClientChannelT, c); + m.attr("MdsApiSessionInfoT") = c; + m.attr("_SGeneralClientChannel") = c; + m.attr("OesApiSessionInfoT") = c; } void generate_class_SGeneralClientChannelGroupT(pybind11::module &m) { pybind11::class_ c(m, "SGeneralClientChannelGroupT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientChannelGroupT, "channelCount", channelCount); c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientChannelGroupT, "__customFlag", __customFlag); c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientChannelGroupT, "channelList", channelList); @@ -476,11 +548,15 @@ void generate_class_SGeneralClientChannelGroupT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientChannelGroupT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientChannelGroupT, "__fdSet", __fdSet); AUTOCXXPY_POST_REGISTER_CLASS(SGeneralClientChannelGroupT, c); + m.attr("_SGeneralClientChannelGroup") = c; + m.attr("OesApiChannelGroupT") = c; + m.attr("MdsApiChannelGroupT") = c; } void generate_class_SGeneralClientAddrInfoT(pybind11::module &m) { pybind11::class_ c(m, "SGeneralClientAddrInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientAddrInfoT, "uri", uri); c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientAddrInfoT, "targetCompId", targetCompId); c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientAddrInfoT, "username", username); @@ -488,11 +564,15 @@ void generate_class_SGeneralClientAddrInfoT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientAddrInfoT, "hostNum", hostNum); c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientAddrInfoT, "__filler", __filler); AUTOCXXPY_POST_REGISTER_CLASS(SGeneralClientAddrInfoT, c); + m.attr("MdsApiAddrInfoT") = c; + m.attr("OesApiAddrInfoT") = c; + m.attr("_SGeneralClientAddrInfo") = c; } void generate_class_SGeneralClientRemoteCfgT(pybind11::module &m) { pybind11::class_ c(m, "SGeneralClientRemoteCfgT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientRemoteCfgT, "addrCnt", addrCnt); c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientRemoteCfgT, "heartBtInt", heartBtInt); c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientRemoteCfgT, "clusterType", clusterType); @@ -505,39 +585,49 @@ void generate_class_SGeneralClientRemoteCfgT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientRemoteCfgT, "addrList", addrList); c.AUTOCXXPY_DEF_PROPERTY(SGeneralClientRemoteCfgT, "socketOpt", socketOpt); AUTOCXXPY_POST_REGISTER_CLASS(SGeneralClientRemoteCfgT, c); + m.attr("_SGeneralClientRemoteCfg") = c; + m.attr("MdsApiRemoteCfgT") = c; + m.attr("OesApiRemoteCfgT") = c; } void generate_class_OesApiSubscribeInfoT(pybind11::module &m) { pybind11::class_ c(m, "OesApiSubscribeInfoT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesApiSubscribeInfoT, "clEnvId", clEnvId); c.AUTOCXXPY_DEF_PROPERTY(OesApiSubscribeInfoT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(OesApiSubscribeInfoT, "rptTypes", rptTypes); AUTOCXXPY_POST_REGISTER_CLASS(OesApiSubscribeInfoT, c); + m.attr("_OesApiSubscribeInfo") = c; } void generate_class_OesApiClientCfgT(pybind11::module &m) { pybind11::class_ c(m, "OesApiClientCfgT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesApiClientCfgT, "ordChannelCfg", ordChannelCfg); c.AUTOCXXPY_DEF_PROPERTY(OesApiClientCfgT, "rptChannelCfg", rptChannelCfg); c.AUTOCXXPY_DEF_PROPERTY(OesApiClientCfgT, "qryChannelCfg", qryChannelCfg); c.AUTOCXXPY_DEF_PROPERTY(OesApiClientCfgT, "subscribeInfo", subscribeInfo); AUTOCXXPY_POST_REGISTER_CLASS(OesApiClientCfgT, c); + m.attr("_OesApiClientCfg") = c; } void generate_class_OesApiClientEnvT(pybind11::module &m) { pybind11::class_ c(m, "OesApiClientEnvT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(OesApiClientEnvT, "ordChannel", ordChannel); c.AUTOCXXPY_DEF_PROPERTY(OesApiClientEnvT, "rptChannel", rptChannel); c.AUTOCXXPY_DEF_PROPERTY(OesApiClientEnvT, "qryChannel", qryChannel); AUTOCXXPY_POST_REGISTER_CLASS(OesApiClientEnvT, c); + m.attr("_OesApiClientEnv") = c; } void generate_class_MdsTradingSessionStatusMsgT(pybind11::module &m) { pybind11::class_ c(m, "MdsTradingSessionStatusMsgT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsTradingSessionStatusMsgT, "exchId", exchId); c.AUTOCXXPY_DEF_PROPERTY(MdsTradingSessionStatusMsgT, "securityType", securityType); c.AUTOCXXPY_DEF_PROPERTY(MdsTradingSessionStatusMsgT, "__isRepeated", __isRepeated); @@ -557,11 +647,13 @@ void generate_class_MdsTradingSessionStatusMsgT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsTradingSessionStatusMsgT, "__processedTime", __processedTime); c.AUTOCXXPY_DEF_PROPERTY(MdsTradingSessionStatusMsgT, "__pushingTime", __pushingTime); AUTOCXXPY_POST_REGISTER_CLASS(MdsTradingSessionStatusMsgT, c); + m.attr("_MdsTradingSessionStatusMsg") = c; } void generate_class_MdsSecurityStatusMsgT(pybind11::module &m) { pybind11::class_ c(m, "MdsSecurityStatusMsgT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsSecurityStatusMsgT, "exchId", exchId); c.AUTOCXXPY_DEF_PROPERTY(MdsSecurityStatusMsgT, "securityType", securityType); c.AUTOCXXPY_DEF_PROPERTY(MdsSecurityStatusMsgT, "__isRepeated", __isRepeated); @@ -586,20 +678,24 @@ void generate_class_MdsSecurityStatusMsgT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsSecurityStatusMsgT, "__processedTime", __processedTime); c.AUTOCXXPY_DEF_PROPERTY(MdsSecurityStatusMsgT, "__pushingTime", __pushingTime); AUTOCXXPY_POST_REGISTER_CLASS(MdsSecurityStatusMsgT, c); + m.attr("_MdsSecurityStatusMsg") = c; } void generate_class_MdsPriceLevelEntryT(pybind11::module &m) { pybind11::class_ c(m, "MdsPriceLevelEntryT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsPriceLevelEntryT, "Price", Price); c.AUTOCXXPY_DEF_PROPERTY(MdsPriceLevelEntryT, "NumberOfOrders", NumberOfOrders); c.AUTOCXXPY_DEF_PROPERTY(MdsPriceLevelEntryT, "OrderQty", OrderQty); AUTOCXXPY_POST_REGISTER_CLASS(MdsPriceLevelEntryT, c); + m.attr("_MdsPriceLevelEntry") = c; } void generate_class_MdsMktDataSnapshotHeadT(pybind11::module &m) { pybind11::class_ c(m, "MdsMktDataSnapshotHeadT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotHeadT, "exchId", exchId); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotHeadT, "securityType", securityType); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotHeadT, "__isRepeated", __isRepeated); @@ -618,11 +714,13 @@ void generate_class_MdsMktDataSnapshotHeadT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotHeadT, "__processedTime", __processedTime); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotHeadT, "__pushingTime", __pushingTime); AUTOCXXPY_POST_REGISTER_CLASS(MdsMktDataSnapshotHeadT, c); + m.attr("_MdsMktDataSnapshotHead") = c; } void generate_class_MdsIndexSnapshotBodyT(pybind11::module &m) { pybind11::class_ c(m, "MdsIndexSnapshotBodyT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsIndexSnapshotBodyT, "SecurityID", SecurityID); c.AUTOCXXPY_DEF_PROPERTY(MdsIndexSnapshotBodyT, "TradingPhaseCode", TradingPhaseCode); c.AUTOCXXPY_DEF_PROPERTY(MdsIndexSnapshotBodyT, "__filler", __filler); @@ -638,11 +736,13 @@ void generate_class_MdsIndexSnapshotBodyT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsIndexSnapshotBodyT, "StockNum", StockNum); c.AUTOCXXPY_DEF_PROPERTY(MdsIndexSnapshotBodyT, "__filler1", __filler1); AUTOCXXPY_POST_REGISTER_CLASS(MdsIndexSnapshotBodyT, c); + m.attr("_MdsIndexSnapshotBody") = c; } void generate_class_MdsStockSnapshotBodyT(pybind11::module &m) { pybind11::class_ c(m, "MdsStockSnapshotBodyT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsStockSnapshotBodyT, "SecurityID", SecurityID); c.AUTOCXXPY_DEF_PROPERTY(MdsStockSnapshotBodyT, "TradingPhaseCode", TradingPhaseCode); c.AUTOCXXPY_DEF_PROPERTY(MdsStockSnapshotBodyT, "__filler", __filler); @@ -661,20 +761,24 @@ void generate_class_MdsStockSnapshotBodyT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsStockSnapshotBodyT, "BidLevels", BidLevels); c.AUTOCXXPY_DEF_PROPERTY(MdsStockSnapshotBodyT, "OfferLevels", OfferLevels); AUTOCXXPY_POST_REGISTER_CLASS(MdsStockSnapshotBodyT, c); + m.attr("_MdsStockSnapshotBody") = c; } void generate_class_MdsL1SnapshotBodyT(pybind11::module &m) { pybind11::class_ c(m, "MdsL1SnapshotBodyT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsL1SnapshotBodyT, "stock", stock); c.AUTOCXXPY_DEF_PROPERTY(MdsL1SnapshotBodyT, "option", option); c.AUTOCXXPY_DEF_PROPERTY(MdsL1SnapshotBodyT, "index", index); AUTOCXXPY_POST_REGISTER_CLASS(MdsL1SnapshotBodyT, c); + m.attr("_MdsL1SnapshotBody") = c; } void generate_class_MdsL2StockSnapshotBodyT(pybind11::module &m) { pybind11::class_ c(m, "MdsL2StockSnapshotBodyT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsL2StockSnapshotBodyT, "SecurityID", SecurityID); c.AUTOCXXPY_DEF_PROPERTY(MdsL2StockSnapshotBodyT, "TradingPhaseCode", TradingPhaseCode); c.AUTOCXXPY_DEF_PROPERTY(MdsL2StockSnapshotBodyT, "__filler", __filler); @@ -699,11 +803,13 @@ void generate_class_MdsL2StockSnapshotBodyT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsL2StockSnapshotBodyT, "BidLevels", BidLevels); c.AUTOCXXPY_DEF_PROPERTY(MdsL2StockSnapshotBodyT, "OfferLevels", OfferLevels); AUTOCXXPY_POST_REGISTER_CLASS(MdsL2StockSnapshotBodyT, c); + m.attr("_MdsL2StockSnapshotBody") = c; } void generate_class_MdsL2StockSnapshotIncrementalT(pybind11::module &m) { pybind11::class_ c(m, "MdsL2StockSnapshotIncrementalT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsL2StockSnapshotIncrementalT, "NumTrades", NumTrades); c.AUTOCXXPY_DEF_PROPERTY(MdsL2StockSnapshotIncrementalT, "TotalVolumeTraded", TotalVolumeTraded); c.AUTOCXXPY_DEF_PROPERTY(MdsL2StockSnapshotIncrementalT, "TotalValueTraded", TotalValueTraded); @@ -728,11 +834,13 @@ void generate_class_MdsL2StockSnapshotIncrementalT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsL2StockSnapshotIncrementalT, "PriceLevelOperator", PriceLevelOperator); c.AUTOCXXPY_DEF_PROPERTY(MdsL2StockSnapshotIncrementalT, "PriceLevels", PriceLevels); AUTOCXXPY_POST_REGISTER_CLASS(MdsL2StockSnapshotIncrementalT, c); + m.attr("_MdsL2StockSnapshotIncremental") = c; } void generate_class_MdsL2BestOrdersSnapshotBodyT(pybind11::module &m) { pybind11::class_ c(m, "MdsL2BestOrdersSnapshotBodyT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsL2BestOrdersSnapshotBodyT, "SecurityID", SecurityID); c.AUTOCXXPY_DEF_PROPERTY(MdsL2BestOrdersSnapshotBodyT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(MdsL2BestOrdersSnapshotBodyT, "NoBidOrders", NoBidOrders); @@ -743,11 +851,13 @@ void generate_class_MdsL2BestOrdersSnapshotBodyT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsL2BestOrdersSnapshotBodyT, "BidOrderQty", BidOrderQty); c.AUTOCXXPY_DEF_PROPERTY(MdsL2BestOrdersSnapshotBodyT, "OfferOrderQty", OfferOrderQty); AUTOCXXPY_POST_REGISTER_CLASS(MdsL2BestOrdersSnapshotBodyT, c); + m.attr("_MdsL2BestOrdersSnapshotBody") = c; } void generate_class_MdsL2BestOrdersSnapshotIncrementalT(pybind11::module &m) { pybind11::class_ c(m, "MdsL2BestOrdersSnapshotIncrementalT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsL2BestOrdersSnapshotIncrementalT, "TotalVolumeTraded", TotalVolumeTraded); c.AUTOCXXPY_DEF_PROPERTY(MdsL2BestOrdersSnapshotIncrementalT, "BestBidPrice", BestBidPrice); c.AUTOCXXPY_DEF_PROPERTY(MdsL2BestOrdersSnapshotIncrementalT, "HasContainedBestBidLevel", HasContainedBestBidLevel); @@ -762,11 +872,13 @@ void generate_class_MdsL2BestOrdersSnapshotIncrementalT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsL2BestOrdersSnapshotIncrementalT, "OperatorEntryID", OperatorEntryID); c.AUTOCXXPY_DEF_PROPERTY(MdsL2BestOrdersSnapshotIncrementalT, "OrderQty", OrderQty); AUTOCXXPY_POST_REGISTER_CLASS(MdsL2BestOrdersSnapshotIncrementalT, c); + m.attr("_MdsL2BestOrdersSnapshotIncremental") = c; } void generate_class_MdsL2VirtualAuctionPriceT(pybind11::module &m) { pybind11::class_ c(m, "MdsL2VirtualAuctionPriceT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsL2VirtualAuctionPriceT, "SecurityID", SecurityID); c.AUTOCXXPY_DEF_PROPERTY(MdsL2VirtualAuctionPriceT, "LeavesSide", LeavesSide); c.AUTOCXXPY_DEF_PROPERTY(MdsL2VirtualAuctionPriceT, "__filler", __filler); @@ -774,21 +886,25 @@ void generate_class_MdsL2VirtualAuctionPriceT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsL2VirtualAuctionPriceT, "VirtualAuctionQty", VirtualAuctionQty); c.AUTOCXXPY_DEF_PROPERTY(MdsL2VirtualAuctionPriceT, "LeavesQty", LeavesQty); AUTOCXXPY_POST_REGISTER_CLASS(MdsL2VirtualAuctionPriceT, c); + m.attr("_MdsL2VirtualAuctionPrice") = c; } void generate_class_MdsL2MarketOverviewT(pybind11::module &m) { pybind11::class_ c(m, "MdsL2MarketOverviewT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsL2MarketOverviewT, "OrigDate", OrigDate); c.AUTOCXXPY_DEF_PROPERTY(MdsL2MarketOverviewT, "OrigTime", OrigTime); c.AUTOCXXPY_DEF_PROPERTY(MdsL2MarketOverviewT, "__exchSendingTime", __exchSendingTime); c.AUTOCXXPY_DEF_PROPERTY(MdsL2MarketOverviewT, "__mdsRecvTime", __mdsRecvTime); AUTOCXXPY_POST_REGISTER_CLASS(MdsL2MarketOverviewT, c); + m.attr("_MdsL2MarketOverview") = c; } void generate_class_MdsL2SnapshotBodyT(pybind11::module &m) { pybind11::class_ c(m, "MdsL2SnapshotBodyT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsL2SnapshotBodyT, "l2Stock", l2Stock); c.AUTOCXXPY_DEF_PROPERTY(MdsL2SnapshotBodyT, "l2StockIncremental", l2StockIncremental); c.AUTOCXXPY_DEF_PROPERTY(MdsL2SnapshotBodyT, "l2BestOrders", l2BestOrders); @@ -797,11 +913,13 @@ void generate_class_MdsL2SnapshotBodyT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsL2SnapshotBodyT, "l2VirtualAuctionPrice", l2VirtualAuctionPrice); c.AUTOCXXPY_DEF_PROPERTY(MdsL2SnapshotBodyT, "l2MarketOverview", l2MarketOverview); AUTOCXXPY_POST_REGISTER_CLASS(MdsL2SnapshotBodyT, c); + m.attr("_MdsL2SnapshotBody") = c; } void generate_class_MdsMktDataSnapshotT(pybind11::module &m) { pybind11::class_ c(m, "MdsMktDataSnapshotT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotT, "head", head); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotT, "l2Stock", l2Stock); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotT, "l2StockIncremental", l2StockIncremental); @@ -813,11 +931,13 @@ void generate_class_MdsMktDataSnapshotT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotT, "l2VirtualAuctionPrice", l2VirtualAuctionPrice); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataSnapshotT, "l2MarketOverview", l2MarketOverview); AUTOCXXPY_POST_REGISTER_CLASS(MdsMktDataSnapshotT, c); + m.attr("_MdsMktDataSnapshot") = c; } void generate_class_MdsL2TradeT(pybind11::module &m) { pybind11::class_ c(m, "MdsL2TradeT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsL2TradeT, "exchId", exchId); c.AUTOCXXPY_DEF_PROPERTY(MdsL2TradeT, "securityType", securityType); c.AUTOCXXPY_DEF_PROPERTY(MdsL2TradeT, "__isRepeated", __isRepeated); @@ -844,11 +964,13 @@ void generate_class_MdsL2TradeT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsL2TradeT, "__processedTime", __processedTime); c.AUTOCXXPY_DEF_PROPERTY(MdsL2TradeT, "__pushingTime", __pushingTime); AUTOCXXPY_POST_REGISTER_CLASS(MdsL2TradeT, c); + m.attr("_MdsL2Trade") = c; } void generate_class_MdsL2OrderT(pybind11::module &m) { pybind11::class_ c(m, "MdsL2OrderT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsL2OrderT, "exchId", exchId); c.AUTOCXXPY_DEF_PROPERTY(MdsL2OrderT, "securityType", securityType); c.AUTOCXXPY_DEF_PROPERTY(MdsL2OrderT, "__isRepeated", __isRepeated); @@ -872,11 +994,13 @@ void generate_class_MdsL2OrderT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsL2OrderT, "__processedTime", __processedTime); c.AUTOCXXPY_DEF_PROPERTY(MdsL2OrderT, "__pushingTime", __pushingTime); AUTOCXXPY_POST_REGISTER_CLASS(MdsL2OrderT, c); + m.attr("_MdsL2Order") = c; } void generate_class_MdsL2TickLostT(pybind11::module &m) { pybind11::class_ c(m, "MdsL2TickLostT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsL2TickLostT, "exchId", exchId); c.AUTOCXXPY_DEF_PROPERTY(MdsL2TickLostT, "__filler3", __filler3); c.AUTOCXXPY_DEF_PROPERTY(MdsL2TickLostT, "tradeDate", tradeDate); @@ -886,41 +1010,50 @@ void generate_class_MdsL2TickLostT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsL2TickLostT, "endApplSeqNum", endApplSeqNum); c.AUTOCXXPY_DEF_PROPERTY(MdsL2TickLostT, "__origTickSeq", __origTickSeq); AUTOCXXPY_POST_REGISTER_CLASS(MdsL2TickLostT, c); + m.attr("_MdsL2TickLost") = c; } void generate_class_MdsQryMktDataSnapshotReqT(pybind11::module &m) { pybind11::class_ c(m, "MdsQryMktDataSnapshotReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsQryMktDataSnapshotReqT, "exchId", exchId); c.AUTOCXXPY_DEF_PROPERTY(MdsQryMktDataSnapshotReqT, "securityType", securityType); c.AUTOCXXPY_DEF_PROPERTY(MdsQryMktDataSnapshotReqT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(MdsQryMktDataSnapshotReqT, "instrId", instrId); AUTOCXXPY_POST_REGISTER_CLASS(MdsQryMktDataSnapshotReqT, c); + m.attr("MdsQrySecurityStatusReqT") = c; + m.attr("_MdsQryMktDataSnapshotReq") = c; } void generate_class_MdsQryTrdSessionStatusReqT(pybind11::module &m) { pybind11::class_ c(m, "MdsQryTrdSessionStatusReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsQryTrdSessionStatusReqT, "exchId", exchId); c.AUTOCXXPY_DEF_PROPERTY(MdsQryTrdSessionStatusReqT, "securityType", securityType); c.AUTOCXXPY_DEF_PROPERTY(MdsQryTrdSessionStatusReqT, "__filler", __filler); AUTOCXXPY_POST_REGISTER_CLASS(MdsQryTrdSessionStatusReqT, c); + m.attr("_MdsQryTrdSessionStatusReq") = c; } void generate_class_MdsLogonReqT(pybind11::module &m) { pybind11::class_ c(m, "MdsLogonReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsLogonReqT, "encryptMethod", encryptMethod); c.AUTOCXXPY_DEF_PROPERTY(MdsLogonReqT, "heartBtInt", heartBtInt); c.AUTOCXXPY_DEF_PROPERTY(MdsLogonReqT, "username", username); c.AUTOCXXPY_DEF_PROPERTY(MdsLogonReqT, "password", password); c.AUTOCXXPY_DEF_PROPERTY(MdsLogonReqT, "applVerId", applVerId); AUTOCXXPY_POST_REGISTER_CLASS(MdsLogonReqT, c); + m.attr("_MdsLogonReq") = c; } void generate_class_MdsLogonRspT(pybind11::module &m) { pybind11::class_ c(m, "MdsLogonRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsLogonRspT, "encryptMethod", encryptMethod); c.AUTOCXXPY_DEF_PROPERTY(MdsLogonRspT, "heartBtInt", heartBtInt); c.AUTOCXXPY_DEF_PROPERTY(MdsLogonRspT, "username", username); @@ -931,21 +1064,25 @@ void generate_class_MdsLogonRspT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsLogonRspT, "leaderHostNum", leaderHostNum); c.AUTOCXXPY_DEF_PROPERTY(MdsLogonRspT, "__filler", __filler); AUTOCXXPY_POST_REGISTER_CLASS(MdsLogonRspT, c); + m.attr("_MdsLogonRsp") = c; } void generate_class_MdsMktDataRequestEntryT(pybind11::module &m) { pybind11::class_ c(m, "MdsMktDataRequestEntryT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataRequestEntryT, "exchId", exchId); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataRequestEntryT, "securityType", securityType); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataRequestEntryT, "__filler", __filler); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataRequestEntryT, "instrId", instrId); AUTOCXXPY_POST_REGISTER_CLASS(MdsMktDataRequestEntryT, c); + m.attr("_MdsMktDataRequestEntry") = c; } void generate_class_MdsMktDataRequestReqT(pybind11::module &m) { pybind11::class_ c(m, "MdsMktDataRequestReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataRequestReqT, "subMode", subMode); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataRequestReqT, "tickType", tickType); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataRequestReqT, "sseStockFlag", sseStockFlag); @@ -962,19 +1099,24 @@ void generate_class_MdsMktDataRequestReqT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataRequestReqT, "beginTime", beginTime); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataRequestReqT, "subSecurityCnt", subSecurityCnt); AUTOCXXPY_POST_REGISTER_CLASS(MdsMktDataRequestReqT, c); + m.attr("_MdsMktDataRequestReq") = c; } void generate_class_MdsMktDataRequestReqBufT(pybind11::module &m) { pybind11::class_ c(m, "MdsMktDataRequestReqBufT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataRequestReqBufT, "mktDataRequestReq", mktDataRequestReq); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataRequestReqBufT, "entries", entries); AUTOCXXPY_POST_REGISTER_CLASS(MdsMktDataRequestReqBufT, c); + m.attr("MdsApiSubscribeInfoT") = c; + m.attr("_MdsMktDataRequestReqBuf") = c; } void generate_class_MdsMktDataRequestRspT(pybind11::module &m) { pybind11::class_ c(m, "MdsMktDataRequestRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataRequestRspT, "subMode", subMode); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataRequestRspT, "tickType", tickType); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataRequestRspT, "isRequireInitialMktData", isRequireInitialMktData); @@ -990,20 +1132,24 @@ void generate_class_MdsMktDataRequestRspT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataRequestRspT, "szseIndexSubscribed", szseIndexSubscribed); c.AUTOCXXPY_DEF_PROPERTY(MdsMktDataRequestRspT, "szseOptionSubscribed", szseOptionSubscribed); AUTOCXXPY_POST_REGISTER_CLASS(MdsMktDataRequestRspT, c); + m.attr("_MdsMktDataRequestRsp") = c; } void generate_class_MdsTestRequestReqT(pybind11::module &m) { pybind11::class_ c(m, "MdsTestRequestReqT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsTestRequestReqT, "testReqId", testReqId); c.AUTOCXXPY_DEF_PROPERTY(MdsTestRequestReqT, "sendTime", sendTime); c.AUTOCXXPY_DEF_PROPERTY(MdsTestRequestReqT, "__filler", __filler); AUTOCXXPY_POST_REGISTER_CLASS(MdsTestRequestReqT, c); + m.attr("_MdsTestRequestReq") = c; } void generate_class_MdsTestRequestRspT(pybind11::module &m) { pybind11::class_ c(m, "MdsTestRequestRspT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsTestRequestRspT, "testReqId", testReqId); c.AUTOCXXPY_DEF_PROPERTY(MdsTestRequestRspT, "origSendTime", origSendTime); c.AUTOCXXPY_DEF_PROPERTY(MdsTestRequestRspT, "__filler1", __filler1); @@ -1013,11 +1159,13 @@ void generate_class_MdsTestRequestRspT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsTestRequestRspT, "__collectedTime", __collectedTime); c.AUTOCXXPY_DEF_PROPERTY(MdsTestRequestRspT, "__pushingTime", __pushingTime); AUTOCXXPY_POST_REGISTER_CLASS(MdsTestRequestRspT, c); + m.attr("_MdsTestRequestRsp") = c; } void generate_class_MdsMktReqMsgBodyT(pybind11::module &m) { pybind11::class_ c(m, "MdsMktReqMsgBodyT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsMktReqMsgBodyT, "wholeMktDataReqBuf", wholeMktDataReqBuf); c.AUTOCXXPY_DEF_PROPERTY(MdsMktReqMsgBodyT, "mktDataRequestReq", mktDataRequestReq); c.AUTOCXXPY_DEF_PROPERTY(MdsMktReqMsgBodyT, "testRequestReq", testRequestReq); @@ -1026,11 +1174,13 @@ void generate_class_MdsMktReqMsgBodyT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsMktReqMsgBodyT, "qrySecurityStatusReq", qrySecurityStatusReq); c.AUTOCXXPY_DEF_PROPERTY(MdsMktReqMsgBodyT, "qryTrdSessionStatusReq", qryTrdSessionStatusReq); AUTOCXXPY_POST_REGISTER_CLASS(MdsMktReqMsgBodyT, c); + m.attr("_MdsMktReqMsgBody") = c; } void generate_class_MdsMktRspMsgBodyT(pybind11::module &m) { pybind11::class_ c(m, "MdsMktRspMsgBodyT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsMktRspMsgBodyT, "mktDataRequestRsp", mktDataRequestRsp); c.AUTOCXXPY_DEF_PROPERTY(MdsMktRspMsgBodyT, "testRequestRsp", testRequestRsp); c.AUTOCXXPY_DEF_PROPERTY(MdsMktRspMsgBodyT, "logonRsp", logonRsp); @@ -1041,20 +1191,24 @@ void generate_class_MdsMktRspMsgBodyT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsMktRspMsgBodyT, "trdSessionStatus", trdSessionStatus); c.AUTOCXXPY_DEF_PROPERTY(MdsMktRspMsgBodyT, "securityStatus", securityStatus); AUTOCXXPY_POST_REGISTER_CLASS(MdsMktRspMsgBodyT, c); + m.attr("_MdsMktRspMsgBody") = c; } void generate_class_MdsUdpPktHeadT(pybind11::module &m) { pybind11::class_ c(m, "MdsUdpPktHeadT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsUdpPktHeadT, "msgCnt", msgCnt); c.AUTOCXXPY_DEF_PROPERTY(MdsUdpPktHeadT, "pktSiz", pktSiz); c.AUTOCXXPY_DEF_PROPERTY(MdsUdpPktHeadT, "pktSeq", pktSeq); AUTOCXXPY_POST_REGISTER_CLASS(MdsUdpPktHeadT, c); + m.attr("_MdsUdpPktHead") = c; } void generate_class_MdsApiClientCfgT(pybind11::module &m) { pybind11::class_ c(m, "MdsApiClientCfgT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsApiClientCfgT, "tcpChannelCfg", tcpChannelCfg); c.AUTOCXXPY_DEF_PROPERTY(MdsApiClientCfgT, "qryChannelCfg", qryChannelCfg); c.AUTOCXXPY_DEF_PROPERTY(MdsApiClientCfgT, "udpL1ChannelCfg", udpL1ChannelCfg); @@ -1063,11 +1217,13 @@ void generate_class_MdsApiClientCfgT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsApiClientCfgT, "udpOrderChannelCfg", udpOrderChannelCfg); c.AUTOCXXPY_DEF_PROPERTY(MdsApiClientCfgT, "subscribeInfo", subscribeInfo); AUTOCXXPY_POST_REGISTER_CLASS(MdsApiClientCfgT, c); + m.attr("_MdsApiClientCfg") = c; } void generate_class_MdsApiClientEnvT(pybind11::module &m) { pybind11::class_ c(m, "MdsApiClientEnvT"); - c.def(pybind11::init<>()); + if constexpr (std::is_default_constructible_v) + c.def(pybind11::init<>()); c.AUTOCXXPY_DEF_PROPERTY(MdsApiClientEnvT, "tcpChannel", tcpChannel); c.AUTOCXXPY_DEF_PROPERTY(MdsApiClientEnvT, "qryChannel", qryChannel); c.AUTOCXXPY_DEF_PROPERTY(MdsApiClientEnvT, "udpL1Channel", udpL1Channel); @@ -1076,4 +1232,5 @@ void generate_class_MdsApiClientEnvT(pybind11::module &m) c.AUTOCXXPY_DEF_PROPERTY(MdsApiClientEnvT, "udpOrderChannel", udpOrderChannel); c.AUTOCXXPY_DEF_PROPERTY(MdsApiClientEnvT, "udpChannelGroup", udpChannelGroup); AUTOCXXPY_POST_REGISTER_CLASS(MdsApiClientEnvT, c); + m.attr("_MdsApiClientEnv") = c; } diff --git a/vnpy/api/oes/vnoes/generated_files/module.cpp b/vnpy/api/oes/vnoes/generated_files/module.cpp index 78146982..37485f9d 100644 --- a/vnpy/api/oes/vnoes/generated_files/module.cpp +++ b/vnpy/api/oes/vnoes/generated_files/module.cpp @@ -646,12 +646,6 @@ void generate_functions(pybind11::module &m) >, pybind11::call_guard() ); - m.def("OesApi_WaitOnChannelGroup", - autocxxpy::calling_wrapper_v< - &::OesApi_WaitOnChannelGroup - >, - pybind11::call_guard() - ); m.def("OesApi_SetThreadUsername", autocxxpy::calling_wrapper_v< &::OesApi_SetThreadUsername @@ -814,18 +808,6 @@ void generate_functions(pybind11::module &m) >, pybind11::call_guard() ); - m.def("MdsApi_SubscribeByString", - autocxxpy::calling_wrapper_v< - &::MdsApi_SubscribeByString - >, - pybind11::call_guard() - ); - m.def("MdsApi_SubscribeByStringAndPrefixes", - autocxxpy::calling_wrapper_v< - &::MdsApi_SubscribeByStringAndPrefixes - >, - pybind11::call_guard() - ); m.def("MdsApi_SendHeartbeat", autocxxpy::calling_wrapper_v< &::MdsApi_SendHeartbeat @@ -1030,24 +1012,6 @@ void generate_functions(pybind11::module &m) >, pybind11::call_guard() ); - m.def("MdsApi_WaitOnTcpChannelGroup", - autocxxpy::calling_wrapper_v< - &::MdsApi_WaitOnTcpChannelGroup - >, - pybind11::call_guard() - ); - m.def("MdsApi_WaitOnTcpChannelGroupCompressible", - autocxxpy::calling_wrapper_v< - &::MdsApi_WaitOnTcpChannelGroupCompressible - >, - pybind11::call_guard() - ); - m.def("MdsApi_WaitOnUdpChannelGroup", - autocxxpy::calling_wrapper_v< - &::MdsApi_WaitOnUdpChannelGroup - >, - pybind11::call_guard() - ); m.def("MdsApi_SetThreadUsername", autocxxpy::calling_wrapper_v< &::MdsApi_SetThreadUsername @@ -2012,6 +1976,32 @@ void generate_constants(pybind11::module &m) } +void generate_constants_class(pybind11::module &m) +{ + struct constants_class{}; + pybind11::class_ c(m, "constants"); + c.attr("OES_APPL_VER_ID") = pybind11::str("0.15.7.4"); + c.attr("OES_MIN_APPL_VER_ID") = pybind11::str("0.15.5"); + c.attr("OESAPI_CFG_DEFAULT_SECTION") = pybind11::str("oes_client"); + c.attr("OESAPI_CFG_DEFAULT_SECTION_LOGGER") = pybind11::str("log"); + c.attr("OESAPI_CFG_DEFAULT_KEY_ORD_ADDR") = pybind11::str("ordServer"); + c.attr("OESAPI_CFG_DEFAULT_KEY_RPT_ADDR") = pybind11::str("rptServer"); + c.attr("OESAPI_CFG_DEFAULT_KEY_QRY_ADDR") = pybind11::str("qryServer"); + c.attr("OESAPI_DEFAULT_STRING_DELIM") = pybind11::str(",;| \t\r\n"); + c.attr("MDS_APPL_VER_ID") = pybind11::str("0.15.7.4"); + c.attr("MDS_MIN_APPL_VER_ID") = pybind11::str("0.15.5"); + c.attr("MDSAPI_CFG_DEFAULT_SECTION") = pybind11::str("mds_client"); + c.attr("MDSAPI_CFG_DEFAULT_SECTION_LOGGER") = pybind11::str("log"); + c.attr("MDSAPI_CFG_DEFAULT_KEY_TCP_ADDR") = pybind11::str("tcpServer"); + c.attr("MDSAPI_CFG_DEFAULT_KEY_QRY_ADDR") = pybind11::str("qryServer"); + c.attr("MDSAPI_CFG_DEFAULT_KEY_UDP_ADDR_L1") = pybind11::str("udpServer.L1"); + c.attr("MDSAPI_CFG_DEFAULT_KEY_UDP_ADDR_L2") = pybind11::str("udpServer.L2"); + c.attr("MDSAPI_CFG_DEFAULT_KEY_UDP_ADDR_TICK_TRADE") = pybind11::str("udpServer.TickTrade"); + c.attr("MDSAPI_CFG_DEFAULT_KEY_UDP_ADDR_TICK_ORDER") = pybind11::str("udpServer.TickOrder"); + c.attr("MDSAPI_DEFAULT_STRING_DELIM") = pybind11::str(",;| \t\r\n"); + +} + void init_caster(pybind11::module &m) { auto c = autocxxpy::caster::bind(m, "cast"); @@ -2036,12 +2026,12 @@ void init_caster(pybind11::module &m) c.def("toOesOrdCnfmT", &autocxxpy::caster::copy ); - c.def("to_OesOrdCnfm", - &autocxxpy::caster::copy - ); c.def("toOesOrdItemT", &autocxxpy::caster::copy ); + c.def("to_OesOrdCnfm", + &autocxxpy::caster::copy + ); c.def("toOesTrdBaseInfoT", &autocxxpy::caster::copy ); @@ -2051,21 +2041,21 @@ void init_caster(pybind11::module &m) c.def("toOesTrdCnfmT", &autocxxpy::caster::copy ); - c.def("to_OesTrdCnfm", - &autocxxpy::caster::copy - ); c.def("toOesTrdItemT", &autocxxpy::caster::copy ); + c.def("to_OesTrdCnfm", + &autocxxpy::caster::copy + ); c.def("toOesLotWinningBaseInfoT", &autocxxpy::caster::copy ); - c.def("toOesLotWinningItemT", - &autocxxpy::caster::copy - ); c.def("to_OesLotWinningBaseInfo", &autocxxpy::caster::copy ); + c.def("toOesLotWinningItemT", + &autocxxpy::caster::copy + ); c.def("toOesFundTrsfBaseInfoT", &autocxxpy::caster::copy ); @@ -2096,12 +2086,12 @@ void init_caster(pybind11::module &m) c.def("toOesIssueBaseInfoT", &autocxxpy::caster::copy ); - c.def("toOesIssueItemT", - &autocxxpy::caster::copy - ); c.def("to_OesIssueBaseInfo", &autocxxpy::caster::copy ); + c.def("toOesIssueItemT", + &autocxxpy::caster::copy + ); c.def("toOesPriceLimitT", &autocxxpy::caster::copy ); @@ -2111,12 +2101,12 @@ void init_caster(pybind11::module &m) c.def("toOesStockBaseInfoT", &autocxxpy::caster::copy ); - c.def("to_OesStockBaseInfo", - &autocxxpy::caster::copy - ); c.def("toOesStockItemT", &autocxxpy::caster::copy ); + c.def("to_OesStockBaseInfo", + &autocxxpy::caster::copy + ); c.def("toOesEtfBaseInfoT", &autocxxpy::caster::copy ); @@ -2135,12 +2125,12 @@ void init_caster(pybind11::module &m) c.def("toOesOptionBaseInfoT", &autocxxpy::caster::copy ); - c.def("toOesOptionItemT", - &autocxxpy::caster::copy - ); c.def("to_OesOptionBaseInfo", &autocxxpy::caster::copy ); + c.def("toOesOptionItemT", + &autocxxpy::caster::copy + ); c.def("toOesCashAssetBaseInfoT", &autocxxpy::caster::copy ); @@ -2150,12 +2140,12 @@ void init_caster(pybind11::module &m) c.def("toOesCustBaseInfoT", &autocxxpy::caster::copy ); - c.def("to_OesCustBaseInfo", - &autocxxpy::caster::copy - ); c.def("toOesCustItemT", &autocxxpy::caster::copy ); + c.def("to_OesCustBaseInfo", + &autocxxpy::caster::copy + ); c.def("toOesInvAcctBaseInfoT", &autocxxpy::caster::copy ); @@ -2300,12 +2290,12 @@ void init_caster(pybind11::module &m) c.def("toOesQryStkHoldingFilterT", &autocxxpy::caster::copy ); - c.def("to_OesQryStkHoldingFilter", - &autocxxpy::caster::copy - ); c.def("toOesQryOptHoldingFilterT", &autocxxpy::caster::copy ); + c.def("to_OesQryStkHoldingFilter", + &autocxxpy::caster::copy + ); c.def("toOesStkHoldingItemT", &autocxxpy::caster::copy ); @@ -2732,50 +2722,50 @@ void init_caster(pybind11::module &m) c.def("toSGeneralClientChannelT", &autocxxpy::caster::copy ); - c.def("toOesApiSessionInfoT", - &autocxxpy::caster::copy + c.def("toMdsApiSessionInfoT", + &autocxxpy::caster::copy ); c.def("to_SGeneralClientChannel", &autocxxpy::caster::copy ); - c.def("toMdsApiSessionInfoT", - &autocxxpy::caster::copy + c.def("toOesApiSessionInfoT", + &autocxxpy::caster::copy ); c.def("toSGeneralClientChannelGroupT", &autocxxpy::caster::copy ); - c.def("toOesApiChannelGroupT", - &autocxxpy::caster::copy - ); c.def("to_SGeneralClientChannelGroup", &autocxxpy::caster::copy ); + c.def("toOesApiChannelGroupT", + &autocxxpy::caster::copy + ); c.def("toMdsApiChannelGroupT", &autocxxpy::caster::copy ); c.def("toSGeneralClientAddrInfoT", &autocxxpy::caster::copy ); - c.def("to_SGeneralClientAddrInfo", - &autocxxpy::caster::copy + c.def("toMdsApiAddrInfoT", + &autocxxpy::caster::copy ); c.def("toOesApiAddrInfoT", &autocxxpy::caster::copy ); - c.def("toMdsApiAddrInfoT", - &autocxxpy::caster::copy + c.def("to_SGeneralClientAddrInfo", + &autocxxpy::caster::copy ); c.def("toSGeneralClientRemoteCfgT", &autocxxpy::caster::copy ); - c.def("toOesApiRemoteCfgT", - &autocxxpy::caster::copy + c.def("to_SGeneralClientRemoteCfg", + &autocxxpy::caster::copy ); c.def("toMdsApiRemoteCfgT", &autocxxpy::caster::copy ); - c.def("to_SGeneralClientRemoteCfg", - &autocxxpy::caster::copy + c.def("toOesApiRemoteCfgT", + &autocxxpy::caster::copy ); c.def("toOesApiSubscribeInfoT", &autocxxpy::caster::copy @@ -2906,12 +2896,12 @@ void init_caster(pybind11::module &m) c.def("toMdsQryMktDataSnapshotReqT", &autocxxpy::caster::copy ); - c.def("to_MdsQryMktDataSnapshotReq", - &autocxxpy::caster::copy - ); c.def("toMdsQrySecurityStatusReqT", &autocxxpy::caster::copy ); + c.def("to_MdsQryMktDataSnapshotReq", + &autocxxpy::caster::copy + ); c.def("toMdsQryTrdSessionStatusReqT", &autocxxpy::caster::copy ); @@ -3018,6 +3008,7 @@ PYBIND11_MODULE(vnoes, m) generate_classes(m); generate_functions(m); generate_constants(m); + generate_constants_class(m); generate_enums(m); init_caster(m); diff --git a/vnpy/api/oes/vnoes/generated_files/vnoes.pyi b/vnpy/api/oes/vnoes/generated_files/vnoes.pyi index 02080501..1403fdd1 100644 --- a/vnpy/api/oes/vnoes/generated_files/vnoes.pyi +++ b/vnpy/api/oes/vnoes/generated_files/vnoes.pyi @@ -18,6 +18,8 @@ class OesOrdReqT: userInfo: int __ordReqOrigSendTime: STimeval32T # unknown what to wrap in py ... +_OesOrdReq = OesOrdReqT + class OesOrdCancelReqT: clSeqNo: int @@ -32,6 +34,8 @@ class OesOrdCancelReqT: userInfo: int __ordReqOrigSendTime: STimeval32T # unknown what to wrap in py ... +_OesOrdCancelReq = OesOrdCancelReqT + class OesOrdRejectT: clSeqNo: int @@ -55,6 +59,8 @@ class OesOrdRejectT: ordRejReason: int __filler: int ... +_OesOrdReject = OesOrdRejectT + class OesOrdCnfmT: clSeqNo: int @@ -112,6 +118,9 @@ class OesOrdCnfmT: __ordDeclareDoneTime: STimeval32T # unknown what to wrap in py __pushingTime: STimeval32T # unknown what to wrap in py ... +OesOrdItemT = OesOrdCnfmT +_OesOrdCnfm = OesOrdCnfmT + class OesTrdBaseInfoT: exchTrdNum: int @@ -136,6 +145,8 @@ class OesTrdBaseInfoT: pbuId: int branchId: int ... +_OesTrdBaseInfo = OesTrdBaseInfoT + class OesTrdCnfmT: exchTrdNum: int @@ -178,6 +189,9 @@ class OesTrdCnfmT: __trdCnfmProcessedTime: STimeval32T # unknown what to wrap in py __pushingTime: STimeval32T # unknown what to wrap in py ... +OesTrdItemT = OesTrdCnfmT +_OesTrdCnfm = OesTrdCnfmT + class OesLotWinningBaseInfoT: invAcctId: str @@ -193,6 +207,9 @@ class OesLotWinningBaseInfoT: lotPrice: int lotAmt: int ... +_OesLotWinningBaseInfo = OesLotWinningBaseInfoT +OesLotWinningItemT = OesLotWinningBaseInfoT + class OesFundTrsfBaseInfoT: clSeqNo: int @@ -205,6 +222,8 @@ class OesFundTrsfBaseInfoT: occurAmt: int userInfo: int ... +_OesFundTrsfBaseInfo = OesFundTrsfBaseInfoT + class OesFundTrsfReqT: clSeqNo: int @@ -217,6 +236,8 @@ class OesFundTrsfReqT: occurAmt: int userInfo: int ... +_OesFundTrsfReq = OesFundTrsfReqT + class OesFundTrsfRejectT: clSeqNo: int @@ -236,6 +257,8 @@ class OesFundTrsfRejectT: rejReason: int errorInfo: str ... +_OesFundTrsfReject = OesFundTrsfRejectT + class OesFundTrsfReportT: clSeqNo: int @@ -261,6 +284,9 @@ class OesFundTrsfReportT: allotSerialNo: str errorInfo: str ... +_OesFundTrsfReport = OesFundTrsfReportT +OesFundTransferSerialItemT = OesFundTrsfReportT + class OesIssueBaseInfoT: securityId: str @@ -282,11 +308,16 @@ class OesIssueBaseInfoT: ceilPrice: int floorPrice: int ... +_OesIssueBaseInfo = OesIssueBaseInfoT +OesIssueItemT = OesIssueBaseInfoT + class OesPriceLimitT: ceilPrice: int floorPrice: int ... +_OesPriceLimit = OesPriceLimitT + class OesStockBaseInfoT: securityId: str @@ -317,6 +348,9 @@ class OesStockBaseInfoT: securityName: str fundId: str ... +OesStockItemT = OesStockBaseInfoT +_OesStockBaseInfo = OesStockBaseInfoT + class OesEtfBaseInfoT: fundId: str @@ -344,6 +378,9 @@ class OesEtfBaseInfoT: netCreationLimit: int netRedemLimit: int ... +_OesEtfBaseInfo = OesEtfBaseInfoT +OesEtfItemT = OesEtfBaseInfoT + class OesEtfComponentBaseInfoT: fundId: str @@ -358,6 +395,8 @@ class OesEtfComponentBaseInfoT: creationSubCash: int redemptionCashSub: int ... +_OesEtfComponentBaseInfo = OesEtfComponentBaseInfoT + class OesOptionBaseInfoT: securityId: str @@ -395,6 +434,9 @@ class OesOptionBaseInfoT: underlyingClosePrice: int securityName: str ... +_OesOptionBaseInfo = OesOptionBaseInfoT +OesOptionItemT = OesOptionBaseInfoT + class OesCashAssetBaseInfoT: cashAcctId: str @@ -421,6 +463,8 @@ class OesCashAssetBaseInfoT: marginAmt: int marginFrzAmt: int ... +_OesCashAssetBaseInfo = OesCashAssetBaseInfoT + class OesCustBaseInfoT: custId: str @@ -434,6 +478,9 @@ class OesCustBaseInfoT: branchId: int __CUST_BASE_filler2: int ... +OesCustItemT = OesCustBaseInfoT +_OesCustBaseInfo = OesCustBaseInfoT + class OesInvAcctBaseInfoT: invAcctId: str @@ -449,6 +496,8 @@ class OesInvAcctBaseInfoT: pbuId: int subscriptionQuota: int ... +_OesInvAcctBaseInfo = OesInvAcctBaseInfoT + class OesStkHoldingBaseInfoT: invAcctId: str @@ -476,6 +525,8 @@ class OesStkHoldingBaseInfoT: coveredFrzHld: int coveredHld: int ... +_OesStkHoldingBaseInfo = OesStkHoldingBaseInfoT + class OesOptHoldingBaseInfoT: invAcctId: str @@ -490,6 +541,8 @@ class OesOptHoldingBaseInfoT: hldRB: int hldRC: int ... +_OesOptHoldingBaseInfo = OesOptHoldingBaseInfoT + class OesMarketStateInfoT: exchId: int @@ -498,6 +551,9 @@ class OesMarketStateInfoT: mktState: int __filler: Sequence[int] ... +OesMarketStateItemT = OesMarketStateInfoT +_OesMarketStateInfo = OesMarketStateInfoT + class OesTradingPermissionEntryT: permissionNo: int @@ -508,6 +564,8 @@ class OesTradingPermissionEntryT: applicableMarkets: Sequence[int] permissionMemo: str ... +_OesTradingPermissionEntry = OesTradingPermissionEntryT + class OesInputSourceInfoT: sourceIp: str @@ -516,6 +574,8 @@ class OesInputSourceInfoT: __filler: Sequence[int] sourceDriverId: str ... +_OesInputSourceInfo = OesInputSourceInfoT + class SMsgHeadT: msgFlag: int @@ -524,6 +584,8 @@ class SMsgHeadT: detailStatus: int msgSize: int ... +_SMsgHead = SMsgHeadT + class OesQryCursorT: seqNo: int @@ -531,11 +593,15 @@ class OesQryCursorT: __filler: Sequence[int] userInfo: int ... +_OesQryCursor = OesQryCursorT + class OesQryReqHeadT: maxPageSize: int lastPosition: int ... +_OesQryReqHead = OesQryReqHeadT + class OesQryRspHeadT: itemCount: int @@ -544,6 +610,8 @@ class OesQryRspHeadT: __filler: Sequence[int] userInfo: int ... +_OesQryRspHead = OesQryRspHeadT + class OesQryOrdFilterT: custId: str @@ -560,16 +628,22 @@ class OesQryOrdFilterT: endTime: int userInfo: int ... +_OesQryOrdFilter = OesQryOrdFilterT + class OesQryOrdReqT: reqHead: OesQryReqHeadT qryFilter: OesQryOrdFilterT ... +_OesQryOrdReq = OesQryOrdReqT + class OesQryOrdRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesOrdCnfmT] ... +_OesQryOrdRsp = OesQryOrdRspT + class OesQryTrdFilterT: custId: str @@ -585,22 +659,30 @@ class OesQryTrdFilterT: endTime: int userInfo: int ... +_OesQryTrdFilter = OesQryTrdFilterT + class OesQryTrdReqT: reqHead: OesQryReqHeadT qryFilter: OesQryTrdFilterT ... +_OesQryTrdReq = OesQryTrdReqT + class OesQryTrdRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesTrdCnfmT] ... +_OesQryTrdRsp = OesQryTrdRspT + class OesQryCashAssetFilterT: custId: str cashAcctId: str userInfo: int ... +_OesQryCashAssetFilter = OesQryCashAssetFilterT + class OesCashAssetItemT: cashAcctId: str @@ -630,16 +712,22 @@ class OesCashAssetItemT: currentAvailableBal: int currentDrawableBal: int ... +_OesCashAssetItem = OesCashAssetItemT + class OesQryCashAssetReqT: reqHead: OesQryReqHeadT qryFilter: OesQryCashAssetFilterT ... +_OesQryCashAssetReq = OesQryCashAssetReqT + class OesQryCashAssetRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesCashAssetItemT] ... +_OesQryCashAssetRsp = OesQryCashAssetRspT + class OesCounterCashItemT: cashAcctId: str @@ -656,14 +744,20 @@ class OesCounterCashItemT: counterCashUpdateTime: int __reserve: Sequence[int] ... +_OesCounterCashItem = OesCounterCashItemT + class OesQryCounterCashReqT: cashAcctId: str ... +_OesQryCounterCashReq = OesQryCounterCashReqT + class OesQryCounterCashRspT: counterCashItem: OesCounterCashItemT ... +_OesQryCounterCashRsp = OesQryCounterCashRspT + class OesQryStkHoldingFilterT: custId: str @@ -674,6 +768,9 @@ class OesQryStkHoldingFilterT: __filler: Sequence[int] userInfo: int ... +OesQryOptHoldingFilterT = OesQryStkHoldingFilterT +_OesQryStkHoldingFilter = OesQryStkHoldingFilterT + class OesStkHoldingItemT: invAcctId: str @@ -707,16 +804,22 @@ class OesStkHoldingItemT: sumHld: int costPrice: int ... +_OesStkHoldingItem = OesStkHoldingItemT + class OesQryStkHoldingReqT: reqHead: OesQryReqHeadT qryFilter: OesQryStkHoldingFilterT ... +_OesQryStkHoldingReq = OesQryStkHoldingReqT + class OesQryStkHoldingRspT: qryHead: OesQryRspHeadT qryItems: Sequence[OesStkHoldingItemT] ... +_OesQryStkHoldingRsp = OesQryStkHoldingRspT + class OesOptHoldingItemT: invAcctId: str @@ -731,31 +834,43 @@ class OesOptHoldingItemT: hldRB: int hldRC: int ... +_OesOptHoldingItem = OesOptHoldingItemT + class OesQryOptHoldingReqT: reqHead: OesQryReqHeadT qryFilter: OesQryStkHoldingFilterT ... +_OesQryOptHoldingReq = OesQryOptHoldingReqT + class OesQryOptHoldingRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesOptHoldingItemT] ... +_OesQryHoldRsp = OesQryOptHoldingRspT + class OesQryCustFilterT: custId: str userInfo: int ... +_OesQryCustFilter = OesQryCustFilterT + class OesQryCustReqT: reqHead: OesQryReqHeadT qryFilter: OesQryCustFilterT ... +_OesQryCustReq = OesQryCustReqT + class OesQryCustRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesCustBaseInfoT] ... +_OesQryCustRsp = OesQryCustRspT + class OesQryInvAcctFilterT: custId: str @@ -764,6 +879,8 @@ class OesQryInvAcctFilterT: __filler: Sequence[int] userInfo: int ... +_OesQryInvAcctFilter = OesQryInvAcctFilterT + class OesInvAcctItemT: invAcctId: str @@ -780,16 +897,22 @@ class OesInvAcctItemT: subscriptionQuota: int custId: str ... +_OesInvAcctItem = OesInvAcctItemT + class OesQryInvAcctReqT: reqHead: OesQryReqHeadT qryFilter: OesQryInvAcctFilterT ... +_OesQryInvAcctReq = OesQryInvAcctReqT + class OesQryInvAcctRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesInvAcctItemT] ... +_OesQryInvAcctRsp = OesQryInvAcctRspT + class OesInvAcctOverviewT: invAcctId: str @@ -815,6 +938,8 @@ class OesInvAcctOverviewT: trdCnt: int __reserve: int ... +_OesInvAcctOverview = OesInvAcctOverviewT + class OesCashAcctOverviewT: cashAcctId: str @@ -828,6 +953,8 @@ class OesCashAcctOverviewT: __filler: Sequence[int] __reserve: int ... +_OesCashAcctOverview = OesCashAcctOverviewT + class OesCustOverviewT: custId: str @@ -850,6 +977,8 @@ class OesCustOverviewT: szOptionInvAcct: OesInvAcctOverviewT __reserve: int ... +_OesCustOverview = OesCustOverviewT + class OesClientOverviewT: clientId: int @@ -882,6 +1011,8 @@ class OesClientOverviewT: __filler4: int custItems: Sequence[OesCustOverviewT] ... +_OesClientOverview = OesClientOverviewT + class OesQryCommissionRateFilterT: custId: str @@ -891,6 +1022,8 @@ class OesQryCommissionRateFilterT: __filler: Sequence[int] userInfo: int ... +_OesQryCommissionRateFilter = OesQryCommissionRateFilterT + class OesCommissionRateItemT: custId: str @@ -907,16 +1040,22 @@ class OesCommissionRateItemT: minFee: int maxFee: int ... +_OesCommissionRateItem = OesCommissionRateItemT + class OesQryCommissionRateReqT: reqHead: OesQryReqHeadT qryFilter: OesQryCommissionRateFilterT ... +_OesQryCommissionRateReq = OesQryCommissionRateReqT + class OesQryCommissionRateRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesCommissionRateItemT] ... +_OesQryCommissionRateRsp = OesQryCommissionRateRspT + class OesQryFundTransferSerialFilterT: custId: str @@ -926,16 +1065,22 @@ class OesQryFundTransferSerialFilterT: __filler: Sequence[int] userInfo: int ... +_OesQryFundTransferSerialFilter = OesQryFundTransferSerialFilterT + class OesQryFundTransferSerialReqT: reqHead: OesQryReqHeadT qryFilter: OesQryFundTransferSerialFilterT ... +_OesQryFundTransferSerialReq = OesQryFundTransferSerialReqT + class OesQryFundTransferSerialRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesFundTrsfReportT] ... +_OesQryFundTransferSerialRsp = OesQryFundTransferSerialRspT + class OesQryLotWinningFilterT: custId: str @@ -947,16 +1092,22 @@ class OesQryLotWinningFilterT: endDate: int userInfo: int ... +_OesQryLotWinningFilter = OesQryLotWinningFilterT + class OesQryLotWinningReqT: reqHead: OesQryReqHeadT qryFilter: OesQryLotWinningFilterT ... +_OesQryLotWinningReq = OesQryLotWinningReqT + class OesQryLotWinningRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesLotWinningBaseInfoT] ... +_OesQryLotWinningRsp = OesQryLotWinningRspT + class OesQryIssueFilterT: securityId: str @@ -964,16 +1115,22 @@ class OesQryIssueFilterT: __filler: Sequence[int] userInfo: int ... +_OesQryIssueFilter = OesQryIssueFilterT + class OesQryIssueReqT: reqHead: OesQryReqHeadT qryFilter: OesQryIssueFilterT ... +_OesQryIssueReq = OesQryIssueReqT + class OesQryIssueRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesIssueBaseInfoT] ... +_OesQryIssueRsp = OesQryIssueRspT + class OesQryStockFilterT: securityId: str @@ -983,16 +1140,22 @@ class OesQryStockFilterT: __filler: Sequence[int] userInfo: int ... +_OesQryStockFilter = OesQryStockFilterT + class OesQryStockReqT: reqHead: OesQryReqHeadT qryFilter: OesQryStockFilterT ... +_OesQryStockReq = OesQryStockReqT + class OesQryStockRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesStockBaseInfoT] ... +_OesQryStockRsp = OesQryStockRspT + class OesQryEtfFilterT: fundId: str @@ -1000,21 +1163,29 @@ class OesQryEtfFilterT: __filler: Sequence[int] userInfo: int ... +_OesQryEtfFilter = OesQryEtfFilterT + class OesQryEtfReqT: reqHead: OesQryReqHeadT qryFilter: OesQryEtfFilterT ... +_OesQryEtfReq = OesQryEtfReqT + class OesQryEtfRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesEtfBaseInfoT] ... +_OesQryEtfRsp = OesQryEtfRspT + class OesQryEtfComponentFilterT: fundId: str userInfo: int ... +_OesQryEtfComponentFilter = OesQryEtfComponentFilterT + class OesEtfComponentItemT: securityId: str @@ -1029,16 +1200,22 @@ class OesEtfComponentItemT: redemptionCashSub: int fundId: str ... +_OesEtfComponentItem = OesEtfComponentItemT + class OesQryEtfComponentReqT: reqHead: OesQryReqHeadT qryFilter: OesQryEtfComponentFilterT ... +_OesQryEtfComponentReq = OesQryEtfComponentReqT + class OesQryEtfComponentRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesEtfComponentItemT] ... +_OesQryEtfComponentRsp = OesQryEtfComponentRspT + class OesQryOptionFilterT: securityId: str @@ -1046,21 +1223,29 @@ class OesQryOptionFilterT: __filler: Sequence[int] userInfo: int ... +_OesQryOptionFilter = OesQryOptionFilterT + class OesQryOptionReqT: reqHead: OesQryReqHeadT qryFilter: OesQryOptionFilterT ... +_OesQryOptionReq = OesQryOptionReqT + class OesQryOptionRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesOptionBaseInfoT] ... +_OesQryOptionRsp = OesQryOptionRspT + class OesQryTradingDayRspT: tradingDay: int __filler: int ... +_OesQryTradingDayRsp = OesQryTradingDayRspT + class OesQryMarketStateFilterT: exchId: int @@ -1068,16 +1253,22 @@ class OesQryMarketStateFilterT: __filler: Sequence[int] userInfo: int ... +_OesQryMarketStateFilter = OesQryMarketStateFilterT + class OesQryMarketStateReqT: reqHead: OesQryReqHeadT qryFilter: OesQryMarketStateFilterT ... +_OesQryMarketStateReq = OesQryMarketStateReqT + class OesQryMarketStateRspT: rspHead: OesQryRspHeadT qryItems: Sequence[OesMarketStateInfoT] ... +_OesQryMarketStateRsp = OesQryMarketStateRspT + class OesQryReqMsgT: qryOrd: OesQryOrdReqT @@ -1098,6 +1289,8 @@ class OesQryReqMsgT: qryMktState: OesQryMarketStateReqT qryCounterCash: OesQryCounterCashReqT ... +_OesQryReqMsg = OesQryReqMsgT + class OesQryRspMsgT: ordRsp: OesQryOrdRspT @@ -1120,6 +1313,8 @@ class OesQryRspMsgT: clientOverview: OesClientOverviewT counterCashRsp: OesQryCounterCashRspT ... +_OesQryRspMsg = OesQryRspMsgT + class OesLogonReqT: encryptMethod: int @@ -1137,6 +1332,8 @@ class OesLogonReqT: lastOutMsgSeq: int clientDriverId: str ... +_OesLogonReq = OesLogonReqT + class OesLogonRspT: encryptMethod: int @@ -1155,6 +1352,8 @@ class OesLogonRspT: lastInMsgSeq: int lastOutMsgSeq: int ... +_OesLogonRsp = OesLogonRspT + class OesReportSynchronizationReqT: lastRptSeqNum: int @@ -1162,6 +1361,8 @@ class OesReportSynchronizationReqT: __filler: Sequence[int] subscribeRptTypes: int ... +_OesReportSynchronizationReq = OesReportSynchronizationReqT + class OesReportSynchronizationRspT: lastRptSeqNum: int @@ -1169,12 +1370,16 @@ class OesReportSynchronizationRspT: __filler: Sequence[int] subscribeRptTypes: int ... +_OesReportSynchronizationRsp = OesReportSynchronizationRspT + class OesTestRequestReqT: testReqId: str sendTime: str __filler: str ... +_OesTestRequestReq = OesTestRequestReqT + class OesTestRequestRspT: testReqId: str @@ -1186,6 +1391,8 @@ class OesTestRequestRspT: __collectedTime: STimeval32T # unknown what to wrap in py __pushingTime: STimeval32T # unknown what to wrap in py ... +_OesTestRequestRsp = OesTestRequestRspT + class OesChangePasswordReqT: encryptMethod: int @@ -1195,6 +1402,8 @@ class OesChangePasswordReqT: oldPassword: str newPassword: str ... +_OesChangePasswordReq = OesChangePasswordReqT + class OesChangePasswordRspT: encryptMethod: int @@ -1208,16 +1417,22 @@ class OesChangePasswordRspT: transTime: int rejReason: int ... +_OesChangePasswordRsp = OesChangePasswordRspT + class OesBatchOrdersHeadT: itemCount: int __filler: int ... +_OesBatchOrdersHead = OesBatchOrdersHeadT + class OesBatchOrdersReqT: batchHead: OesBatchOrdersHeadT items: Sequence[OesOrdReqT] ... +_OesBatchOrdersReq = OesBatchOrdersReqT + class OesRptMsgHeadT: rptSeqNum: int @@ -1226,6 +1441,8 @@ class OesRptMsgHeadT: bodyLength: int ordRejReason: int ... +_OesRptMsgHead = OesRptMsgHeadT + class OesRptMsgBodyT: ordInsertRsp: OesOrdCnfmT @@ -1238,11 +1455,15 @@ class OesRptMsgBodyT: stkHoldingRpt: OesStkHoldingItemT optHoldingRpt: OesOptHoldingItemT ... +_OesRptMsgBody = OesRptMsgBodyT + class OesRptMsgT: rptHead: OesRptMsgHeadT rptBody: OesRptMsgBodyT ... +_OesRptMsg = OesRptMsgT + class OesReqMsgBodyT: ordReq: OesOrdReqT @@ -1254,6 +1475,8 @@ class OesReqMsgBodyT: rptSyncReq: OesReportSynchronizationReqT logonReq: OesLogonReqT ... +_OesReqMsgBody = OesReqMsgBodyT + class OesRspMsgBodyT: rptMsg: OesRptMsgT @@ -1263,6 +1486,8 @@ class OesRspMsgBodyT: reportSynchronizationRsp: OesReportSynchronizationRspT logonRsp: OesLogonRspT ... +_OesRspMsgBody = OesRspMsgBodyT + class SErrMsgT: __index: int @@ -1272,6 +1497,8 @@ class SErrMsgT: __msgSize: int MSG: str ... +_SErrMsg = SErrMsgT + class SDataBufferT: dataSize: int @@ -1279,6 +1506,8 @@ class SDataBufferT: buffer: char *const # unknown what to wrap in py __ref: Any ... +_SDataBuffer = SDataBufferT + class _SDataBufferVar: dataSize: int @@ -1287,14 +1516,19 @@ class _SDataBufferVar: __ref: Any ... + class SSocketUriInfoT: uri: str ... +_SSocketUriInfo = SSocketUriInfoT + class SSocketIpPortInfoT: port: int ip: str ... +_SSocketIpPortInfo = SSocketIpPortInfoT + class SSocketChannelInfoT: remotePort: int @@ -1304,6 +1538,8 @@ class SSocketChannelInfoT: _isSendBroken: int remoteAddr: str ... +_SSocketChannelInfo = SSocketChannelInfoT + class SSocketOptionConfigT: soRcvbuf: int @@ -1323,6 +1559,8 @@ class SSocketOptionConfigT: localSendingIp: str mcastInterfaceIp: str ... +_SSocketOptionConfig = SSocketOptionConfigT + class SGeneralClientChannelT: heartBtInt: int @@ -1358,9 +1596,13 @@ class SGeneralClientChannelT: __groupFlag: int __protocolHints: int __filler: Sequence[int] - __reserveData: union (anonymous union at oes_libs-0.15.7.4-release\include\sutil/net/spk_general_client_define.h:181:5) # unknown what to wrap in py - __extData: union (anonymous union at oes_libs-0.15.7.4-release\include\sutil/net/spk_general_client_define.h:197:5) # unknown what to wrap in py + __reserveData: union (anonymous union at vnoes/include\sutil/net/spk_general_client_define.h:181:5) # unknown what to wrap in py + __extData: union (anonymous union at vnoes/include\sutil/net/spk_general_client_define.h:197:5) # unknown what to wrap in py ... +MdsApiSessionInfoT = SGeneralClientChannelT +_SGeneralClientChannel = SGeneralClientChannelT +OesApiSessionInfoT = SGeneralClientChannelT + class SGeneralClientChannelGroupT: channelCount: int @@ -1371,6 +1613,10 @@ class SGeneralClientChannelGroupT: __filler: Sequence[int] __fdSet: fd_set # unknown what to wrap in py ... +_SGeneralClientChannelGroup = SGeneralClientChannelGroupT +OesApiChannelGroupT = SGeneralClientChannelGroupT +MdsApiChannelGroupT = SGeneralClientChannelGroupT + class SGeneralClientAddrInfoT: uri: str @@ -1380,6 +1626,10 @@ class SGeneralClientAddrInfoT: hostNum: int __filler: Sequence[int] ... +MdsApiAddrInfoT = SGeneralClientAddrInfoT +OesApiAddrInfoT = SGeneralClientAddrInfoT +_SGeneralClientAddrInfo = SGeneralClientAddrInfoT + class SGeneralClientRemoteCfgT: addrCnt: int @@ -1394,12 +1644,18 @@ class SGeneralClientRemoteCfgT: addrList: Sequence[SGeneralClientAddrInfoT] socketOpt: SSocketOptionConfigT ... +_SGeneralClientRemoteCfg = SGeneralClientRemoteCfgT +MdsApiRemoteCfgT = SGeneralClientRemoteCfgT +OesApiRemoteCfgT = SGeneralClientRemoteCfgT + class OesApiSubscribeInfoT: clEnvId: int __filler: Sequence[int] rptTypes: int ... +_OesApiSubscribeInfo = OesApiSubscribeInfoT + class OesApiClientCfgT: ordChannelCfg: SGeneralClientRemoteCfgT @@ -1407,12 +1663,16 @@ class OesApiClientCfgT: qryChannelCfg: SGeneralClientRemoteCfgT subscribeInfo: OesApiSubscribeInfoT ... +_OesApiClientCfg = OesApiClientCfgT + class OesApiClientEnvT: ordChannel: SGeneralClientChannelT rptChannel: SGeneralClientChannelT qryChannel: SGeneralClientChannelT ... +_OesApiClientEnv = OesApiClientEnvT + class MdsTradingSessionStatusMsgT: exchId: int @@ -1434,6 +1694,8 @@ class MdsTradingSessionStatusMsgT: __processedTime: STimeval32T # unknown what to wrap in py __pushingTime: STimeval32T # unknown what to wrap in py ... +_MdsTradingSessionStatusMsg = MdsTradingSessionStatusMsgT + class MdsSecurityStatusMsgT: exchId: int @@ -1460,12 +1722,16 @@ class MdsSecurityStatusMsgT: __processedTime: STimeval32T # unknown what to wrap in py __pushingTime: STimeval32T # unknown what to wrap in py ... +_MdsSecurityStatusMsg = MdsSecurityStatusMsgT + class MdsPriceLevelEntryT: Price: int NumberOfOrders: int OrderQty: int ... +_MdsPriceLevelEntry = MdsPriceLevelEntryT + class MdsMktDataSnapshotHeadT: exchId: int @@ -1486,6 +1752,8 @@ class MdsMktDataSnapshotHeadT: __processedTime: STimeval32T # unknown what to wrap in py __pushingTime: STimeval32T # unknown what to wrap in py ... +_MdsMktDataSnapshotHead = MdsMktDataSnapshotHeadT + class MdsIndexSnapshotBodyT: SecurityID: str @@ -1503,6 +1771,8 @@ class MdsIndexSnapshotBodyT: StockNum: int __filler1: int ... +_MdsIndexSnapshotBody = MdsIndexSnapshotBodyT + class MdsStockSnapshotBodyT: SecurityID: str @@ -1523,12 +1793,16 @@ class MdsStockSnapshotBodyT: BidLevels: Sequence[MdsPriceLevelEntryT] OfferLevels: Sequence[MdsPriceLevelEntryT] ... +_MdsStockSnapshotBody = MdsStockSnapshotBodyT + class MdsL1SnapshotBodyT: stock: MdsStockSnapshotBodyT option: MdsStockSnapshotBodyT index: MdsIndexSnapshotBodyT ... +_MdsL1SnapshotBody = MdsL1SnapshotBodyT + class MdsL2StockSnapshotBodyT: SecurityID: str @@ -1555,6 +1829,8 @@ class MdsL2StockSnapshotBodyT: BidLevels: Sequence[MdsPriceLevelEntryT] OfferLevels: Sequence[MdsPriceLevelEntryT] ... +_MdsL2StockSnapshotBody = MdsL2StockSnapshotBodyT + class MdsL2StockSnapshotIncrementalT: NumTrades: int @@ -1581,6 +1857,8 @@ class MdsL2StockSnapshotIncrementalT: PriceLevelOperator: Sequence[int] PriceLevels: Sequence[MdsPriceLevelEntryT] ... +_MdsL2StockSnapshotIncremental = MdsL2StockSnapshotIncrementalT + class MdsL2BestOrdersSnapshotBodyT: SecurityID: str @@ -1593,6 +1871,8 @@ class MdsL2BestOrdersSnapshotBodyT: BidOrderQty: Sequence[int] OfferOrderQty: Sequence[int] ... +_MdsL2BestOrdersSnapshotBody = MdsL2BestOrdersSnapshotBodyT + class MdsL2BestOrdersSnapshotIncrementalT: TotalVolumeTraded: int @@ -1609,6 +1889,8 @@ class MdsL2BestOrdersSnapshotIncrementalT: OperatorEntryID: Sequence[int] OrderQty: Sequence[int] ... +_MdsL2BestOrdersSnapshotIncremental = MdsL2BestOrdersSnapshotIncrementalT + class MdsL2VirtualAuctionPriceT: SecurityID: str @@ -1618,6 +1900,8 @@ class MdsL2VirtualAuctionPriceT: VirtualAuctionQty: int LeavesQty: int ... +_MdsL2VirtualAuctionPrice = MdsL2VirtualAuctionPriceT + class MdsL2MarketOverviewT: OrigDate: int @@ -1625,6 +1909,8 @@ class MdsL2MarketOverviewT: __exchSendingTime: int __mdsRecvTime: int ... +_MdsL2MarketOverview = MdsL2MarketOverviewT + class MdsL2SnapshotBodyT: l2Stock: MdsL2StockSnapshotBodyT @@ -1635,6 +1921,8 @@ class MdsL2SnapshotBodyT: l2VirtualAuctionPrice: MdsL2VirtualAuctionPriceT l2MarketOverview: MdsL2MarketOverviewT ... +_MdsL2SnapshotBody = MdsL2SnapshotBodyT + class MdsMktDataSnapshotT: head: MdsMktDataSnapshotHeadT @@ -1648,6 +1936,8 @@ class MdsMktDataSnapshotT: l2VirtualAuctionPrice: MdsL2VirtualAuctionPriceT l2MarketOverview: MdsL2MarketOverviewT ... +_MdsMktDataSnapshot = MdsMktDataSnapshotT + class MdsL2TradeT: exchId: int @@ -1676,6 +1966,8 @@ class MdsL2TradeT: __processedTime: STimeval32T # unknown what to wrap in py __pushingTime: STimeval32T # unknown what to wrap in py ... +_MdsL2Trade = MdsL2TradeT + class MdsL2OrderT: exchId: int @@ -1701,6 +1993,8 @@ class MdsL2OrderT: __processedTime: STimeval32T # unknown what to wrap in py __pushingTime: STimeval32T # unknown what to wrap in py ... +_MdsL2Order = MdsL2OrderT + class MdsL2TickLostT: exchId: int @@ -1712,6 +2006,8 @@ class MdsL2TickLostT: endApplSeqNum: int __origTickSeq: int ... +_MdsL2TickLost = MdsL2TickLostT + class MdsQryMktDataSnapshotReqT: exchId: int @@ -1719,12 +2015,17 @@ class MdsQryMktDataSnapshotReqT: __filler: Sequence[int] instrId: int ... +MdsQrySecurityStatusReqT = MdsQryMktDataSnapshotReqT +_MdsQryMktDataSnapshotReq = MdsQryMktDataSnapshotReqT + class MdsQryTrdSessionStatusReqT: exchId: int securityType: int __filler: Sequence[int] ... +_MdsQryTrdSessionStatusReq = MdsQryTrdSessionStatusReqT + class MdsLogonReqT: encryptMethod: int @@ -1733,6 +2034,8 @@ class MdsLogonReqT: password: str applVerId: str ... +_MdsLogonReq = MdsLogonReqT + class MdsLogonRspT: encryptMethod: int @@ -1745,6 +2048,8 @@ class MdsLogonRspT: leaderHostNum: int __filler: Sequence[int] ... +_MdsLogonRsp = MdsLogonRspT + class MdsMktDataRequestEntryT: exchId: int @@ -1752,6 +2057,8 @@ class MdsMktDataRequestEntryT: __filler: Sequence[int] instrId: int ... +_MdsMktDataRequestEntry = MdsMktDataRequestEntryT + class MdsMktDataRequestReqT: subMode: int @@ -1770,11 +2077,16 @@ class MdsMktDataRequestReqT: beginTime: int subSecurityCnt: int ... +_MdsMktDataRequestReq = MdsMktDataRequestReqT + class MdsMktDataRequestReqBufT: mktDataRequestReq: MdsMktDataRequestReqT entries: Sequence[MdsMktDataRequestEntryT] ... +MdsApiSubscribeInfoT = MdsMktDataRequestReqBufT +_MdsMktDataRequestReqBuf = MdsMktDataRequestReqBufT + class MdsMktDataRequestRspT: subMode: int @@ -1792,12 +2104,16 @@ class MdsMktDataRequestRspT: szseIndexSubscribed: int szseOptionSubscribed: int ... +_MdsMktDataRequestRsp = MdsMktDataRequestRspT + class MdsTestRequestReqT: testReqId: str sendTime: str __filler: str ... +_MdsTestRequestReq = MdsTestRequestReqT + class MdsTestRequestRspT: testReqId: str @@ -1809,6 +2125,8 @@ class MdsTestRequestRspT: __collectedTime: STimeval32T # unknown what to wrap in py __pushingTime: STimeval32T # unknown what to wrap in py ... +_MdsTestRequestRsp = MdsTestRequestRspT + class MdsMktReqMsgBodyT: wholeMktDataReqBuf: MdsMktDataRequestReqBufT @@ -1819,6 +2137,8 @@ class MdsMktReqMsgBodyT: qrySecurityStatusReq: MdsQryMktDataSnapshotReqT qryTrdSessionStatusReq: MdsQryTrdSessionStatusReqT ... +_MdsMktReqMsgBody = MdsMktReqMsgBodyT + class MdsMktRspMsgBodyT: mktDataRequestRsp: MdsMktDataRequestRspT @@ -1831,12 +2151,16 @@ class MdsMktRspMsgBodyT: trdSessionStatus: MdsTradingSessionStatusMsgT securityStatus: MdsSecurityStatusMsgT ... +_MdsMktRspMsgBody = MdsMktRspMsgBodyT + class MdsUdpPktHeadT: msgCnt: int pktSiz: int pktSeq: int ... +_MdsUdpPktHead = MdsUdpPktHeadT + class MdsApiClientCfgT: tcpChannelCfg: SGeneralClientRemoteCfgT @@ -1847,6 +2171,8 @@ class MdsApiClientCfgT: udpOrderChannelCfg: SGeneralClientRemoteCfgT subscribeInfo: MdsMktDataRequestReqBufT ... +_MdsApiClientCfg = MdsApiClientCfgT + class MdsApiClientEnvT: tcpChannel: SGeneralClientChannelT @@ -1857,6 +2183,8 @@ class MdsApiClientEnvT: udpOrderChannel: SGeneralClientChannelT udpChannelGroup: SGeneralClientChannelGroupT ... +_MdsApiClientEnv = MdsApiClientEnvT + class cast: @@ -1908,13 +2236,13 @@ class cast: ... - def to_OesOrdCnfm(self, + def toOesOrdItemT(self, v: Any, ) -> OesOrdCnfmT: ... - def toOesOrdItemT(self, + def to_OesOrdCnfm(self, v: Any, ) -> OesOrdCnfmT: ... @@ -1938,13 +2266,13 @@ class cast: ... - def to_OesTrdCnfm(self, + def toOesTrdItemT(self, v: Any, ) -> OesTrdCnfmT: ... - def toOesTrdItemT(self, + def to_OesTrdCnfm(self, v: Any, ) -> OesTrdCnfmT: ... @@ -1956,13 +2284,13 @@ class cast: ... - def toOesLotWinningItemT(self, + def to_OesLotWinningBaseInfo(self, v: Any, ) -> OesLotWinningBaseInfoT: ... - def to_OesLotWinningBaseInfo(self, + def toOesLotWinningItemT(self, v: Any, ) -> OesLotWinningBaseInfoT: ... @@ -2028,13 +2356,13 @@ class cast: ... - def toOesIssueItemT(self, + def to_OesIssueBaseInfo(self, v: Any, ) -> OesIssueBaseInfoT: ... - def to_OesIssueBaseInfo(self, + def toOesIssueItemT(self, v: Any, ) -> OesIssueBaseInfoT: ... @@ -2058,13 +2386,13 @@ class cast: ... - def to_OesStockBaseInfo(self, + def toOesStockItemT(self, v: Any, ) -> OesStockBaseInfoT: ... - def toOesStockItemT(self, + def to_OesStockBaseInfo(self, v: Any, ) -> OesStockBaseInfoT: ... @@ -2106,13 +2434,13 @@ class cast: ... - def toOesOptionItemT(self, + def to_OesOptionBaseInfo(self, v: Any, ) -> OesOptionBaseInfoT: ... - def to_OesOptionBaseInfo(self, + def toOesOptionItemT(self, v: Any, ) -> OesOptionBaseInfoT: ... @@ -2136,13 +2464,13 @@ class cast: ... - def to_OesCustBaseInfo(self, + def toOesCustItemT(self, v: Any, ) -> OesCustBaseInfoT: ... - def toOesCustItemT(self, + def to_OesCustBaseInfo(self, v: Any, ) -> OesCustBaseInfoT: ... @@ -2436,13 +2764,13 @@ class cast: ... - def to_OesQryStkHoldingFilter(self, + def toOesQryOptHoldingFilterT(self, v: Any, ) -> OesQryStkHoldingFilterT: ... - def toOesQryOptHoldingFilterT(self, + def to_OesQryStkHoldingFilter(self, v: Any, ) -> OesQryStkHoldingFilterT: ... @@ -3300,7 +3628,7 @@ class cast: ... - def toOesApiSessionInfoT(self, + def toMdsApiSessionInfoT(self, v: Any, ) -> SGeneralClientChannelT: ... @@ -3312,7 +3640,7 @@ class cast: ... - def toMdsApiSessionInfoT(self, + def toOesApiSessionInfoT(self, v: Any, ) -> SGeneralClientChannelT: ... @@ -3324,13 +3652,13 @@ class cast: ... - def toOesApiChannelGroupT(self, + def to_SGeneralClientChannelGroup(self, v: Any, ) -> SGeneralClientChannelGroupT: ... - def to_SGeneralClientChannelGroup(self, + def toOesApiChannelGroupT(self, v: Any, ) -> SGeneralClientChannelGroupT: ... @@ -3348,7 +3676,7 @@ class cast: ... - def to_SGeneralClientAddrInfo(self, + def toMdsApiAddrInfoT(self, v: Any, ) -> SGeneralClientAddrInfoT: ... @@ -3360,7 +3688,7 @@ class cast: ... - def toMdsApiAddrInfoT(self, + def to_SGeneralClientAddrInfo(self, v: Any, ) -> SGeneralClientAddrInfoT: ... @@ -3372,7 +3700,7 @@ class cast: ... - def toOesApiRemoteCfgT(self, + def to_SGeneralClientRemoteCfg(self, v: Any, ) -> SGeneralClientRemoteCfgT: ... @@ -3384,7 +3712,7 @@ class cast: ... - def to_SGeneralClientRemoteCfg(self, + def toOesApiRemoteCfgT(self, v: Any, ) -> SGeneralClientRemoteCfgT: ... @@ -3648,13 +3976,13 @@ class cast: ... - def to_MdsQryMktDataSnapshotReq(self, + def toMdsQrySecurityStatusReqT(self, v: Any, ) -> MdsQryMktDataSnapshotReqT: ... - def toMdsQrySecurityStatusReqT(self, + def to_MdsQryMktDataSnapshotReq(self, v: Any, ) -> MdsQryMktDataSnapshotReqT: ... @@ -3835,6 +4163,7 @@ class cast: ... + def SPlatform_GetErrno( )->int: ... @@ -4350,14 +4679,6 @@ def OesApi_ForeachInChannelGroup( )->int: ... -def OesApi_WaitOnChannelGroup( - pChannelGroup: SGeneralClientChannelGroupT, - timeoutMs: int, - pOnMsgCallback: Callable[[SGeneralClientChannelT,SMsgHeadT,Any,Any], int], - ppFailed: SGeneralClientChannelT, - )->int: - ... - def OesApi_SetThreadUsername( pUsername: str, )->Any: @@ -4511,29 +4832,6 @@ def MdsApi_SubscribeMarketData( )->int: ... -def MdsApi_SubscribeByString( - pTcpChannel: SGeneralClientChannelT, - pSecurityListStr: str, - pDelim: str, - exchangeId: eMdsExchangeIdT, - securityType: eMdsSecurityTypeT, - subMode: eMdsSubscribeModeT, - dataTypes: int, - )->int: - ... - -def MdsApi_SubscribeByStringAndPrefixes( - pTcpChannel: SGeneralClientChannelT, - pSecurityListStr: str, - pDelim: str, - pSseCodePrefixes: str, - pSzseCodePrefixes: str, - securityType: eMdsSecurityTypeT, - subMode: eMdsSubscribeModeT, - dataTypes: int, - )->int: - ... - def MdsApi_SendHeartbeat( pSessionInfo: SGeneralClientChannelT, )->int: @@ -4762,30 +5060,6 @@ def MdsApi_ForeachInChannelGroup( )->int: ... -def MdsApi_WaitOnTcpChannelGroup( - pChannelGroup: SGeneralClientChannelGroupT, - timeoutMs: int, - pOnMsgCallback: Callable[[SGeneralClientChannelT,SMsgHeadT,Any,Any], int], - ppFailed: SGeneralClientChannelT, - )->int: - ... - -def MdsApi_WaitOnTcpChannelGroupCompressible( - pChannelGroup: SGeneralClientChannelGroupT, - timeoutMs: int, - pOnMsgCallback: Callable[[SGeneralClientChannelT,SMsgHeadT,Any,Any], int], - ppFailed: SGeneralClientChannelT, - )->int: - ... - -def MdsApi_WaitOnUdpChannelGroup( - pChannelGroup: SGeneralClientChannelGroupT, - timeoutMs: int, - pOnMsgCallback: Callable[[SGeneralClientChannelT,SMsgHeadT,Any,Any], int], - ppFailed: SGeneralClientChannelT, - )->int: - ... - def MdsApi_SetThreadUsername( pUsername: str, )->Any: @@ -4963,6 +5237,32 @@ MDSAPI_CFG_DEFAULT_KEY_UDP_ADDR_TICK_TRADE: str = """udpServer.TickTrade""" MDSAPI_CFG_DEFAULT_KEY_UDP_ADDR_TICK_ORDER: str = """udpServer.TickOrder""" MDSAPI_DEFAULT_STRING_DELIM: str = """,;| """ + + +class constants: + OES_APPL_VER_ID: str = """0.15.7.4""" + OES_MIN_APPL_VER_ID: str = """0.15.5""" + OESAPI_CFG_DEFAULT_SECTION: str = """oes_client""" + OESAPI_CFG_DEFAULT_SECTION_LOGGER: str = """log""" + OESAPI_CFG_DEFAULT_KEY_ORD_ADDR: str = """ordServer""" + OESAPI_CFG_DEFAULT_KEY_RPT_ADDR: str = """rptServer""" + OESAPI_CFG_DEFAULT_KEY_QRY_ADDR: str = """qryServer""" + OESAPI_DEFAULT_STRING_DELIM: str = """,;| +""" + MDS_APPL_VER_ID: str = """0.15.7.4""" + MDS_MIN_APPL_VER_ID: str = """0.15.5""" + MDSAPI_CFG_DEFAULT_SECTION: str = """mds_client""" + MDSAPI_CFG_DEFAULT_SECTION_LOGGER: str = """log""" + MDSAPI_CFG_DEFAULT_KEY_TCP_ADDR: str = """tcpServer""" + MDSAPI_CFG_DEFAULT_KEY_QRY_ADDR: str = """qryServer""" + MDSAPI_CFG_DEFAULT_KEY_UDP_ADDR_L1: str = """udpServer.L1""" + MDSAPI_CFG_DEFAULT_KEY_UDP_ADDR_L2: str = """udpServer.L2""" + MDSAPI_CFG_DEFAULT_KEY_UDP_ADDR_TICK_TRADE: str = """udpServer.TickTrade""" + MDSAPI_CFG_DEFAULT_KEY_UDP_ADDR_TICK_ORDER: str = """udpServer.TickOrder""" + MDSAPI_DEFAULT_STRING_DELIM: str = """,;| +""" + ... + class eOesExchangeIdT(Enum): OES_EXCH_UNDEFINE: eOesExchangeIdT OES_EXCH_SSE: eOesExchangeIdT = 1