Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add new entry in Release_Notes.
[simgrid.git] / src / xbt / log_private.hpp
1 /* Copyright (c) 2007-2023. The SimGrid Team. All rights reserved.          */
2
3 /* This program is free software; you can redistribute it and/or modify it
4  * under the terms of the license (GNU LGPL) which comes with this package. */
5
6 #ifndef LOG_PRIVATE_H
7 #define LOG_PRIVATE_H
8
9 #include "xbt/log.h"
10 #include <array>
11
12 struct xbt_log_appender_s {
13   void (*do_append)(const s_xbt_log_appender_t* this_appender, const char* event);
14   void (*free_)(const s_xbt_log_appender_t* this_);
15   void *data;
16 };
17
18 struct xbt_log_layout_s {
19   bool (*do_layout)(const s_xbt_log_layout_t* l, xbt_log_event_t event, const char* fmt);
20   void (*free_)(const s_xbt_log_layout_t* l);
21   void *data;
22 };
23
24 extern const std::array<const char*, xbt_log_priority_infinite> xbt_log_priority_names;
25
26 /**
27  * @ingroup XBT_log_implem
28  * @param cat the category (not only its name, but the variable)
29  * @param parent the parent cat
30  *
31  * Programmatically alter a category's parent (don't use).
32  */
33 XBT_PUBLIC void xbt_log_parent_set(xbt_log_category_t cat, xbt_log_category_t parent);
34
35 #endif