refactor(core,lib): move all core and lib structs and constants to a separate header file

This commit is contained in:
Masahiko AMANO 2023-01-13 02:17:09 +03:00
parent 50b1300847
commit 62773539cd
10 changed files with 120 additions and 105 deletions

View File

@ -2,7 +2,7 @@
#include <string.h> #include <string.h>
#include <time.h> #include <time.h>
#include "../include/core.h" #include "../include/core_func.h"
const Tanzaku HOLE_TANZAKU = {HOLE_ID}; const Tanzaku HOLE_TANZAKU = {HOLE_ID};

View File

@ -3,7 +3,7 @@
#include <time.h> #include <time.h>
#include <stdio.h> #include <stdio.h>
#include "../include/core.h" #include "../include/core_func.h"
const Sasa HOLE_SASA = {HOLE_ID}; const Sasa HOLE_SASA = {HOLE_ID};

View File

@ -2,7 +2,7 @@
#include <string.h> #include <string.h>
#include <time.h> #include <time.h>
#include "../include/core.h" #include "../include/core_func.h"
const Kazari HOLE_KAZARI = {HOLE_ID}; const Kazari HOLE_KAZARI = {HOLE_ID};

View File

@ -1,4 +1,4 @@
// Tanabata file manager core lib // Tanabata file manager core names
// By Masahiko AMANO aka H1K0 // By Masahiko AMANO aka H1K0
#pragma once #pragma once
@ -14,7 +14,7 @@ extern "C" {
#include <stdio.h> #include <stdio.h>
#endif #endif
// ==================== STRUCTS AND TYPEDEFS ==================== // // ==================== STRUCTS ==================== //
// Sasa (笹) - a file record // Sasa (笹) - a file record
typedef struct sasa { typedef struct sasa {
@ -86,96 +86,6 @@ extern const Tanzaku HOLE_TANZAKU;
// Hole kazari constant with hole ID // Hole kazari constant with hole ID
extern const Kazari HOLE_KAZARI; 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 #ifdef __cplusplus
} }
#endif #endif

111
include/core_func.h Normal file
View File

@ -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 <cstdint>
extern "C" {
#else
#include <stdint.h>
#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

View File

@ -16,16 +16,6 @@ extern "C" {
#include "core.h" #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 ==================== // // ==================== DATABASE SECTION ==================== //
// Initialize empty tanabata // Initialize empty tanabata

View File

@ -3,6 +3,7 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <time.h> #include <time.h>
#include "../include/core_func.h"
#include "../include/tanabata.h" #include "../include/tanabata.h"
int tanabata_init(Tanabata *tanabata) { int tanabata_init(Tanabata *tanabata) {

View File

@ -1,5 +1,6 @@
#include <malloc.h> #include <malloc.h>
#include "../include/core_func.h"
#include "../include/tanabata.h" #include "../include/tanabata.h"
int tanabata_kazari_add(Tanabata *tanabata, uint64_t sasa_id, uint64_t tanzaku_id) { int tanabata_kazari_add(Tanabata *tanabata, uint64_t sasa_id, uint64_t tanzaku_id) {

View File

@ -1,6 +1,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include "../include/core_func.h"
#include "../include/tanabata.h" #include "../include/tanabata.h"
int tanabata_sasa_add(Tanabata *tanabata, const char *path) { int tanabata_sasa_add(Tanabata *tanabata, const char *path) {

View File

@ -1,5 +1,6 @@
#include <string.h> #include <string.h>
#include "../include/core_func.h"
#include "../include/tanabata.h" #include "../include/tanabata.h"
int tanabata_tanzaku_add(Tanabata *tanabata, const char *name, const char *description) { int tanabata_tanzaku_add(Tanabata *tanabata, const char *name, const char *description) {