blob: 00c3ec9fc89d914bc6abb2c9b2f35f28c1c06038 [file] [log] [blame]
Dileep Marchya46115bc2018-03-09 16:40:35 +05301/*
2* Copyright (c) 2018, The Linux Foundation. All rights reserved.
3*
4* Redistribution and use in source and binary forms, with or without
5* modification, are permitted provided that the following conditions are
6* met:
7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above
10* copyright notice, this list of conditions and the following
11* disclaimer in the documentation and/or other materials provided
12* with the distribution.
13* * Neither the name of The Linux Foundation nor the names of its
14* contributors may be used to endorse or promote products derived
15* from this software without specific prior written permission.
16*
17* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
18* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
20* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
21* BE 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
24* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28*/
29
30#include "debug_handler.h"
31
32namespace display {
33
34// By default, drop any log messages/traces. It need to be overridden by client.
35class DefaultDebugHandler : public DebugHandler {
36 public:
37 virtual void Error(const char *, ...) { }
38 virtual void Warning(const char *, ...) { }
39 virtual void Info(const char *, ...) { }
40 virtual void Debug(const char *, ...) { }
41 virtual void Verbose(const char *, ...) { }
42 virtual void BeginTrace(const char *, const char *, const char *) { }
43 virtual void EndTrace() { }
44 virtual int GetProperty(const char *, int *) { return -1; }
45 virtual int GetProperty(const char *, char *) { return -1; }
46};
47
48DefaultDebugHandler g_default_debug_handler;
49DebugHandler * DebugHandler::debug_handler_ = &g_default_debug_handler;
50std::bitset<32> DebugHandler::log_mask_ = 0x1; // Always print logs tagged with value 0
51
52void DebugHandler::Set(DebugHandler *debug_handler) {
53 if (debug_handler) {
54 debug_handler_ = debug_handler;
55 } else {
56 debug_handler_ = &g_default_debug_handler;
57 }
58}
59
60} // namespace display