Skip to content

Commit ea5d14d

Browse files
committed
fix compile
1 parent e253514 commit ea5d14d

File tree

7 files changed

+248
-167
lines changed

7 files changed

+248
-167
lines changed

include/tigerapi/client_config.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ namespace TIGER_API {
4949
utility::string_t lang;
5050
utility::string_t device_id = Utils::get_device_id();
5151
utility::string_t secret_key;
52-
bool user_full_tick = false;
52+
bool use_full_tick = false;
5353
utility::string_t socket_ca_certs;
5454
unsigned int send_interval = 10 * 1000;
5555
unsigned int receive_interval = 10 * 1000;

include/tigerapi/enums.h

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,39 @@ namespace TIGER_API {
392392
}
393393
};
394394

395+
enum class ResponseType {
396+
// 交易相关
397+
GET_ORDER_NO_END = 1,
398+
PREVIEW_ORDER_END = 2,
399+
PLACE_ORDER_END = 3,
400+
CANCEL_ORDER_END = 4,
401+
MODIFY_ORDER_END = 5,
402+
GET_ASSET_END = 6,
403+
GET_POSITION_END = 7,
404+
GET_ACCOUNT_END = 8,
405+
SUBSCRIBE_ORDER_STATUS = 9,
406+
SUBSCRIBE_POSITION = 10,
407+
SUBSCRIBE_ASSET = 11,
408+
SUBSCRIBE_TRADE_EXECUTION = 12,
409+
410+
// 行情相关
411+
GET_MARKET_STATE_END = 101,
412+
GET_ALL_SYMBOLS_END = 102,
413+
GET_ALL_SYMBOL_NAMES_END = 103,
414+
GET_BRIEF_INFO_END = 104,
415+
GET_STOCK_DETAIL_END = 105,
416+
GET_TIME_LINE_END = 106,
417+
GET_HOUR_TRADING_TIME_LINE_END = 107,
418+
GET_KLINE_END = 108,
419+
GET_TRADING_TICK_END = 109,
420+
GET_QUOTE_CHANGE_END = 110,
421+
422+
GET_SUB_SYMBOLS_END = 111,
423+
GET_SUBSCRIBE_END = 112,
424+
GET_CANCEL_SUBSCRIBE_END = 113,
425+
426+
ERROR_END = 200
427+
};
395428

396429

397430
// Part code name mapping

include/tigerapi/model.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -653,7 +653,7 @@ namespace TIGER_API {
653653
// Getters
654654
const std::string& get_ticktype() const { return tick_type; }
655655
double get_price() const { return price; }
656-
int get_volume() const { return volume; }
656+
long long get_volume() const { return volume; }
657657
const std::string& get_partcode() const { return part_code; }
658658
const std::string& get_partcodename() const { return part_code_name; }
659659
const std::string& get_cond() const { return cond; }
@@ -663,7 +663,7 @@ namespace TIGER_API {
663663
// Setters
664664
void set_ticktype(const std::string& value) { tick_type = value; }
665665
void set_price(double value) { price = value; }
666-
void set_volume(int value) { volume = value; }
666+
void set_volume(long long value) { volume = value; }
667667
void set_partcode(const std::string& value) { part_code = value; }
668668
void set_partcodename(const std::string& value) { part_code_name = value; }
669669
void set_cond(const std::string& value) { cond = value; }

include/tigerapi/push_client.h

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@
77
#include "../include/openapi_pb/pb_source/PositionData.pb.h"
88
#include "../include/openapi_pb/pb_source/OrderStatusData.pb.h"
99
#include "../include/openapi_pb/pb_source/QuoteData.pb.h"
10+
#include "../include/openapi_pb/pb_source/QuoteBasicData.pb.h"
11+
#include "../include/openapi_pb/pb_source/QuoteBBOData.pb.h"
1012
#include "../include/openapi_pb/pb_source/KlineData.pb.h"
1113
#include "../include/openapi_pb/pb_source/TickData.pb.h"
1214
#include "../include/openapi_pb/pb_source/StockTopData.pb.h"
1315
#include "../include/openapi_pb/pb_source/OptionTopData.pb.h"
1416
#include "../include/openapi_pb/pb_source/QuoteDepthData.pb.h"
17+
#include "../include/openapi_pb/pb_source/Response.pb.h"
1518

1619

1720
namespace TIGER_API
@@ -27,6 +30,10 @@ namespace TIGER_API
2730
virtual void set_connected_callback(const std::function<void()>& cb) = 0;
2831
virtual void set_disconnected_callback(const std::function<void()>& cb) = 0;
2932
virtual void set_inner_error_callback(const std::function<void(std::string)>& cb) = 0;
33+
34+
virtual void set_subscribe_callback(const std::function<void(const tigeropen::push::pb::Response&)>& cb) = 0;
35+
virtual void set_unsubscribe_callback(const std::function<void(const tigeropen::push::pb::Response&)>& cb) = 0;
36+
virtual void set_error_callback(const std::function<void(const tigeropen::push::pb::Response&)>& cb) = 0;
3037

3138
virtual void set_asset_changed_callback(const std::function<void(const tigeropen::push::pb::AssetData&)>& cb) = 0;
3239
virtual bool subscribe_asset(const std::string& account) = 0;
@@ -40,16 +47,19 @@ namespace TIGER_API
4047
virtual bool subscribe_order(const std::string& account) = 0;
4148
virtual bool unsubscribe_order(const std::string& account) = 0;
4249

50+
virtual void set_transaction_changed_callback(const std::function<void(const tigeropen::push::pb::OrderTransactionData&)>& cb) = 0;
51+
virtual bool subscribe_transaction(const std::string& account) = 0;
52+
virtual bool unsubscribe_transaction(const std::string& account) = 0;
4353

44-
virtual void set_query_subscribed_symbols_changed_callback(const std::function<void(const std::vector<std::string>& symbols)>& cb) = 0;
54+
virtual void set_query_subscribed_symbols_changed_callback(const std::function<void(const tigeropen::push::pb::Response& query_subscribed_symbols_response)>& cb) = 0;
4555
virtual void query_subscribed_symbols() = 0;
46-
virtual void set_quote_changed_callback(const std::function<void(const tigeropen::push::pb::QuoteData&)>& cb) = 0;
56+
virtual void set_quote_changed_callback(const std::function<void(const tigeropen::push::pb::QuoteBasicData&)>& cb) = 0;
4757
virtual bool subscribe_quote(const std::vector<std::string>& symbols) = 0;
4858
virtual bool subscribe_future_quote(const std::vector<std::string>& symbols) = 0;
4959
virtual bool subscribe_option_quote(const std::vector<std::string>& symbols) = 0;
5060
virtual bool unsubscribe_quote(const std::vector<std::string>& symbols) = 0;
5161

52-
virtual void set_quote_bbo_changed_callback(const std::function<void(const tigeropen::push::pb::QuoteData&)>& cb) = 0;
62+
virtual void set_quote_bbo_changed_callback(const std::function<void(const tigeropen::push::pb::QuoteBBOData&)>& cb) = 0;
5363
virtual bool subscribe_quote_bbo(const std::vector<std::string>& symbols) = 0;
5464
virtual bool unsubscribe_quote_bbo(const std::vector<std::string>& symbols) = 0;
5565

@@ -65,12 +75,12 @@ namespace TIGER_API
6575
virtual bool subscribe_full_tick(const std::vector<std::string>& symbols) = 0;
6676
virtual bool unsubscribe_full_tick(const std::vector<std::string>& symbols) = 0;
6777

68-
virtual void set_tick_changed_callback(const std::function<void(const tigeropen::push::pb::TickData&)>& cb) = 0;
78+
virtual void set_tick_changed_callback(const std::function<void(const TradeTick&)>& cb) = 0;
6979
virtual bool subscribe_tick(const std::vector<std::string>& symbols) = 0;
7080
virtual bool unsubscribe_tick(const std::vector<std::string>& symbols) = 0;
7181

72-
virtual void subscribe_market(const std::string& market) = 0;
73-
virtual void unsubscribe_market(const std::string& market) = 0;
82+
virtual bool subscribe_market(const std::string& market) = 0;
83+
virtual bool unsubscribe_market(const std::string& market) = 0;
7484

7585
virtual void set_stock_top_changed_callback(const std::function<void(const tigeropen::push::pb::StockTopData&)>& cb) = 0;
7686
virtual bool subscribe_stock_top(const std::string& market) = 0;

include/tigerapi/push_socket/push_client_impl.h

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,25 @@
11
#ifndef PUSH_CLIENT_IMPL_H
22
#define PUSH_CLIENT_IMPL_H
33

4+
#include "../model.h"
45
#include "boost/asio/io_service.hpp"
56
#include "../include/tigerapi/push_client.h"
67
#include "../include/tigerapi/client_config.h"
78
#include "../include/openapi_pb/pb_source/Request.pb.h"
89
#include "../include/openapi_pb/pb_source/Response.pb.h"
910
#include "../include/openapi_pb/pb_source/SocketCommon.pb.h"
11+
#include "../include/openapi_pb/pb_source/QuoteData.pb.h"
12+
#include "../include/openapi_pb/pb_source/QuoteBasicData.pb.h"
13+
#include "../include/openapi_pb/pb_source/QuoteBBOData.pb.h"
14+
#include "../include/openapi_pb/pb_source/QuoteDepthData.pb.h"
15+
#include "../include/openapi_pb/pb_source/AssetData.pb.h"
16+
#include "../include/openapi_pb/pb_source/PositionData.pb.h"
17+
#include "../include/openapi_pb/pb_source/OrderStatusData.pb.h"
18+
#include "../include/openapi_pb/pb_source/StockTopData.pb.h"
19+
#include "../include/openapi_pb/pb_source/OptionTopData.pb.h"
20+
#include "../include/openapi_pb/pb_source/KlineData.pb.h"
21+
#include "../include/openapi_pb/pb_source/TradeTickData.pb.h"
22+
#include "../include/tigerapi/enums.h"
1023

1124
namespace TIGER_API
1225
{
@@ -20,6 +33,7 @@ namespace TIGER_API
2033
PushClientImpl& operator=(const PushClientImpl&) = delete;
2134
private:
2235
PushClientImpl(const TIGER_API::ClientConfig& client_config);
36+
ClientConfig client_config_;
2337

2438
public:
2539
virtual void connect() override;
@@ -45,16 +59,19 @@ namespace TIGER_API
4559
virtual bool subscribe_order(const std::string& account) override;
4660
virtual bool unsubscribe_order(const std::string& account) override;
4761

62+
virtual void set_transaction_changed_callback(const std::function<void(const tigeropen::push::pb::OrderTransactionData&)>& cb) override;
63+
virtual bool subscribe_transaction(const std::string& account) override;
64+
virtual bool unsubscribe_transaction(const std::string& account) override;
4865

49-
virtual void set_query_subscribed_symbols_changed_callback(const std::function<void(const std::vector<std::string>& symbols)>& cb) override;
66+
virtual void set_query_subscribed_symbols_changed_callback(const std::function<void(const tigeropen::push::pb::Response& query_subscribed_symbols_response)>& cb) override;
5067
virtual void query_subscribed_symbols() override;
51-
virtual void set_quote_changed_callback(const std::function<void(const tigeropen::push::pb::QuoteData&)>& cb) override;
68+
virtual void set_quote_changed_callback(const std::function<void(const tigeropen::push::pb::QuoteBasicData&)>& cb) override;
5269
virtual bool subscribe_quote(const std::vector<std::string>& symbols) override;
5370
virtual bool subscribe_future_quote(const std::vector<std::string>& symbols) override;
5471
virtual bool subscribe_option_quote(const std::vector<std::string>& symbols) override;
5572
virtual bool unsubscribe_quote(const std::vector<std::string>& symbols) override;
5673

57-
virtual void set_quote_bbo_changed_callback(const std::function<void(const tigeropen::push::pb::QuoteData&)>& cb) override;
74+
virtual void set_quote_bbo_changed_callback(const std::function<void(const tigeropen::push::pb::QuoteBBOData&)>& cb) override;
5875
virtual bool subscribe_quote_bbo(const std::vector<std::string>& symbols) override;
5976
virtual bool unsubscribe_quote_bbo(const std::vector<std::string>& symbols) override;
6077

@@ -70,12 +87,12 @@ namespace TIGER_API
7087
virtual bool subscribe_full_tick(const std::vector<std::string>& symbols) override;
7188
virtual bool unsubscribe_full_tick(const std::vector<std::string>& symbols) override;
7289

73-
virtual void set_tick_changed_callback(const std::function<void(const tigeropen::push::pb::TickData&)>& cb) override;
90+
virtual void set_tick_changed_callback(const std::function<void(const TradeTick&)>& cb) override;
7491
virtual bool subscribe_tick(const std::vector<std::string>& symbols) override;
7592
virtual bool unsubscribe_tick(const std::vector<std::string>& symbols) override;
7693

77-
virtual void subscribe_market(const std::string& market) override;
78-
virtual void unsubscribe_market(const std::string& market) override;
94+
virtual bool subscribe_market(const std::string& market) override;
95+
virtual bool unsubscribe_market(const std::string& market) override;
7996

8097
virtual void set_stock_top_changed_callback(const std::function<void(const tigeropen::push::pb::StockTopData&)>& cb) override;
8198
virtual bool subscribe_stock_top(const std::string& market) override;
@@ -92,20 +109,25 @@ namespace TIGER_API
92109
void on_message(const std::shared_ptr<tigeropen::push::pb::Response>& response_pb_object);
93110
bool send_trade_request(tigeropen::push::pb::SocketCommon_Command command, tigeropen::push::pb::SocketCommon_DataType datatype, const std::string& account);
94111
bool send_quote_request(tigeropen::push::pb::SocketCommon_Command command, tigeropen::push::pb::SocketCommon_DataType datatype, std::vector<std::string> symbols, const std::string& market);
112+
bool send_quote_request(tigeropen::push::pb::SocketCommon_Command command, tigeropen::push::pb::SocketCommon_DataType datatype, std::vector<std::string> symbols);
113+
std::shared_ptr<tigeropen::push::pb::QuoteBasicData> convert_to_basic_data(const tigeropen::push::pb::QuoteData& quote_data);
114+
std::shared_ptr<tigeropen::push::pb::QuoteBBOData> convert_to_bbo_data(const tigeropen::push::pb::QuoteData& quote_data);
115+
std::shared_ptr<TIGER_API::TradeTick> convert_tick(const tigeropen::push::pb::TradeTickData &data);
95116
private:
96117
std::function<void(const tigeropen::push::pb::Response& subscribe_response)> subscribe_callback_;
97118
std::function<void(const tigeropen::push::pb::Response& unsubscribe_response)> unsubscribe_callback_;
98119
std::function<void(const tigeropen::push::pb::Response& error_response)> error_callback_;
99120
std::function<void(const tigeropen::push::pb::AssetData& asset_data)> asset_changed_;
100121
std::function<void(const tigeropen::push::pb::PositionData& position_data)> position_changed_;
101122
std::function<void(const tigeropen::push::pb::OrderStatusData& order_status_data)> order_changed_;
102-
std::function<void(const std::vector<std::string>& symbols)> query_subscribed_symbols_changed_;
103-
std::function<void(const tigeropen::push::pb::QuoteData& quote_data)> quote_changed_;
104-
std::function<void(const tigeropen::push::pb::QuoteData& quote_bbo_data)> quote_bbo_changed_;
123+
std::function<void(const tigeropen::push::pb::OrderTransactionData& transaction_data)> transaction_changed_;
124+
std::function<void(const tigeropen::push::pb::Response& query_subscribed_symbols_response)> query_subscribed_symbols_changed_;
125+
std::function<void(const tigeropen::push::pb::QuoteBasicData& quote_data)> quote_changed_;
126+
std::function<void(const tigeropen::push::pb::QuoteBBOData& quote_bbo_data)> quote_bbo_changed_;
105127
std::function<void(const tigeropen::push::pb::QuoteDepthData& quote_depth_data)> quote_depth_changed_;
106128
std::function<void(const tigeropen::push::pb::KlineData& kline_data)> kline_changed_;
107129
std::function<void(const tigeropen::push::pb::TickData& full_tick_data)> full_tick_changed_;
108-
std::function<void(const tigeropen::push::pb::TickData& tick_data)> tick_changed_;
130+
std::function<void(const TradeTick& tick_data)> tick_changed_;
109131
std::function<void(const tigeropen::push::pb::StockTopData& stock_top_data)> stock_top_changed_;
110132
std::function<void(const tigeropen::push::pb::OptionTopData& option_top_data)> option_top_changed_;
111133

0 commit comments

Comments
 (0)