Skip to content

Commit

Permalink
Así está el temporal chicos?
Browse files Browse the repository at this point in the history
  • Loading branch information
RaniAgus committed Aug 14, 2024
1 parent 2c6924d commit 2d1a36f
Showing 1 changed file with 70 additions and 70 deletions.
140 changes: 70 additions & 70 deletions src/commons/temporal.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,84 +16,84 @@
#ifndef TEMPORAL_H_
#define TEMPORAL_H_

#include <stdint.h>
#include <time.h>
#include <stdint.h>
#include <time.h>

/**
* @enum t_temporal_status Estado del cronómetro
* @relates t_temporal
*/
typedef enum {
TEMPORAL_STATUS_STOPPED, //!< Cronómetro detenido
TEMPORAL_STATUS_RUNNING //!< Cronómetro en marcha
} t_temporal_status;
/**
* @enum t_temporal_status Estado del cronómetro
* @relates t_temporal
*/
typedef enum {
TEMPORAL_STATUS_STOPPED, //!< Cronómetro detenido
TEMPORAL_STATUS_RUNNING //!< Cronómetro en marcha
} t_temporal_status;

/**
* @struct t_temporal
* @brief Manejo de tiempo con cronómetro
*/
typedef struct {
struct timespec current;
int64_t elapsed_ms;
t_temporal_status status;
} t_temporal;
/**
* @struct t_temporal
* @brief Manejo de tiempo con cronómetro
*/
typedef struct {
struct timespec current;
int64_t elapsed_ms;
t_temporal_status status;
} t_temporal;

/**
* @brief Retorna un string con la hora actual con el formato recibido por parámetro.
* @relates t_temporal
*
* @code
* temporal_get_string_time("%d/%m/%y") => "30/09/20"
* temporal_get_string_time("%H:%M:%S:%MS") => "12:51:59:331"
* temporal_get_string_time("%d/%m/%y %H:%M:%S") => "30/09/20 12:51:59"
* @endcode
* @note Este string debe ser liberado con free() al dejar de usarse.
*/
char *temporal_get_string_time(const char* format);
/**
* @brief Retorna un string con la hora actual con el formato recibido por parámetro.
* @relates t_temporal
*
* @code
* temporal_get_string_time("%d/%m/%y") => "30/09/20"
* temporal_get_string_time("%H:%M:%S:%MS") => "12:51:59:331"
* temporal_get_string_time("%d/%m/%y %H:%M:%S") => "30/09/20 12:51:59"
* @endcode
* @note Este string debe ser liberado con free() al dejar de usarse.
*/
char *temporal_get_string_time(const char* format);

/**
* @brief Crea una variable temporal e inicia su cronómetro.
* @return La variable temporal creada debe ser liberada con temporal_destroy().
* @relates t_temporal
*/
t_temporal* temporal_create(void);
/**
* @brief Crea una variable temporal e inicia su cronómetro.
* @return La variable temporal creada debe ser liberada con temporal_destroy().
* @relates t_temporal
*/
t_temporal* temporal_create(void);

/**
* @brief Destruye una variable temporal.
* @param temporal: Variable temporal a destruir.
* @relates t_temporal
*/
void temporal_destroy(t_temporal* temporal);
/**
* @brief Destruye una variable temporal.
* @param temporal: Variable temporal a destruir.
* @relates t_temporal
*/
void temporal_destroy(t_temporal* temporal);

/**
* @brief Retorna el tiempo total transcurrido mientras el cronómetro estuvo
* activo en milisegundos.
* @param temporal: Variable temporal.
* @relates t_temporal
*/
int64_t temporal_gettime(t_temporal* temporal);
/**
* @brief Retorna el tiempo total transcurrido mientras el cronómetro estuvo
* activo en milisegundos.
* @param temporal: Variable temporal.
* @relates t_temporal
*/
int64_t temporal_gettime(t_temporal* temporal);

/**
* @brief Detiene el cronómetro de una variable temporal.
* @param temporal: Variable temporal a frenar.
* @relates t_temporal
*/
void temporal_stop(t_temporal* temporal);
/**
* @brief Detiene el cronómetro de una variable temporal.
* @param temporal: Variable temporal a frenar.
* @relates t_temporal
*/
void temporal_stop(t_temporal* temporal);

/**
* @brief Reanuda el cronómetro de una variable temporal.
* @param temporal: Variable temporal a reanudar.
* @relates t_temporal
*/
void temporal_resume(t_temporal* temporal);
/**
* @brief Reanuda el cronómetro de una variable temporal.
* @param temporal: Variable temporal a reanudar.
* @relates t_temporal
*/
void temporal_resume(t_temporal* temporal);

/**
* @brief Retorna la diferencia del tiempo total transcurrido entre dos
* variables temporales en milisegundos
* @param temporal_1: Primera variable temporal.
* @param temporal_2: Segunda variable temporal.
* @relates t_temporal
*/
int64_t temporal_diff(t_temporal* temporal_1, t_temporal* temporal_2);
/**
* @brief Retorna la diferencia del tiempo total transcurrido entre dos
* variables temporales en milisegundos
* @param temporal_1: Primera variable temporal.
* @param temporal_2: Segunda variable temporal.
* @relates t_temporal
*/
int64_t temporal_diff(t_temporal* temporal_1, t_temporal* temporal_2);

#endif /* TEMPORAL_H_ */

0 comments on commit 2d1a36f

Please sign in to comment.