Commit b3d0fbad authored by khazu's avatar khazu

microsims in anyvision side, used in SIMS-OFC

parent 241f4d86
File added
#include "sd_simsDatabase.h"
int sd_getTime(int* day, int* month, int* year){
time_t now;
struct tm* local;
time(&now);
ctime(&now);
local = localtime(&now);
*day = local->tm_mday;
*month = local->tm_mon+SD_DATE_MONTH_CORRECTION;
*year = local->tm_year+SD_DATE_YEAR_CORRECTION;
return SD_NO_VALUE;
}
int sd_checkDate(char* checkerBoard){
int now_day, now_month, now_year;
char check_day[SD_DATE], check_month[SD_DATE], check_year[SD_DATE_LONG];
int sched_day, sched_month, sched_year;
sd_getTime(&now_day,&now_month,&now_year);
strncpy(check_year,checkerBoard,SD_DATE);
strncpy(check_month,&checkerBoard[SD_DATE_MONTH_POSITION],SD_DATE_SHORT);
strncpy(check_day,&checkerBoard[SD_DATE_LONG],SD_DATE_SHORT);
sched_day = atoi(check_day);
sched_month = atoi(check_month);
sched_year = atoi(check_year);
if((now_day==sched_day) && (now_month==sched_month) && (now_year==sched_year))
return SD_DAY_NOW;
return SD_DAY_NOT_NOW;
}
int sd_compareGuest(char guest_id[]){
MYSQL* conn;
MYSQL_RES *res;
MYSQL_ROW row;
int blacklist = SD_GUEST_NOT_FOUND;
char* server = SD_SERVER_ADDRESS;
char* user = SD_USER;
char* password = SD_PASSWORD;
char* database = SD_DATABASE;
char query[SD_MAX_CHARACTERS];
unsigned int port = SD_PORT;
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, server, user, password, database, port, NULL, SD_NO_VALUE)) {
//fprintf(stderr, "Cred: %s\n", mysql_error(conn));
return SD_DATABASE_ERROR;
}
sprintf(query,"SELECT date_of_visit, is_blacklisted FROM guests WHERE guest_id_number='%s'",guest_id);
if(mysql_query(conn, query)) {
//fprintf(stderr, "%s\n", mysql_error(conn));
return SD_DATABASE_ERROR;
}
res = mysql_use_result(conn);
while ((row = mysql_fetch_row(res)) != NULL){
if(!sd_checkDate(row[SD_GUESTS_DATE_OF_VISIT])){
blacklist = atoi(row[SD_GUESTS_IS_BLACKLISTED]);
if(!blacklist) break;
}
}
mysql_free_result(res);
mysql_close(conn);
return blacklist;
}
#ifndef _SD_SIMSDATABASE_H__
#define _SD_SIMSDATABASE_H__
#include <mysql/mysql.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#define SD_SERVER_ADDRESS "192.168.4.52"
#define SD_USER "root"
#define SD_PASSWORD "P@ssw0rd"
#define SD_DATABASE "simsdb_ofc"
#define SD_PORT 3306
#define SD_NO_VALUE 0
#define SD_NO_PARAMETER_FOUND printf("4")
#define SD_DAY_NOW 0
#define SD_DAY_NOT_NOW 1
#define SD_MAX_CHARACTERS 128
#define SD_DATE 4
#define SD_DATE_SHORT 2
#define SD_DATE_LONG 8
#define SD_DATE_MONTH_POSITION 5
#define SD_DATE_MONTH_CORRECTION 1
#define SD_DATE_YEAR_CORRECTION 1900
enum SD_GUESTS_RESULT{
SD_GUEST_GOOD,
SD_GUEST_BLACKLISTED,
SD_GUEST_NOT_FOUND, //Not found in date today
SD_DATABASE_ERROR
};
enum SD_GUESTS_TABLE_TYPE{
SD_GUESTS_DATE_OF_VISIT,
SD_GUESTS_IS_BLACKLISTED
};
int sd_compareGuest(char[]);
#endif
gcc -o SeaPearl SimsDolphin/* startup.c $(mysql_config --libs) -DEFINE_SEAPEARL
from subprocess import Popen, PIPE
process = Popen(["SeaPearl", "GUEST-20200304-0000014"], stdout=PIPE)
(output, err) = process.communicate()
exit_code = process.wait()
hello = output
print(hello)
#include "SimsDolphin/sd_simsDatabase.h"
int main(int argc, char *argv[]){
if(argc > 1) printf("%d",sd_compareGuest(argv[1]));
else SD_NO_PARAMETER_FOUND;
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment