//
// Created by WJG on 2020-6-3.
//

#ifndef NEWCOSS_APP_REQUEST_PROCESS_H
#define NEWCOSS_APP_REQUEST_PROCESS_H

#include <string>
#include "json/json.h"
#include <qlibc/QData.hpp>

bool check_token(const std::string& token);
void appInterface_init();
void appRequest_process(const std::string& cmd, const Json::Value& data, Json::Value &resp);
//void appRequest_process(const std::string& cmd, const Json::Value& data);
//void gateLogin(const Json::Value& data);

//Json::Value Welcome(const Json::Value& data);
//Json::Value unSupport(const Json::Value& data);
//Json::Value getGateInfo(const Json::Value& data);
void getDeviceList(const Json::Value& data, Json::Value &resp);
void getDeviceInfo(const Json::Value& data, Json::Value &resp);
void getPanelList(const Json::Value& data, Json::Value &resp);
void addDevice(const Json::Value& data, Json::Value &resp);
void deleteDevice(const Json::Value& data, Json::Value &resp);
//void deleteUnusedDevice(const Json::Value& data, Json::Value &resp);
//Json::Value controlDevice(const Json::Value& data);
void updateNickName(const Json::Value& data, Json::Value &resp);
void getLocationList(const Json::Value& data, Json::Value &resp);
void updateDeviceLocation(const Json::Value& data, Json::Value &resp);
void addLocation(const Json::Value& data, Json::Value &resp);
void deleteLocation(const Json::Value& data, Json::Value &resp);
void getSceneList(const Json::Value& data, Json::Value &resp);
void getSceneContent(const Json::Value& data, Json::Value &resp);
void activateScene(const Json::Value& data, Json::Value &resp);
void activateScenebyName(const Json::Value& data, Json::Value &resp);
void runScene(const Json::Value& data, Json::Value &resp);
void enableScene(const Json::Value& data, Json::Value &resp);
void disableScene(const Json::Value& data, Json::Value &resp);
//void addCossScene(const Json::Value& data, Json::Value &resp);
void removeScene(const Json::Value& data, Json::Value &resp);
void reloadScene(const Json::Value& data, Json::Value &resp);
void getMessage(const Json::Value& data, Json::Value &resp);
//void setHomeDevice(const Json::Value& data, Json::Value &resp);
//void deleteHomeDevice(const Json::Value& data, Json::Value &resp);
//void getHomeDevice(const Json::Value& data, Json::Value &resp);
//void setShortcutDevice(const Json::Value& data, Json::Value &resp);
//void deleteShortcutDevice(const Json::Value& data, Json::Value &resp);
//void getShortcutDevice(const Json::Value& data, Json::Value &resp);
void getLocationDevice(const Json::Value& data, Json::Value &resp);
//void setShortcutScene(const Json::Value& data, Json::Value &resp);
//void getShortcutScene(const Json::Value& data, Json::Value &resp);
//void deleteShortcutScene(const Json::Value& data, Json::Value &resp);
void getTempHumidity(const Json::Value& data, Json::Value &resp);
void testScene(const Json::Value& data, Json::Value &resp);
void testDevice(const Json::Value& data, Json::Value &resp);
void getGroupDevice(const Json::Value& data, Json::Value &resp);
void padKeyEvent(const Json::Value& data, Json::Value &resp);
void PostVoiceResp(const Json::Value& data, Json::Value &resp);
void EditSceneLinkageMode(const Json::Value& data, Json::Value &resp);

void getGWDeviceList(const Json::Value& data, Json::Value &resp);
void GWDeviceList(const Json::Value& data, Json::Value &resp);
//void devideDevList(qlibc::QData & qd_data, qlibc::QData &qd_dvd_data);
//void deleteGWDevice(qlibc::QData & data);
void postGWDeleteInfo(const Json::Value& data, Json::Value &resp);
void EditSceneMode(const Json::Value& data, Json::Value &resp);
void GetScenePads(const Json::Value& data, Json::Value &resp);
void reset(const Json::Value& data, Json::Value &resp);

void multiPanelTrig(const Json::Value& data, Json::Value &resp);


#endif //NEWCOSS_APP_REQUEST_PROCESS_H
