46 lines
		
	
	
		
			794 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			794 B
		
	
	
	
		
			C
		
	
	
	
	
	
/**
 | 
						|
 * Synchronisation response
 | 
						|
 */
 | 
						|
 | 
						|
#pragma once
 | 
						|
 | 
						|
#include <stddef.h>
 | 
						|
#include <stdbool.h>
 | 
						|
#include <cJSON.h>
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C"
 | 
						|
{
 | 
						|
#endif
 | 
						|
 | 
						|
    typedef struct sync_response
 | 
						|
    {
 | 
						|
        size_t len;
 | 
						|
        char *available_update;
 | 
						|
        bool relays[];
 | 
						|
    } sync_response;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Decode synchronize response from server
 | 
						|
     */
 | 
						|
    sync_response *sync_response_parse(cJSON *res);
 | 
						|
 | 
						|
    /**
 | 
						|
     * Print synchronize reponse content
 | 
						|
     */
 | 
						|
    void sync_response_print(sync_response *res);
 | 
						|
 | 
						|
    /**
 | 
						|
     * Free memory allocated for synchronize response
 | 
						|
     */
 | 
						|
    void sync_response_free(sync_response *res);
 | 
						|
 | 
						|
    /**
 | 
						|
     * Check the desired status of a relay
 | 
						|
     */
 | 
						|
    bool sync_response_is_relay_on(sync_response *res, int relay_number);
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 |