library-manager/api/isbn-interaction.h

54 lines
1.3 KiB
C
Raw Permalink Normal View History

#ifndef ISBN_INTERACTION_H
#define ISBN_INTERACTION_H
enum ISBN_EXIT_CODE {
FORK_FAILED,
PROGRAM_EXIT_UNEXPECTED,
PROGRAM_SUCCESS,
PROGRAM_FAIL
};
/**
* std::string book_vec_to_json
* std::vector<std::string> headers - Vector of strings that contain the type information of the data
* std::vector<std::string> book - Vector of strings that contain the data
*
* Helper function that converts a vector of book data into a json format
*/
std::string book_vec_to_json(std::vector<std::string> headers, std::vector<std::string> book);
/**
* std::string get_all_books
*
* This will return all the currently saved books.
*/
std::string get_all_books();
2024-01-24 18:40:48 -05:00
/**
* std::string add_new_book
* std::string isbn - The isbn of the book
*
* Executes the ISBN program using the given ISBN to add a book
*/
std::string add_new_book(std::string isbn);
2024-01-24 18:40:48 -05:00
/**
* std::string remove_book
* std::string id - The book id to remove
*
* Executes the ISBN program using the given ID to remove a book
*/
std::string remove_book(std::string id);
/**
* enum ISBN_EXIT_CODE run_isbn_program
* char* args[] - The char* list of arguments to pass to execvp
*
* Executes the ISBN program with the given arguments, returns the proper exit code
*/
enum ISBN_EXIT_CODE run_isbn_program(char* args[]);
#endif