aboutsummaryrefslogtreecommitdiff
path: root/software/michi_funcs/db_funcs.h
diff options
context:
space:
mode:
Diffstat (limited to 'software/michi_funcs/db_funcs.h')
-rw-r--r--software/michi_funcs/db_funcs.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/software/michi_funcs/db_funcs.h b/software/michi_funcs/db_funcs.h
new file mode 100644
index 0000000..cf26c84
--- /dev/null
+++ b/software/michi_funcs/db_funcs.h
@@ -0,0 +1,66 @@
+/*
+ * db_funcs.h
+ *
+ * Created on: 11.01.2022
+ * Author: michi
+ */
+
+#ifndef DB_FUNCS_H_
+#define DB_FUNCS_H_
+//#include "schrank_ant_pcb.h"
+#include <vector>
+#include <iostream>
+#include <string>
+#include "SimplePgSQL.h"
+
+class TpgConnection { // rows
+ public:
+ TpgConnection();
+ ~TpgConnection();
+ int db_connect(const char *pg_server_ip, int pg_port, const char *s_db_name, const char *s_db_user, const char *s_db_passwd, const char *s_db_charset);
+ int db_disconnect(void);
+ void db_loop(void);
+ PGconnection *PGconn;
+ int last_pgError;
+ };
+
+
+//int db_query(const char *sql);
+
+class TResSetRows { // 1 entry is a collection of string fields
+ public:
+ TResSetRows(); //constructor
+ ~TResSetRows(); //destructor
+ std::vector<std::string> Spalte;
+ int numCols;
+ int CurrCol;
+
+ };
+
+class TResultSet { // rows
+ public:
+ TResultSet(PGconnection *PGconnFromCon);
+ ~TResultSet();
+ std::vector<TResSetRows> Zeile;
+ int CurrentRow;
+ int db_query(const char *sql);
+ int db_exec(const char *sql);
+ int NumRows;
+ int NumCols;
+
+ private:
+ PGconnection *PGconn;
+ void process_db_row(void);
+ void process_db_col(void);
+
+ void process_db_summary(void);
+ void process_db_haveMsg(void);
+ void process_db_ready(void);
+ void process_db_cmd_send(void);
+ void process_db_have_error(void);
+ void process_db_have_notice(void);
+ };
+
+
+
+#endif /* DB_FUNCS_H_ */