added logger

triing to add logger and some queue features (main loop can send and retrieve items form queue based on schedule and communication with dekstop interface)
This commit is contained in:
jakani24
2023-12-23 20:15:44 +01:00
parent 45f8ad413f
commit a7e323618c
92 changed files with 966 additions and 16 deletions

View File

@@ -0,0 +1,59 @@
#ifndef LOCAL_COM_CPP
#define LOCAL_COM_CPP
#include "local_com.h"
int check_for_com_tasks(const char* com_name, const char* com_path) {
//check for new tasks in com file and add them into the queue
FILE* fp=nullptr;
char* command=new char [300];
if ((fopen_s(&fp,com_path, "r")) != 0) {
//panic, create log entry, return 1;
//no com file found = no communication needed
delete[] command;
return 1;
}
else {
while (!feof(fp)) {
fscanf_s(fp, "%s", command, 295); // get the command
if (!feof(fp)) { //last line =\n we dont want to process that
//printf("%s\n", command);
//we scanned the command, now we will scan the path. If the process does not need a path the path will be nopath. (set from client)
//get a full path. => " = start, second "= end
char* path = new char[300];
path[0] = '\0';
//search for starting ", then loop until ending "
int cnt = 0;
int chr = 0;
fgetc(fp);
fgetc(fp);
while (cnt < 295 && chr != '\"') {
chr = fgetc(fp); //get a char
if(chr!='\"')
path[cnt] = chr;
path[cnt+1] = '\0';
cnt++;
}
//printf("%s\n", path);
//we now have the command and the path. Now we will add it to the queue
char* queue_entry = new char[300*2+5]; //to enshure we have enough space
queue_entry[0] = '\0';
strcpy_s(queue_entry,600, command); //copy the command
strcat_s(queue_entry, 600, ";"); //add a ; to seperate command and path
//printf("%d\n", strlen(path));
strcat_s(queue_entry, 600, path); //add the path
//printf("%s::%d\n",queue_entry,strlen(queue_entry));
queue_push(queue_entry);
//(queue_entry);
delete[] queue_entry;
delete[] path;
}
}
}
remove(com_path);
fclose(fp);
delete[] command;
return 0;
}
#endif // !LOCAL_COM_CPP