bmsd/mysql.h

Wed, 23 Oct 2019 14:20:50 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Wed, 23 Oct 2019 14:20:50 +0200
branch
divide
changeset 533
be8691b7d634
parent 502
a8a6901b5a99
child 567
6bf0afc33e70
permissions
-rw-r--r--

Added the product divide scripts. All parts have all the volumes and weights divided, including the master record. Splitted batches have their own records with the product code formatted as code-n. From this design, we can rebuild the print and checklist.

/**
 * @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);


#endif

mercurial