bmsd/mysql.h

Wed, 20 May 2020 21:49:09 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Wed, 20 May 2020 21:49:09 +0200
changeset 684
ccb9f24d0fe9
parent 680
0bb48333d133
child 799
cf145b35d65f
permissions
-rw-r--r--

Report any online status change via websocket broadcast. When starting, load all in memory tables sorted. The websocket status on the web pages has it's own panel. Prepared the menu system for dynamic updates.

/**
 * @file mysql.h
 */
#ifndef _MYSQL_H
#define _MYSQL_H


/**
 * @brief Connect to the MySQL server and select the database. All parameters must be
 *        set in the $HOME/.bms/bms.conf file.
 * @return 0 if success, any other value if the connection failed.
 */
int  bms_mysql_init(void);

/**
 * @brief Close MySQL connection and free resources.
 */
void bms_mysql_end(void);

/**
 * @brief Send query to the MySQL server with one reconnect attempt.
 * @param query The SQL query to send.
 * @return Return 0 if no error, else the error code.
 */
int bms_mysql_query(const char *query);

/**
 * @brief Ping MySQL connection and try to reconnect if the connection is broken.
 */
void bms_mysql_ping(void);

void node_mysql_insert(sys_node_list *node);
void node_mysql_update(sys_node_list *node);
void node_mysql_death(char *node);

void fermenter_mysql_insert(sys_fermenter_list *fermenter);
void fermenter_mysql_update(sys_fermenter_list *fermenter);
void fermenter_mysql_death(char *node, char *alias);

void co2meter_mysql_insert(sys_co2meter_list *co2meter);
void co2meter_mysql_update(sys_co2meter_list *co2meter);
void co2meter_mysql_death(char *node, char *alias);

void ispindel_mysql_insert(sys_ispindel_list *ispindel);
void ispindel_mysql_update(sys_ispindel_list *ispindel);
void ispindel_mysql_death(char *alias);


#endif

mercurial