web_params_api.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. /********************************* (C) РОТЕК ***********************************
  2. * @module web_params_api
  3. * @file web_params_api.h
  4. * @version 1.0.0
  5. * @date XX.XX.XXXX
  6. * $brief template
  7. *******************************************************************************
  8. * @history Version Author Comment
  9. * XX.XX.XXXX 1.0.0 Telenkov D.A. First release.
  10. *******************************************************************************
  11. */
  12. /* Define to prevent recursive ----------------------------------------------*/
  13. #ifndef WEB_PARAMS_API_H
  14. #define WEB_PARAMS_API_H
  15. #include "stdbool.h"
  16. #define JSON_ADD_TAG(tag, get_param, cjson_param) \
  17. do { \
  18. memset(str, 0, sizeof(str)); \
  19. get_param(str, &len); \
  20. if (strncmp(tag, "tn_enabled", sizeof(tag)) == 0 \
  21. || strncmp(tag, "ssh_enabled", sizeof(tag)) == 0 \
  22. || strncmp(tag, "dhcp", sizeof(tag)) == 0 \
  23. || strncmp(tag, "swauth", sizeof(tag)) == 0 \
  24. || strncmp(tag, "rs_enabled", sizeof(tag)) == 0) { \
  25. cJSON_AddNumberToObject(cjson_param, tag, atoi(str)); \
  26. } else { \
  27. cJSON_AddStringToObject(cjson_param, tag, str); \
  28. } \
  29. } while (0);
  30. #define JSON_SET_PARAM(tag, set_param, buf) \
  31. do { \
  32. memset(value, 0, sizeof(value)); \
  33. if (GetParamValue(buf, tag, value, &valueLen)) { \
  34. set_param(value); \
  35. } else { \
  36. if (strncmp(tag, "tn_enabled", sizeof(tag)) == 0 \
  37. || strncmp(tag, "ssh_enabled", sizeof(tag)) == 0 \
  38. || strncmp(tag, "dhcp", sizeof(tag)) == 0 \
  39. || strncmp(tag, "swauth", sizeof(tag)) == 0 \
  40. || strncmp(tag, "rs_enabled", sizeof(tag)) == 0) { \
  41. set_param(value); \
  42. } \
  43. } \
  44. } while (0);
  45. /**
  46. * @brief Заполнение JSON строки параметров
  47. */
  48. char *HTTP_GetParamsPage(uint32_t reqNum, char *bufIn, char *bufOut, uint16_t lenBufIn, uint16_t *lenBufOut);
  49. /**
  50. * @brief Возвращяет строку с настройками на второй странице
  51. */
  52. char *HTTP_GetSettingsPage(uint32_t reqNum, char *bufIn, char *bufOut, uint16_t lenBufIn, uint16_t *lenBufOut);
  53. #ifdef NOTIFICATION_CONTROL_ENABLE
  54. /**
  55. * @brief Возвращяет строку с настройками уведомлений (есть/нет отправка)
  56. * @retval None
  57. */
  58. char *HTTP_GetTrapAccess(char *params, uint16_t len_params, char *buf, uint16_t *len_out);
  59. #endif
  60. /**
  61. * @brief Возвращяет строку с информацией об устройстве
  62. */
  63. char *HTTP_GetInfo(uint32_t reqNum, char *bufIn, char *bufOut, uint16_t lenBufIn, uint16_t *lenBufOut);
  64. void HTTP_GetHistoryPage(char* buf, uint32_t pageNumber);
  65. void HTTP_GetUpsHistoryPage(char* buf, uint32_t pageNumber);
  66. /**
  67. * @brief Возвращает uptime, freq, dutycicle
  68. */
  69. void HTTP_GetProgonParams(char *buf);
  70. /**
  71. * @brief Сброс настроек
  72. */
  73. void HTTP_ResetSettings(void);
  74. /**
  75. * @brief Сброс настроек
  76. */
  77. void HTTP_SaveSettings(void);
  78. /**
  79. * @brief Перезагрузка контроллера
  80. */
  81. char *HTTP_Reboot(uint32_t reqNum, char *bufIn, char *bufOut, uint16_t lenBufIn, uint16_t *lenBufOut);
  82. /**
  83. * @brief
  84. */
  85. void HTTP_StartResetTask(bool fBootMode);
  86. /**
  87. * @brief
  88. */
  89. void vTaskReboot(void * pvParameters);
  90. #endif /* #ifndef WEB_PARAMS_API_H */
  91. /********************************* (C) РОТЕК **********************************/