console_impl.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013, Open Source Robotics Foundation
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  *
8  * * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  * * Redistributions in binary form must reproduce the above copyright
11  * notice, this list of conditions and the following disclaimer in the
12  * documentation and/or other materials provided with the distribution.
13  * * Neither the name of the Willow Garage, Inc. nor the names of its
14  * contributors may be used to endorse or promote products derived from
15  * this software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27  * POSSIBILITY OF SUCH DAMAGE.
28  */
29 
30 #ifndef ROSCONSOLE_CONSOLE_IMPL_H
31 #define ROSCONSOLE_CONSOLE_IMPL_H
32 
33 #include <ros/macros.h>
34 #include "ros/console.h"
35 
36 // export interface functions shared by all impl instances in one single header
37 // since CMake would not help define custome flag like ROSCONSOLE_CONSOLE_IMPL_EXPORTS,
38 // the ROSCONSOLE_CONSOLE_IMPL_EXPORTS macro needs to be defined
39 // in the impl code (e.g. rosconsole_log4css.cpp) before including this header
40 
41 // Import/export for windows dll's and visibility for gcc shared libraries.
42 #ifdef ROS_BUILD_SHARED_LIBS // ros is being built around shared libraries
43  #ifdef ROSCONSOLE_CONSOLE_IMPL_EXPORTS // we are building a shared lib/dll
44  #define ROSCONSOLE_CONSOLE_IMPL_DECL ROS_HELPER_EXPORT
45  #else // we are using shared lib/dll
46  #define ROSCONSOLE_CONSOLE_IMPL_DECL ROS_HELPER_IMPORT
47  #endif
48 #else // ros is being built around static libraries
49  #define ROSCONSOLE_CONSOLE_IMPL_DECL
50 #endif
51 
52 // declare interface for rosconsole implementations
53 namespace ros
54 {
55 namespace console
56 {
57 namespace impl
58 {
59 
61 
63 
65 
67 
68 ROSCONSOLE_CONSOLE_IMPL_DECL void print(void* handle, ::ros::console::Level level, const char* str, const char* file, const char* function, int line);
69 
71 
72 ROSCONSOLE_CONSOLE_IMPL_DECL void* getHandle(const std::string& name);
73 
74 ROSCONSOLE_CONSOLE_IMPL_DECL std::string getName(void* handle);
75 
76 ROSCONSOLE_CONSOLE_IMPL_DECL bool get_loggers(std::map<std::string, levels::Level>& loggers);
77 
78 ROSCONSOLE_CONSOLE_IMPL_DECL bool set_logger_level(const std::string& name, levels::Level level);
79 
80 } // namespace impl
81 } // namespace console
82 } // namespace ros
83 
84 #endif // ROSCONSOLE_CONSOLE_IMPL_H
ros::console::impl::get_loggers
ROSCONSOLE_CONSOLE_IMPL_DECL bool get_loggers(std::map< std::string, levels::Level > &loggers)
Definition: rosconsole_glog.cpp:110
ros
ros::console::impl::getName
ROSCONSOLE_CONSOLE_IMPL_DECL std::string getName(void *handle)
Definition: rosconsole_glog.cpp:84
ros::console::LogAppender
Definition: console.h:100
console.h
ros::console::impl::getHandle
ROSCONSOLE_CONSOLE_IMPL_DECL void * getHandle(const std::string &name)
Definition: rosconsole_glog.cpp:69
ros::console::impl::print
ROSCONSOLE_CONSOLE_IMPL_DECL void print(void *handle, ::ros::console::Level level, const char *str, const char *file, const char *function, int line)
Definition: rosconsole_glog.cpp:22
ros::console::levels::Level
Level
Definition: console_backend.h:53
ros::console::impl::shutdown
ROSCONSOLE_CONSOLE_IMPL_DECL void shutdown()
Definition: rosconsole_glog.cpp:107
ros::console::impl::isEnabledFor
ROSCONSOLE_CONSOLE_IMPL_DECL bool isEnabledFor(void *handle, ::ros::console::Level level)
Definition: rosconsole_glog.cpp:59
ros::console::impl::deregister_appender
ROSCONSOLE_CONSOLE_IMPL_DECL void deregister_appender(LogAppender *appender)
Definition: rosconsole_glog.cpp:99
ROSCONSOLE_CONSOLE_IMPL_DECL
#define ROSCONSOLE_CONSOLE_IMPL_DECL
Definition: console_impl.h:49
macros.h
ros::console::impl::initialize
ROSCONSOLE_CONSOLE_IMPL_DECL void initialize()
Definition: rosconsole_glog.cpp:17
ros::console::impl::set_logger_level
ROSCONSOLE_CONSOLE_IMPL_DECL bool set_logger_level(const std::string &name, levels::Level level)
Definition: rosconsole_glog.cpp:119
ros::console::impl::register_appender
ROSCONSOLE_CONSOLE_IMPL_DECL void register_appender(LogAppender *appender)
Definition: rosconsole_glog.cpp:94


rosconsole
Author(s): Josh Faust
autogenerated on Wed Mar 2 2022 00:53:52