From 2a13827e87b0e0dcbae2d06c8f05056d92127152 Mon Sep 17 00:00:00 2001 From: PreacherDHM Date: Tue, 25 Mar 2025 07:34:15 -0700 Subject: [PATCH] added copytron filemanager and working on flipper --- .../clangd/index/tart.c.3AAACF16E600523C.idx | Bin 0 -> 2534 bytes .../clangd/index/tart.h.6945CD9F4BA06FC2.idx | Bin 0 -> 4652 bytes .../clangd/index/term.c.F8386F90C4B77402.idx | Bin 0 -> 2726 bytes .../clangd/index/term.h.66C83CD9EAB6734A.idx | Bin 0 -> 952 bytes source/CMakeLists.txt | 2 +- source/copytron.c | 40 +++++++++++++++ source/copytron.h | 17 +++++++ source/filemanager.c | 46 ++++++++++++++++++ source/filemanager.h | 18 +++++++ source/flipper.c | 1 + source/flipper.h | 12 +++++ 11 files changed, 135 insertions(+), 1 deletion(-) create mode 100644 .cache/clangd/index/tart.c.3AAACF16E600523C.idx create mode 100644 .cache/clangd/index/tart.h.6945CD9F4BA06FC2.idx create mode 100644 .cache/clangd/index/term.c.F8386F90C4B77402.idx create mode 100644 .cache/clangd/index/term.h.66C83CD9EAB6734A.idx create mode 100644 source/copytron.c create mode 100644 source/copytron.h create mode 100644 source/filemanager.c create mode 100644 source/filemanager.h create mode 100644 source/flipper.c create mode 100644 source/flipper.h diff --git a/.cache/clangd/index/tart.c.3AAACF16E600523C.idx b/.cache/clangd/index/tart.c.3AAACF16E600523C.idx new file mode 100644 index 0000000000000000000000000000000000000000..6791b74139d7d80036c262c76b9da7c80dd929e0 GIT binary patch literal 2534 zcmYjR4^&g<75^T85|e!S`+|WGAR*yBLJ~{@kr0Ij2rqR>d=2ySbLtKb(!tfhg<2eS!1wc;_T}zx&TNM=sKsy_NhPLjKjYmpNqM^cT`-Le# zu=@5sjI20Qne*p&a=i~ujZs~m461qT_TBF1{oe>J(??$Uwr{NMWLirmX^zjjQSxEb zv6RW(hGWmS)J^U=&iea6$_iF6TVZK^@X?ZuUUux(Kv%(|y^hMv+oD&IOHK|h@Eu+Khr>@Y)sRO2g?4J1J<&8gTYOeLwv-eEc|7ftz zj@~I(?!PaTPw(ETn2p%!+%~)M;+6iP_J|IR;>}whh83RB)bte99GxP%w|-qczBD)C z>YvChoIp{x>EMn}0}~Ce|9WKP#IAD(@BI52dtgt|kvFg14?Hd|+;FUPs{V$NKRK?#c<6a(|VZ~ly zKTZf6>+1u7SGW825&%fM^2!{}83;ip0JKBmNT50iNhgs2I4}$>(-2hTjnT4({Lenm zf*=FAc(@)p)lG1_2|3^hBSBgca*=I$`#t9hyAuK%a!+2{5Qpl(koueKcD6K@9{ekqb-AlFxmiS)O}reH}TR z^8-5}NJqyqQkF!u5@aip1UMuI=#?l!$FcXkH(^UJ1ZL#o88~|hf)&WcC3eMAU4*!chzA@&1V~k(D8GAj?K<`3{1*^dkc&>NQ&A@g@kv4j zI6PwBrT$3V{i^7`et6s*T{bg$fq2<`Y?MV%2D{dIo~!$c0bxlc*MgYzfij za)B`sB?7gTTLKp%0VwEhhbm^Ru03!y4G6CAiLe}#(W^{0Upl6oY6kuL8SHU1TPcCI@ zlvDC$i%_Y2Ge!|~92uv;2(2YsCt_C5KpGSbaAeZ{9Ezugo>6CO&8n~jgrpoDH%Y{oH=IdrRHGp2;hp_>$&3(UEmL(d+3g<@|a zH_5PKr$$~gdivM?EfUf~o>0cL!z47tG7T^*&5PQRCQ4H-ordmm*X zC8QdM!^enI=<3Ft@G&xnu4`oHTuimLvZf;B5~$rASQUEFg}&w< zg3foXdL#Gea9<>qqSGb=3ZDRw!n|sk*JS2(^LBp?A3+5#K5A)fbWDOwE{y~K2iD3q Ap#T5? literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/tart.h.6945CD9F4BA06FC2.idx b/.cache/clangd/index/tart.h.6945CD9F4BA06FC2.idx new file mode 100644 index 0000000000000000000000000000000000000000..61a62cceb2ca0105125b253065ffb97fbb1d467a GIT binary patch literal 4652 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 literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/term.h.66C83CD9EAB6734A.idx b/.cache/clangd/index/term.h.66C83CD9EAB6734A.idx new file mode 100644 index 0000000000000000000000000000000000000000..0b57888fb565009fb68f8efc18338cfce3a07720 GIT binary patch literal 952 zcmYk4dq`7J9LLX@ySmMD-NU_7n>5Q1@sA`5!^P4Z4l`5J3^g!Y(waoOVh$@Xw1;J; z4KvdG!x@@_k0K*12p^cD<%6<9DO^4Ol>Db}&rJ!CCpMfG-sOElG_`%-gL+6VWE=x|j6{SKjx@X*Pus3@)FU9r5j*7DaTPgVPO7XURhpyiilA|iegq^q(hR9) zs78L2pZec&SNptNkItseARxmLhGN7>Oo_!LK(@T0Qa>EKHDne6F%B4|MlGVHw3Y;X z_;?*6$L{x;nam0TY85+oIcpdbS1h)gELrYX#+uFG&I2HF-_`~i OrNalRYcG~T5%>cOF#G8M literal 0 HcmV?d00001 diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 170f70c..a65f65c 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -1,2 +1,2 @@ -add_executable(${PROJECT_NAME} main.cpp) +add_executable(${PROJECT_NAME} main.cpp copytron.c) target_link_libraries(${PROJECT_NAME} TartLib) diff --git a/source/copytron.c b/source/copytron.c new file mode 100644 index 0000000..5a3bc7d --- /dev/null +++ b/source/copytron.c @@ -0,0 +1,40 @@ +#include "copytron.h" +#include + + +copytron_file copytronFileCreate() { + copytron_file file = {"", 0}; + return file; +} + +copytron_flips copytronFlipsCreate() { + copytron_flips flips; + flips.file_count = 0; + for(int i = 0; i < 100; i++) { + flips.files[i] = copytronFileCreate(); + } + return flips; +} + +int copytronAdd(copytron_flips* flips, copytron_file* file) { + for(int i = 0; i < 100; i++) { + if(flips->files[i].file_path_len == 0) { + flips->files[i] = *file; + flips->file_count++; + } + } + return flips->file_count; +} + +int copytronRemove(copytron_flips* flips, copytron_file* file) { + for(int i = 0; i < 100; i++) { + if(flips->file_count != 0) { + if(strcmp(flips->files[i].path, file->path)) { + flips->files[i].path = ""; + flips->files[i].file_path_len = 0; + return 0; + } + } + } + return 1; +} diff --git a/source/copytron.h b/source/copytron.h new file mode 100644 index 0000000..1a8fbcc --- /dev/null +++ b/source/copytron.h @@ -0,0 +1,17 @@ +#ifndef COPYTRON_H +#define COPYTRON_H +typedef struct { + char path[255]; + int file_path_len; +} copytron_file; + +typedef struct { + copytron_file files[100]; + int file_count; +}copytron_flips; + +copytron_file copytronFileCreate(); +copytron_flips copytronFlipsCreate(); +int copytronAdd(copytron_flips* flips, copytron_file* file); +int copytronRemove(copytron_flips* flips, copytron_file* file); +#endif diff --git a/source/filemanager.c b/source/filemanager.c new file mode 100644 index 0000000..a03b5d8 --- /dev/null +++ b/source/filemanager.c @@ -0,0 +1,46 @@ +#include "filemanager.h" +#include + +const char* m_destenation; +const char* m_workingDirectory; +copytron_flips* m_flips; + + +void SetCurrentDestenation(const char* des) { + m_destenation = des; +} + +void SetCurrentWorkingDirectory(const char* workingDir) { + m_workingDirectory = workingDir; +} + +const char* GetCurrentWorkingDriectory() { + return m_workingDirectory; +} + +const char* GetCurrentDestenation() { + return m_destenation; +} + +void SetCopytronFliper(copytron_flips *flips) { + m_flips = flips; +} + +void AddDirectory(const char * dir) { + if(strlen(dir) < 256) { + copytron_file file = copytronFileCreate(); + strcpy(file.path, dir); + file.path[strlen(file.path)] = '*'; + file.file_path_len = strlen(file.path); + copytronAdd(m_flips, &file); + } +} + +void AddFile(const char* dir) { + if(strlen(dir) < 256) { + copytron_file file = copytronFileCreate(); + strcpy(file.path, dir); + file.file_path_len = strlen(file.path); + copytronAdd(m_flips, &file); + } +} diff --git a/source/filemanager.h b/source/filemanager.h new file mode 100644 index 0000000..c1773f2 --- /dev/null +++ b/source/filemanager.h @@ -0,0 +1,18 @@ +#ifndef FILEMANAGER_H +#define FILEMANAGER_H +#include "copytron.h" +/// sets the current destenation. +void SetCurrentDestenation(const char*); +const char* GetCurrentDestenation(); +/// sets the current working directory. +void SetCurrentWorkingDirectory(const char*); +const char* GetCurrentWorkingDriectory(); + +void SetCopytronFliper(copytron_flips* flips); + +/// Adds a directory +void AddDirectory(const char*); +/// Adds a file +void AddFile(const char*); +#endif + diff --git a/source/flipper.c b/source/flipper.c new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/source/flipper.c @@ -0,0 +1 @@ + diff --git a/source/flipper.h b/source/flipper.h new file mode 100644 index 0000000..934733f --- /dev/null +++ b/source/flipper.h @@ -0,0 +1,12 @@ +typedef struct { + char line[255]; +} line; +typedef struct { + line lins[50]; +} buffer; + +void FlipperSetBuffer(const char* path); +void FlipperAdd(line); +void FlipperRemove(line); +void FlipperInDir(); +void FlipperOutDir();