#pragma once

#include <iostream>
#include <thread>
#include <ctime>
#include "message/lidar_rs_helios.h"
#include "message/unpacket.hpp"
#include "tool/static_tool.hpp"
#include "rslidar/rslidar_mqtt_async.h"
#include "rslidar/rslidar_manager.h"
#include <pcl/visualization/pcl_visualizer.h>

// printf("---Debug %s %d\n", __func__, __LINE__);

const std::string LIDAR_SEND_TOPIC = "rslidar/";

class CloudDataManager {
public:
    CloudDataManager();

    ~CloudDataManager();

    static void receiveClient();

    static int testRslidar();

    static int sendClient();

    static int test_call_back(MqttAsyncClient *client, char *topicName, int topicLen, MQTTAsync_message *message);

    static void testClient();

private:
    static bool XYZ2RYRBin(const std::string &file, const std::string &file_bin);

    static bool GetRYRBin(const std::string &file, std::vector<unsigned char> &data);

private:
};