1/*
2 * Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef _KERNEL_DEBUG_OUTPUT_FILTER_H
6#define _KERNEL_DEBUG_OUTPUT_FILTER_H
7
8#include <stdarg.h>
9
10#include <SupportDefs.h>
11
12
13class DebugOutputFilter {
14public:
15	DebugOutputFilter();
16	virtual ~DebugOutputFilter();
17
18	virtual void PrintString(const char* string);
19	virtual void Print(const char* format, va_list args);
20};
21
22class DefaultDebugOutputFilter : public DebugOutputFilter {
23public:
24	virtual void PrintString(const char* string);
25	virtual void Print(const char* format, va_list args);
26};
27
28
29extern DefaultDebugOutputFilter gDefaultDebugOutputFilter;
30
31
32DebugOutputFilter* set_debug_output_filter(DebugOutputFilter* filter);
33
34
35#endif	// _KERNEL_DEBUG_OUTPUT_FILTER_H
36