#ifndef PLATFORM_INIT_HPP_
#define PLATFORM_INIT_HPP_

#include <vector>
#include <algorithm>

#include "common/common_func.hpp"


class PlatformInit {
public :
    PlatformInit();
    virtual ~PlatformInit();

 	/**
	* @brief 初始化系统配置文件,初始化时间戳，初始化数据库，初始化时区
	* @return void
	*/   
    static void Init();

  	/**
	* @brief 初始化系统配置文件,初始化时间戳，初始化数据库，初始化时区
	* @return void
	*/      
	static void ConfigFileCheck();

 	/**
	* @brief 服务器IP初始化
	* @return void
	*/  
	static int ServerIpInit();

 	/**
	* @brief 设备信息重新校验
	* @return void
	*/  
	static void SystemInfoInit();

    /**
	* @brief cgi用户信息初始化
	* @return void
	*/     
	static int UserInit();
	
    /**
	* @brief 数据库初始化
	* @return void
	*/       
	static void Sqlite3Init();
	/**
	*@eth0 初始化
	*/
	static void EquipIpInit(std::string eth);

	static void GPIOInit();
private:

 	/**
	* @brief mqtt主题初始化
	* @return void
	*/      
    static void TopicInit();
	
};

#endif // PLATFORM_INIT_HPP_
