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

boolean apiTesterApi(WEBServer<WEBClient>::HttpRequestData&, WiFiClient*, void*);
boolean nextViewApi(WEBServer<WEBClient>::HttpRequestData&, WiFiClient*, void*);
boolean viewByUIDApi(WEBServer<WEBClient>::HttpRequestData&, WiFiClient*, void*);
boolean rtcGetTimeApi(WEBServer<WEBClient>::HttpRequestData&, WiFiClient*, void*);
boolean rtcSetTimeApi(WEBServer<WEBClient>::HttpRequestData&, WiFiClient*, void*);
boolean sdCardSizeApi(WEBServer<WEBClient>::HttpRequestData&, WiFiClient*, void*);

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

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

#endif
