/**
 * @file main.cpp
 * @author 上海前路有光数字科技
 * @date 2024-03-15
 * @brief XLTQuoteApi C++版使用示例主程序
 * 本程序演示如何使用XLTQuoteApi进行初始化、登录、订阅行情、查询静态行情信息等操作。
 * 用户可参考本程序，结合自己的业务需求，开发自己的行情程序。
 */

#include <cstdio>
#include <unistd.h>

#include "xlt_quote_demo.h"

int main() {
    XLTQuoteDemo demo;

    printf("API version: %s\n", demo.api_version());

    if (!demo.initialize()) return -1;
    if (!demo.login()) return -1;

    printf("Trading day: %u\n", demo.trading_day());

    if (!demo.subscribe_quote()) return -1;
    // if (!demo.query_static_quote_info()) return -1;

    // 【演示】查询上交所指定证券的level1行情
    // if (!demo.query_level1_quote(x1::ExchangeIndex::SH, "600000")) return -1;
    // 【演示】查询深交所指定证券的level1行情
    // if (!demo.query_level1_quote(x1::ExchangeIndex::SZ, "000001")) return -1;
    // 【演示】查询全量level1行情
    // if (!demo.query_all_level1_quote()) return -1;

    // 【演示】请求回补上交所通道1的逐笔行情，序号范围 [1, 100]
    // if (!demo.request_rebuild_tick_quote(x1::ExchangeIndex::SH, 1, 1, 100)) return -1;
    // 【演示】请求回补深交所通道2013的逐笔行情，序号范围 [1, 100]
    if (!demo.request_rebuild_tick_quote(x1::ExchangeIndex::SZ, 2019, 1, 100)) return -1;

    while (true) {
        usleep(1000 * 1000);
    }

    return 0;
}
