#ifndef WEBAPI_H
#define WEBAPI_H
#include "WebServerManager.h"
#include "SAB.h"
#include "views.h"

boolean apiTesterApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean nextViewApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean viewByUIDApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean rtcGetTimeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean rtcSetTimeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean sdCardSizeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);

typedef struct sdCardApiPacket
{
  SAB *pSab;
  View1Packet *pView;
} SdCardApiPacket;
boolean sdCardUnmountApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean sdCardMountApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);

boolean staWifiInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean apWifiInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean espRestartApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean espResetApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean systemInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean powerInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean ioGetLevelApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean ioSetLevelApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean ioGetModeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean ioSetModeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);

#endif
