From 62773539cd3b8c4af6b81659bb59c064eafc82cc Mon Sep 17 00:00:00 2001 From: Masahiko AMANO Date: Fri, 13 Jan 2023 02:17:09 +0300 Subject: [PATCH] refactor(core,lib): move all core and lib structs and constants to a separate header file --- core/sappyou.c | 2 +- core/sasahyou.c | 2 +- core/shoppyou.c | 2 +- include/core.h | 94 +------------------------------------ include/core_func.h | 111 ++++++++++++++++++++++++++++++++++++++++++++ include/tanabata.h | 10 ---- lib/database.c | 1 + lib/kazari.c | 1 + lib/sasa.c | 1 + lib/tanzaku.c | 1 + 10 files changed, 120 insertions(+), 105 deletions(-) create mode 100644 include/core_func.h diff --git a/core/sappyou.c b/core/sappyou.c index 03f3e06..70f8d9c 100644 --- a/core/sappyou.c +++ b/core/sappyou.c @@ -2,7 +2,7 @@ #include #include -#include "../include/core.h" +#include "../include/core_func.h" const Tanzaku HOLE_TANZAKU = {HOLE_ID}; diff --git a/core/sasahyou.c b/core/sasahyou.c index 4f1fb8b..4d5bfe5 100644 --- a/core/sasahyou.c +++ b/core/sasahyou.c @@ -3,7 +3,7 @@ #include #include -#include "../include/core.h" +#include "../include/core_func.h" const Sasa HOLE_SASA = {HOLE_ID}; diff --git a/core/shoppyou.c b/core/shoppyou.c index 75cfa4b..b1c01c9 100644 --- a/core/shoppyou.c +++ b/core/shoppyou.c @@ -2,7 +2,7 @@ #include #include -#include "../include/core.h" +#include "../include/core_func.h" const Kazari HOLE_KAZARI = {HOLE_ID}; diff --git a/include/core.h b/include/core.h index 6055fe8..255e00c 100644 --- a/include/core.h +++ b/include/core.h @@ -1,4 +1,4 @@ -// Tanabata file manager core lib +// Tanabata file manager core names // By Masahiko AMANO aka H1K0 #pragma once @@ -14,7 +14,7 @@ extern "C" { #include #endif -// ==================== STRUCTS AND TYPEDEFS ==================== // +// ==================== STRUCTS ==================== // // Sasa (笹) - a file record typedef struct sasa { @@ -86,96 +86,6 @@ extern const Tanzaku HOLE_TANZAKU; // Hole kazari constant with hole ID extern const Kazari HOLE_KAZARI; -// ==================== SASAHYOU SECTION ==================== // - -// Initialize empty sasahyou -int sasahyou_init(Sasahyou *sasahyou); - -// Free sasahyou -int sasahyou_free(Sasahyou *sasahyou); - -// Load sasahyou from file -int sasahyou_load(Sasahyou *sasahyou); - -// Save sasahyou to file -int sasahyou_save(Sasahyou *sasahyou); - -// Open sasahyou file and load data from it -int sasahyou_open(Sasahyou *sasahyou, const char *path); - -// Dump sasahyou to file -int sasahyou_dump(Sasahyou *sasahyou, const char *path); - -// Add sasa to sasahyou -int sasa_add(Sasahyou *sasahyou, const char *path); - -// Remove sasa from sasahyou -int sasa_rem(Sasahyou *sasahyou, uint64_t sasa_id); - -// Update sasa file path -int sasa_upd(Sasahyou *sasahyou, uint64_t sasa_id, const char *path); - -// ==================== SAPPYOU SECTION ==================== // - -// Initialize empty sappyou -int sappyou_init(Sappyou *sappyou); - -// Free sappyou -int sappyou_free(Sappyou *sappyou); - -// Load sappyou from file -int sappyou_load(Sappyou *sappyou); - -// Save sappyou to file -int sappyou_save(Sappyou *sappyou); - -// Open sappyou file and load data from it -int sappyou_open(Sappyou *sappyou, const char *path); - -// Dump sappyou to file -int sappyou_dump(Sappyou *sappyou, const char *path); - -// Add new tanzaku to sappyou -int tanzaku_add(Sappyou *sappyou, const char *name, const char *description); - -// Remove tanzaku from sappyou -int tanzaku_rem(Sappyou *sappyou, uint64_t tanzaku_id); - -// Update tanzaku name and description -int tanzaku_upd(Sappyou *sappyou, uint64_t tanzaku_id, const char *name, const char *description); - -// ==================== SHOPPYOU SECTION ==================== // - -// Initialize empty shoppyou -int shoppyou_init(Shoppyou *shoppyou); - -// Free shoppyou -int shoppyou_free(Shoppyou *shoppyou); - -// Load shoppyou from file -int shoppyou_load(Shoppyou *shoppyou); - -// Save shoppyou to file -int shoppyou_save(Shoppyou *shoppyou); - -// Open shoppyou file and load data from it -int shoppyou_open(Shoppyou *shoppyou, const char *path); - -// Dump shoppyou to file -int shoppyou_dump(Shoppyou *shoppyou, const char *path); - -// Add kazari to shoppyou -int kazari_add(Shoppyou *shoppyou, uint64_t sasa_id, uint64_t tanzaku_id); - -// Remove kazari from shoppyou -int kazari_rem(Shoppyou *shoppyou, uint64_t sasa_id, uint64_t tanzaku_id); - -// Remove all kazari with a specific sasa ID from shoppyou -int kazari_rem_by_sasa(Shoppyou *shoppyou, uint64_t sasa_id); - -// Remove all kazari with a specific tanzaku ID from shoppyou -int kazari_rem_by_tanzaku(Shoppyou *shoppyou, uint64_t tanzaku_id); - #ifdef __cplusplus } #endif diff --git a/include/core_func.h b/include/core_func.h new file mode 100644 index 0000000..4f17f45 --- /dev/null +++ b/include/core_func.h @@ -0,0 +1,111 @@ +// Tanabata file manager core functions +// By Masahiko AMANO aka H1K0 + +#pragma once +#ifndef TANABATA_CORE_FUNC_H +#define TANABATA_CORE_FUNC_H + +#ifdef __cplusplus +#include +extern "C" { +#else +#include +#endif + +#include "core.h" + +// ==================== SASAHYOU SECTION ==================== // + +// Initialize empty sasahyou +int sasahyou_init(Sasahyou *sasahyou); + +// Free sasahyou +int sasahyou_free(Sasahyou *sasahyou); + +// Load sasahyou from file +int sasahyou_load(Sasahyou *sasahyou); + +// Save sasahyou to file +int sasahyou_save(Sasahyou *sasahyou); + +// Open sasahyou file and load data from it +int sasahyou_open(Sasahyou *sasahyou, const char *path); + +// Dump sasahyou to file +int sasahyou_dump(Sasahyou *sasahyou, const char *path); + +// Add sasa to sasahyou +int sasa_add(Sasahyou *sasahyou, const char *path); + +// Remove sasa from sasahyou +int sasa_rem(Sasahyou *sasahyou, uint64_t sasa_id); + +// Update sasa file path +int sasa_upd(Sasahyou *sasahyou, uint64_t sasa_id, const char *path); + +// ==================== SAPPYOU SECTION ==================== // + +// Initialize empty sappyou +int sappyou_init(Sappyou *sappyou); + +// Free sappyou +int sappyou_free(Sappyou *sappyou); + +// Load sappyou from file +int sappyou_load(Sappyou *sappyou); + +// Save sappyou to file +int sappyou_save(Sappyou *sappyou); + +// Open sappyou file and load data from it +int sappyou_open(Sappyou *sappyou, const char *path); + +// Dump sappyou to file +int sappyou_dump(Sappyou *sappyou, const char *path); + +// Add new tanzaku to sappyou +int tanzaku_add(Sappyou *sappyou, const char *name, const char *description); + +// Remove tanzaku from sappyou +int tanzaku_rem(Sappyou *sappyou, uint64_t tanzaku_id); + +// Update tanzaku name and description +int tanzaku_upd(Sappyou *sappyou, uint64_t tanzaku_id, const char *name, const char *description); + +// ==================== SHOPPYOU SECTION ==================== // + +// Initialize empty shoppyou +int shoppyou_init(Shoppyou *shoppyou); + +// Free shoppyou +int shoppyou_free(Shoppyou *shoppyou); + +// Load shoppyou from file +int shoppyou_load(Shoppyou *shoppyou); + +// Save shoppyou to file +int shoppyou_save(Shoppyou *shoppyou); + +// Open shoppyou file and load data from it +int shoppyou_open(Shoppyou *shoppyou, const char *path); + +// Dump shoppyou to file +int shoppyou_dump(Shoppyou *shoppyou, const char *path); + +// Add kazari to shoppyou +int kazari_add(Shoppyou *shoppyou, uint64_t sasa_id, uint64_t tanzaku_id); + +// Remove kazari from shoppyou +int kazari_rem(Shoppyou *shoppyou, uint64_t sasa_id, uint64_t tanzaku_id); + +// Remove all kazari with a specific sasa ID from shoppyou +int kazari_rem_by_sasa(Shoppyou *shoppyou, uint64_t sasa_id); + +// Remove all kazari with a specific tanzaku ID from shoppyou +int kazari_rem_by_tanzaku(Shoppyou *shoppyou, uint64_t tanzaku_id); + +#ifdef __cplusplus +} +#endif + +#endif //TANABATA_CORE_FUNC_H diff --git a/include/tanabata.h b/include/tanabata.h index c6bbe5d..157a23d 100644 --- a/include/tanabata.h +++ b/include/tanabata.h @@ -16,16 +16,6 @@ extern "C" { #include "core.h" -// Tanabata (七夕) - the struct with all databases -typedef struct tanabata { - Sasahyou sasahyou; // Sasahyou struct - Sappyou sappyou; // Sappyou struct - Shoppyou shoppyou; // Shoppyou struct - uint64_t sasahyou_mod; // Sasahyou file last modificaton timestamp - uint64_t sappyou_mod; // Sappyou file last modificaton timestamp - uint64_t shoppyou_mod; // Shoppyou file last modificaton timestamp -} Tanabata; - // ==================== DATABASE SECTION ==================== // // Initialize empty tanabata diff --git a/lib/database.c b/lib/database.c index 8ad990b..fa85f45 100644 --- a/lib/database.c +++ b/lib/database.c @@ -3,6 +3,7 @@ #include #include +#include "../include/core_func.h" #include "../include/tanabata.h" int tanabata_init(Tanabata *tanabata) { diff --git a/lib/kazari.c b/lib/kazari.c index 8c4fcac..60d25e1 100644 --- a/lib/kazari.c +++ b/lib/kazari.c @@ -1,5 +1,6 @@ #include +#include "../include/core_func.h" #include "../include/tanabata.h" int tanabata_kazari_add(Tanabata *tanabata, uint64_t sasa_id, uint64_t tanzaku_id) { diff --git a/lib/sasa.c b/lib/sasa.c index 487f1de..295fb69 100644 --- a/lib/sasa.c +++ b/lib/sasa.c @@ -1,6 +1,7 @@ #include #include +#include "../include/core_func.h" #include "../include/tanabata.h" int tanabata_sasa_add(Tanabata *tanabata, const char *path) { diff --git a/lib/tanzaku.c b/lib/tanzaku.c index 9df8e12..a6bc3e7 100644 --- a/lib/tanzaku.c +++ b/lib/tanzaku.c @@ -1,5 +1,6 @@ #include +#include "../include/core_func.h" #include "../include/tanabata.h" int tanabata_tanzaku_add(Tanabata *tanabata, const char *name, const char *description) {