| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | 
							- #include "sdkconfig.h"
 
- #include "freertos/FreeRTOS.h"
 
- #include "freertos/ringbuf.h"
 
- #include "cJSON.h"
 
- #pragma once
 
- #ifdef __cplusplus
 
- extern "C" {
 
- #endif
 
- typedef enum {
 
- 	MESSAGING_INFO,
 
- 	MESSAGING_WARNING,
 
- 	MESSAGING_ERROR
 
- } messaging_types;
 
- typedef enum {
 
- 	MESSAGING_CLASS_OTA,
 
- 	MESSAGING_CLASS_SYSTEM,
 
- 	MESSAGING_CLASS_STATS,
 
- 	MESSAGING_CLASS_CFGCMD,
 
- 	MESSAGING_CLASS_BT
 
- } messaging_classes;
 
- typedef struct messaging_list_t *messaging_handle_t;
 
- typedef struct {
 
- 	time_t sent_time;
 
- 	messaging_types type;
 
- 	messaging_classes msg_class;
 
- 	size_t msg_size;
 
- 	char message[];
 
- } single_message_t;
 
- cJSON *  messaging_retrieve_messages(RingbufHandle_t buf_handle);
 
- messaging_handle_t messaging_register_subscriber(uint8_t max_count, char * name);
 
- esp_err_t messaging_post_to_queue(messaging_handle_t subscriber_handle, single_message_t * message, size_t message_size);
 
- void messaging_post_message(messaging_types type,messaging_classes msg_class, const char * fmt, ...);
 
- void vmessaging_post_message(messaging_types type,messaging_classes msg_class, const char *fmt, va_list va);
 
- cJSON *  messaging_retrieve_messages(RingbufHandle_t buf_handle);
 
- single_message_t *  messaging_retrieve_message(RingbufHandle_t buf_handle);
 
- void log_send_messaging(messaging_types msgtype,const char *fmt, ...);
 
- void cmd_send_messaging(const char * cmdname,messaging_types msgtype, const char *fmt, ...);
 
- esp_err_t messaging_type_to_err_type(messaging_types type);
 
- char * messaging_alloc_format_string(const char *fmt, ...) ;
 
- void messaging_service_init();
 
- #define REALLOC_CAT(e,n) e=realloc(e,strlen(n)); e=strcat(e,n)
 
- #define LOG_SEND(y, ...) \
 
- {  \
 
- ESP_LOG_LEVEL_LOCAL(messaging_type_to_err_type(y),TAG,   ##__VA_ARGS__); \
 
- messaging_post_message(y, MESSAGING_CLASS_SYSTEM,  ##__VA_ARGS__); }
 
- #define LOG_SEND_ERROR( ...) LOG_SEND(MESSAGING_ERROR,##__VA_ARGS__)
 
- #define LOG_SEND_INFO( ...) LOG_SEND(MESSAGING_INFO,##__VA_ARGS__)
 
- #define LOG_SEND_WARN( ...) LOG_SEND(MESSAGING_WARNING,##__VA_ARGS__)
 
- #ifdef __cplusplus
 
- } 
 
- #endif
 
 
  |