diff --git a/Makefile b/Makefile index 5c5ef71..2078c3e 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,9 @@ CC=gcc -CC_FLAGS=-c -Wall -Werror +CC_FLAGS=-c -Wall -Werror -std=c99 -g CC_LIBS= INCLUDES= -SOURCES=main.c printx.c +SOURCES=main.c printx.c ui.c OBJECTS=$(SOURCES:.c=.o) OUTPUT=tweekd diff --git a/main.c b/main.c index b283e26..78579ca 100644 --- a/main.c +++ b/main.c @@ -1,10 +1,17 @@ #include #include "printx.h" +#include "ui.h" int main(void) { - initLog(); + initUILog(); + if(!initLog()) + { + printf("Log creation failed\n"); + return 1; + } printx(INFO, "Tweekd starting\n"); + displayUI(); closeLog(); return 0; } diff --git a/printx.c b/printx.c index 8185dd9..cdac53f 100644 --- a/printx.c +++ b/printx.c @@ -5,6 +5,7 @@ #include #include #include "printx.h" +#include "ui.h" #define FILENAME_LENGTH 24 #define S_RESET "\33[0m" @@ -13,11 +14,22 @@ FILE* logfile = NULL; char s_color[4][12] = {"\x1b[01;31m", "\x1b[01;33m", "\x1b[01;32m", "\x1b[01;36m"}; +void removeCharFromString(char c, char *str) +{ + int len = strlen(str)+1; + + for(int i=0; i +#include +#include +#include +#include +#include "ui.h" + +#define TIME_LENGTH 24 +#define HEADER_TEXT_LENGTH 24 +#define LOG_LINES 25 +#define LOG_LENGTH 69 + +char tmpretheader[HEADER_TEXT_LENGTH+1]; +char tmpretlog[HEADER_TEXT_LENGTH+1]; +char uilog[LOG_LINES][LOG_LENGTH]; +char started[TIME_LENGTH]; +char uid[HEADER_TEXT_LENGTH]; +char uidDate[HEADER_TEXT_LENGTH]; + +void initUILog() +{ + uid[0]='\0'; + uidDate[0]='\0'; + for(int i=0; i 0) + while((strlen(tmpretlog)-12) < LOG_LENGTH) + strcat(tmpretlog, " "); + else + while(strlen(tmpretlog) < LOG_LENGTH) + strcat(tmpretlog, " "); + + return tmpretlog; +} + + +void setStartTime(char* sT) +{ + strcpy(started, sT); +} + +void displayUI() +{ + char buffer[HEADER_TEXT_LENGTH]; + //header + printf("\u250F\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n"); + printf("\u2503 %s \u2503 T H E \u2503", fillHeaderWithSpaces("Started since")); + printf(" %s \u2503\n", fillHeaderWithSpaces("No Tag Detected")); + printf("\u2503 %s \u2503 T W E E K \u2503 ", fillHeaderWithSpaces(started)); + sprintf(buffer, "%s", strlen(uidDate) > 0 ? uidDate : "Waiting for a tag"); + printf("%s \u2503\n", fillHeaderWithSpaces(buffer)); + sprintf(buffer, "PID %d", getpid()); + printf("\u2503 %s \u2503 P R O J E C T \u2503 ", fillHeaderWithSpaces(buffer)); + sprintf(buffer, "UID : %s", strlen(uid) > 0 ? uid : "Nope"); + printf("%s \u2503\n", fillHeaderWithSpaces(buffer)); + printf("\u2523\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u253B\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u253B\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u252B\n"); + //body + for(int i=0; i