tora-rs 0.1.0

Safe & idiomatic Rust bindings for TORA STP (华鑫奇点); Linux/Windows
Documentation
#pragma once

namespace tora_trader {
struct ReqUserLoginField;
struct RspUserLoginField;
struct RspInfoField;
struct UserLogoutField;
struct UserPasswordUpdateField;
struct ReqInputDeviceSerialField;
struct RspInputDeviceSerialField;
struct InputOrderField;
struct OrderField;
struct UserRefField;
struct TradeField;
struct InputOrderActionField;
struct InputCondOrderField;
struct ConditionOrderField;
struct InputCondOrderActionField;
struct InputNegoOrderField;
struct NegoOrderField;
struct NegoTradeField;
struct InputNegoOrderActionField;
struct InputOrderExField;
struct InputOrderActionExField;
struct MarketStatusField;
struct InputTransferFundField;
struct TransferFundField;
struct InputTransferPositionField;
struct TransferPositionField;
struct PeripheryTransferPositionField;
struct PeripheryTransferFundField;
struct ReqInquiryJZFundField;
struct RspInquiryJZFundField;
struct ReqInquiryBankAccountFundField;
struct RspInquiryBankAccountFundField;
struct TradingNoticeField;
struct ReqInquiryMaxOrderVolumeField;
struct RspInquiryMaxOrderVolumeField;
struct InquiryTradeConcentrationField;
struct ReqModifyOpenPosCostField;
struct InputNodeFundAssignmentField;
struct ReqInquiryNodeFundAssignmentField;
struct RspInquiryNodeFundAssignmentField;
struct QryExchangeField;
struct ExchangeField;
struct QrySecurityField;
struct SecurityField;
struct QryIPOInfoField;
struct IPOInfoField;
struct QryUserField;
struct UserField;
struct QryInvestorField;
struct InvestorField;
struct QryShareholderAccountField;
struct ShareholderAccountField;
struct QryRationalInfoField;
struct RationalInfoField;
struct QryOrderField;
struct QryOrderActionField;
struct OrderActionField;
struct QryTradeField;
struct QryTradingAccountField;
struct TradingAccountField;
struct QryPositionField;
struct PositionField;
struct QryTradingFeeField;
struct TradingFeeField;
struct QryInvestorTradingFeeField;
struct InvestorTradingFeeField;
struct QryIPOQuotaField;
struct IPOQuotaField;
struct QryOrderFundDetailField;
struct OrderFundDetailField;
struct QryFundTransferDetailField;
struct FundTransferDetailField;
struct QryPositionTransferDetailField;
struct PositionTransferDetailField;
struct QryPeripheryPositionTransferDetailField;
struct PeripheryPositionTransferDetailField;
struct QryPeripheryFundTransferDetailField;
struct PeripheryFundTransferDetailField;
struct QryBondConversionInfoField;
struct BondConversionInfoField;
struct QryBondPutbackInfoField;
struct BondPutbackInfoField;
struct QryInvestorCondOrderLimitParamField;
struct InvestorCondOrderLimitParamField;
struct QryConditionOrderField;
struct QryCondOrderActionField;
struct CondOrderActionField;
struct QryTradingNoticeField;
struct QryIPONumberResultField;
struct IPONumberResultField;
struct QryIPOMatchNumberResultField;
struct IPOMatchNumberResultField;
struct QryShareholderSpecPrivilegeField;
struct ShareholderSpecPrivilegeField;
struct QryMarketField;
struct MarketField;
struct QryETFFileField;
struct ETFFileField;
struct QryETFBasketField;
struct ETFBasketField;
struct QryInvestorPositionLimitField;
struct InvestorPositionLimitField;
struct QryImcParamsField;
struct ImcParamsField;
struct QryImcExchangeRateField;
struct ImcExchangeRateField;
struct QryHKPriceTickInfoField;
struct HKPriceTickInfoField;
struct QryLofFundInfoField;
struct LofFundInfoField;
struct QryPledgePositionField;
struct PledgePositionField;
struct QryPledgeInfoField;
struct PledgeInfoField;
struct QrySystemNodeInfoField;
struct SystemNodeInfoField;
struct QryStandardBondPositionField;
struct StandardBondPositionField;
struct QryPrematurityRepoOrderField;
struct PrematurityRepoOrderField;
struct QryNegoOrderField;
struct QryNegoOrderActionField;
struct NegoOrderActionField;
struct QryNegoTradeField;
struct QryNegotiationParamField;
struct NegotiationParamField;
struct QryPublicOfferedFundInfoField;
struct PublicOfferedFundInfoField;
struct QryPublicOfferedFundTradeDetailField;
struct PublicOfferedFundTradeDetailField;
struct QryTenderInfoField;
struct TenderInfoField;
struct QryAdditionalOfferingInfoField;
struct AdditionalOfferingInfoField;
struct QryAdditionalOfferingQuotaField;
struct AdditionalOfferingQuotaField;
struct ForceUserLogoutField;
struct ActivateUserField;
struct FensUserInfoField;
struct ConnectionInfoField;
struct TraderApi;
struct TraderSpi;
class CTraderSpi;
}

#include "tora-rs/src/trader.rs.h"
#include "tora-rs/wrapper/include/CTraderSpi.h"
#include "TORATstpTraderApi.h"
#include "rust/cxx.h"
#include <cstdint>
#include <memory>

namespace tora_trader {
using namespace TORASTOCKAPI;

struct TraderApi {
    TraderApi(rust::Box<TraderSpi> gateway, rust::String flow_path, bool is_encrypt, uint8_t trade_comm_mode, rust::String interface_addr, bool is_using_order_ex);
    ~TraderApi();
    rust::String GetApiVersion() const;
    void Init() const;
    int32_t Join() const;
    void RegisterFront(rust::String pszFrontAddress) const;
    void RegisterNameServer(rust::String pszNsAddress) const;
    void RegisterFensUserInfo(FensUserInfoField pFensUserInfoField) const;
    void SubscribePrivateTopic(int32_t nResumeType) const;
    void SubscribePublicTopic(int32_t nResumeType) const;
    int32_t ReqGetConnectionInfo(int32_t nRequestID) const;
    int32_t ReqUserLogin(ReqUserLoginField pReqUserLoginField, int32_t nRequestID) const;
    int32_t ReqUserLogout(UserLogoutField pUserLogoutField, int32_t nRequestID) const;
    int32_t ReqUserPasswordUpdate(UserPasswordUpdateField pUserPasswordUpdateField, int32_t nRequestID) const;
    int32_t ReqInputDeviceSerial(ReqInputDeviceSerialField pReqInputDeviceSerialField, int32_t nRequestID) const;
    int32_t ReqOrderInsert(InputOrderField pInputOrderField, int32_t nRequestID) const;
    int32_t ReqPublicOfferedFundOrderInsert(InputOrderField pInputOrderField, int32_t nRequestID) const;
    int32_t ReqOrderAction(InputOrderActionField pInputOrderActionField, int32_t nRequestID) const;
    int32_t ReqCondOrderInsert(InputCondOrderField pInputCondOrderField, int32_t nRequestID) const;
    int32_t ReqCondOrderAction(InputCondOrderActionField pInputCondOrderActionField, int32_t nRequestID) const;
    int32_t ReqNegoOrderInsert(InputNegoOrderField pInputNegoOrderField, int32_t nRequestID) const;
    int32_t ReqNegoOrderAction(InputNegoOrderActionField pInputNegoOrderActionField, int32_t nRequestID) const;
    int32_t ReqOrderInsertEx(InputOrderExField pInputOrderExField, int32_t nRequestID) const;
    int32_t ReqOrderActionEx(InputOrderActionExField pInputOrderActionExField, int32_t nRequestID) const;
    int32_t ReqTransferFund(InputTransferFundField pInputTransferFundField, int32_t nRequestID) const;
    int32_t ReqTransferPosition(InputTransferPositionField pInputTransferPositionField, int32_t nRequestID) const;
    int32_t ReqInquiryJZFund(ReqInquiryJZFundField pReqInquiryJZFundField, int32_t nRequestID) const;
    int32_t ReqInquiryBankAccountFund(ReqInquiryBankAccountFundField pReqInquiryBankAccountFundField, int32_t nRequestID) const;
    int32_t ReqInquiryMaxOrderVolume(ReqInquiryMaxOrderVolumeField pReqInquiryMaxOrderVolumeField, int32_t nRequestID) const;
    int32_t ReqInquiryTradeConcentration(InquiryTradeConcentrationField pInquiryTradeConcentrationField, int32_t nRequestID) const;
    int32_t ReqModifyOpenPosCost(ReqModifyOpenPosCostField pReqModifyOpenPosCostField, int32_t nRequestID) const;
    int32_t ReqInputNodeFundAssignment(InputNodeFundAssignmentField pInputNodeFundAssignmentField, int32_t nRequestID) const;
    int32_t ReqInquiryNodeFundAssignment(ReqInquiryNodeFundAssignmentField pReqInquiryNodeFundAssignmentField, int32_t nRequestID) const;
    int32_t ReqQryExchange(QryExchangeField pQryExchangeField, int32_t nRequestID) const;
    int32_t ReqQrySecurity(QrySecurityField pQrySecurityField, int32_t nRequestID) const;
    int32_t ReqQryIPOInfo(QryIPOInfoField pQryIPOInfoField, int32_t nRequestID) const;
    int32_t ReqQryUser(QryUserField pQryUserField, int32_t nRequestID) const;
    int32_t ReqQryInvestor(QryInvestorField pQryInvestorField, int32_t nRequestID) const;
    int32_t ReqQryShareholderAccount(QryShareholderAccountField pQryShareholderAccountField, int32_t nRequestID) const;
    int32_t ReqQryRationalInfo(QryRationalInfoField pQryRationalInfoField, int32_t nRequestID) const;
    int32_t ReqQryOrder(QryOrderField pQryOrderField, int32_t nRequestID) const;
    int32_t ReqQryOrderAction(QryOrderActionField pQryOrderActionField, int32_t nRequestID) const;
    int32_t ReqQryTrade(QryTradeField pQryTradeField, int32_t nRequestID) const;
    int32_t ReqQryTradingAccount(QryTradingAccountField pQryTradingAccountField, int32_t nRequestID) const;
    int32_t ReqQryPosition(QryPositionField pQryPositionField, int32_t nRequestID) const;
    int32_t ReqQryTradingFee(QryTradingFeeField pQryTradingFeeField, int32_t nRequestID) const;
    int32_t ReqQryInvestorTradingFee(QryInvestorTradingFeeField pQryInvestorTradingFeeField, int32_t nRequestID) const;
    int32_t ReqQryIPOQuota(QryIPOQuotaField pQryIPOQuotaField, int32_t nRequestID) const;
    int32_t ReqQryOrderFundDetail(QryOrderFundDetailField pQryOrderFundDetailField, int32_t nRequestID) const;
    int32_t ReqQryFundTransferDetail(QryFundTransferDetailField pQryFundTransferDetailField, int32_t nRequestID) const;
    int32_t ReqQryPositionTransferDetail(QryPositionTransferDetailField pQryPositionTransferDetailField, int32_t nRequestID) const;
    int32_t ReqQryPeripheryPositionTransferDetail(QryPeripheryPositionTransferDetailField pQryPeripheryPositionTransferDetailField, int32_t nRequestID) const;
    int32_t ReqQryPeripheryFundTransferDetail(QryPeripheryFundTransferDetailField pQryPeripheryFundTransferDetailField, int32_t nRequestID) const;
    int32_t ReqQryBondConversionInfo(QryBondConversionInfoField pQryBondConversionInfoField, int32_t nRequestID) const;
    int32_t ReqQryBondPutbackInfo(QryBondPutbackInfoField pQryBondPutbackInfoField, int32_t nRequestID) const;
    int32_t ReqQryInvestorCondOrderLimitParam(QryInvestorCondOrderLimitParamField pQryInvestorCondOrderLimitParamField, int32_t nRequestID) const;
    int32_t ReqQryConditionOrder(QryConditionOrderField pQryConditionOrderField, int32_t nRequestID) const;
    int32_t ReqQryCondOrderAction(QryCondOrderActionField pQryCondOrderActionField, int32_t nRequestID) const;
    int32_t ReqQryTradingNotice(QryTradingNoticeField pQryTradingNoticeField, int32_t nRequestID) const;
    int32_t ReqQryIPONumberResult(QryIPONumberResultField pQryIPONumberResultField, int32_t nRequestID) const;
    int32_t ReqQryIPOMatchNumberResult(QryIPOMatchNumberResultField pQryIPOMatchNumberResultField, int32_t nRequestID) const;
    int32_t ReqQryShareholderSpecPrivilege(QryShareholderSpecPrivilegeField pQryShareholderSpecPrivilegeField, int32_t nRequestID) const;
    int32_t ReqQryMarket(QryMarketField pQryMarketField, int32_t nRequestID) const;
    int32_t ReqQryETFFile(QryETFFileField pQryETFFileField, int32_t nRequestID) const;
    int32_t ReqQryETFBasket(QryETFBasketField pQryETFBasketField, int32_t nRequestID) const;
    int32_t ReqQryInvestorPositionLimit(QryInvestorPositionLimitField pQryInvestorPositionLimitField, int32_t nRequestID) const;
    int32_t ReqQryImcParams(QryImcParamsField pQryImcParamsField, int32_t nRequestID) const;
    int32_t ReqQryImcExchangeRate(QryImcExchangeRateField pQryImcExchangeRateField, int32_t nRequestID) const;
    int32_t ReqQryHKPriceTickInfo(QryHKPriceTickInfoField pQryHKPriceTickInfoField, int32_t nRequestID) const;
    int32_t ReqQryLofFundInfo(QryLofFundInfoField pQryLofFundInfoField, int32_t nRequestID) const;
    int32_t ReqQryPledgePosition(QryPledgePositionField pQryPledgePositionField, int32_t nRequestID) const;
    int32_t ReqQryPledgeInfo(QryPledgeInfoField pQryPledgeInfoField, int32_t nRequestID) const;
    int32_t ReqQrySystemNodeInfo(QrySystemNodeInfoField pQrySystemNodeInfoField, int32_t nRequestID) const;
    int32_t ReqQryStandardBondPosition(QryStandardBondPositionField pQryStandardBondPositionField, int32_t nRequestID) const;
    int32_t ReqQryPrematurityRepoOrder(QryPrematurityRepoOrderField pQryPrematurityRepoOrderField, int32_t nRequestID) const;
    int32_t ReqQryNegoOrder(QryNegoOrderField pQryNegoOrderField, int32_t nRequestID) const;
    int32_t ReqQryNegoOrderAction(QryNegoOrderActionField pQryNegoOrderActionField, int32_t nRequestID) const;
    int32_t ReqQryNegoTrade(QryNegoTradeField pQryNegoTradeField, int32_t nRequestID) const;
    int32_t ReqQryNegotiationParam(QryNegotiationParamField pQryNegotiationParamField, int32_t nRequestID) const;
    int32_t ReqQryPublicOfferedFundInfo(QryPublicOfferedFundInfoField pQryPublicOfferedFundInfoField, int32_t nRequestID) const;
    int32_t ReqQryPublicOfferedFundTradeDetail(QryPublicOfferedFundTradeDetailField pQryPublicOfferedFundTradeDetailField, int32_t nRequestID) const;
    int32_t ReqQryTenderInfo(QryTenderInfoField pQryTenderInfoField, int32_t nRequestID) const;
    int32_t ReqQryAdditionalOfferingInfo(QryAdditionalOfferingInfoField pQryAdditionalOfferingInfoField, int32_t nRequestID) const;
    int32_t ReqQryAdditionalOfferingQuota(QryAdditionalOfferingQuotaField pQryAdditionalOfferingQuotaField, int32_t nRequestID) const;
    int32_t ReqForceUserExit(ForceUserLogoutField pForceUserLogoutField, int32_t nRequestID) const;
    int32_t ReqForceUserLogout(ForceUserLogoutField pForceUserLogoutField, int32_t nRequestID) const;
    int32_t ReqActivateUser(ActivateUserField pActivateUserField, int32_t nRequestID) const;

    CTORATstpTraderApi *api;
    CTraderSpi *spi;
};

std::unique_ptr<TraderApi> CreateTraderApi(rust::Box<TraderSpi> gateway, rust::String flow_path, bool is_encrypt, uint8_t trade_comm_mode, rust::String interface_addr, bool is_using_order_ex);
} // namespace tora_trader