mip_logging.c
Go to the documentation of this file.
1 
2 #include "mip_logging.h"
3 
4 #include <stddef.h>
5 
9 
13 
16 void* mip_log_user_data_ = NULL;
17 
27 void mip_logging_init(mip_log_callback callback, mip_log_level level, void* user)
28 {
29  mip_log_callback_ = callback;
30  mip_log_level_ = level;
31  mip_log_user_data_ = user;
32 }
33 
40 {
41  return mip_log_callback_;
42 }
43 
50 {
51  return mip_log_level_;
52 }
53 
60 {
61  return mip_log_user_data_;
62 }
63 
69 void mip_logging_log(mip_log_level level, const char* fmt, ...)
70 {
71  const mip_log_callback logging_callback = mip_logging_callback();
72  const mip_log_level logging_level = mip_logging_level();
73  if (logging_callback != NULL && logging_level >= level)
74  {
75  va_list args;
76  va_start(args, fmt);
77  logging_callback(mip_logging_user_data(), level, fmt, args);
78  va_end(args);
79  }
80 }
MIP_LOG_LEVEL_OFF
#define MIP_LOG_LEVEL_OFF
Signifies that the log is turned off.
Definition: mip_logging.h:27
mip_logging_log
void mip_logging_log(mip_log_level level, const char *fmt,...)
Internal log function called by logging macros.
Definition: mip_logging.c:69
mip_log_level
uint8_t mip_log_level
Logging level enum.
Definition: mip_logging.h:26
mip_logging.h
mip_logging_callback
mip_log_callback mip_logging_callback()
Gets the currently active logging callback.
Definition: mip_logging.c:39
mip_log_callback_
mip_log_callback mip_log_callback_
Global logging callback. Do not access directly.
Definition: mip_logging.c:8
mip_logging_init
void mip_logging_init(mip_log_callback callback, mip_log_level level, void *user)
Initializes the logger with a callback and user data.
Definition: mip_logging.c:27
mip_log_callback
void(* mip_log_callback)(void *user, mip_log_level level, const char *fmt, va_list args)
Callback function typedef for custom logging behavior.
Definition: mip_logging.h:42
mip_logging_user_data
void * mip_logging_user_data()
Gets the currently active logging user data.
Definition: mip_logging.c:59
mip_log_user_data_
void * mip_log_user_data_
Global logging user data. Do not access directly.
Definition: mip_logging.c:16
mip_log_level_
mip_log_level mip_log_level_
Global logging level. Do not access directly.
Definition: mip_logging.c:12
mip_logging_level
mip_log_level mip_logging_level()
Gets the currently active logging level.
Definition: mip_logging.c:49


microstrain_inertial_driver
Author(s): Brian Bingham, Parker Hannifin Corp
autogenerated on Mon Jun 24 2024 02:51:40