~ruther/CTU-FEE-B0B35APO-Semestral-project

70c513e16d3b45f21cfaae7537a1b3e19ced5a0f — František Boháček 3 years ago 50a526b
feat: add correct error messages for text viewer and image viewer
M image-viewer/include/image.h => image-viewer/include/image.h +3 -0
@@ 12,6 12,7 @@
#include <stdint.h>

#include "direction.h"
#include "logger.h"
#include "display_utils.h"

typedef enum {


@@ 63,6 64,8 @@ typedef struct {
 */
image_t image_create(char *path);

void image_error_log(logger_t *logger, image_error_t error);

/**
 * @brief Clean up image data
 *

M image-viewer/src/image.c => image-viewer/src/image.c +8 -0
@@ 1,9 1,17 @@
#include "image.h"
#include "direction.h"
#include "display_utils.h"
#include "logger.h"
#include <stdlib.h>

char *image_error_strings[] = {
    "Success",        "Unknown format",   "No such file or directory",
    "No permissions", "Cannot open file", "Wrong format",
    "Unknown"};

void image_error_log(logger_t *logger, image_error_t error) {
  logger_error(logger, __FILE__, __FUNCTION__, __LINE__, "There was an error loading image: %s", image_error_strings[error]);
}

image_t image_create(char *path) {
  image_t image = {

M image-viewer/src/main.c => image-viewer/src/main.c +1 -1
@@ 82,7 82,7 @@ int main(int argc, char *argv[])
  rgb_led_clear(&led, LED_RIGHT);

  if (viewer.error != IMERR_SUCCESS) {
    logger_error(&logger, __FILE__, __FUNCTION__, __LINE__, "Could not load image %d", viewer.error);
    image_error_log(&logger, viewer.error);
    rgb_led_set_red(&led, LED_RIGHT);
    return IMAGE_ERROR;
  }

M text-viewer/include/text_viewer.h => text-viewer/include/text_viewer.h +2 -0
@@ 39,6 39,8 @@ typedef struct {
text_viewer_t text_viewer_create(char *path, mzapo_pheripherals_t pheripherals,
                                 logger_t *logger, font_t font);

void file_error_log(logger_t *logger, file_error_t error);

/**
 * @brief Cleans up text viewer data
 *

M text-viewer/src/main.c => text-viewer/src/main.c +1 -1
@@ 75,7 75,7 @@ int main(int argc, char *argv[]) {
              "Loading file");
  file_error_t error = text_viewer_load_file(&text_viewer);
  if (error != FILER_SUCCESS) {
    logger_error(&logger, __FILE__, __FUNCTION__, __LINE__, "Could not load file.");
    file_error_log(&logger, error);
    rgb_led_set_red(&rgb_leds, LED_RIGHT);
    return ERROR_CANT_OPEN_FILE;
  }

M text-viewer/src/text_viewer.c => text-viewer/src/text_viewer.c +9 -0
@@ 7,6 7,7 @@
#include "gui_component_text_view.h"
#include "input.h"
#include "keyboard_const.h"
#include "logger.h"
#include "mzapo_led_strip.h"
#include "mzapo_rgb_led.h"
#include "renderer.h"


@@ 17,6 18,14 @@
#include <stdlib.h>
#include <string.h>

char *file_error_strings[] = {"Success",          "No such file or directory",
                              "No permissions",   "Cannot open file",
                              "Cannot read file", "Unknown"};

void file_error_log(logger_t *logger, file_error_t error) {
  logger_error(logger, __FILE__, __FUNCTION__, __LINE__, "There was an error loading file: %s", file_error_strings[error]);
}

text_viewer_t text_viewer_create(char *path, mzapo_pheripherals_t pheripherals,
                                 logger_t *logger, font_t font) {
  text_viewer_t text_viewer = {.pheripherals = pheripherals,

Do not follow this link