diff options
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/console.cc | 14 | ||||
-rw-r--r-- | src/common/console.h | 40 |
2 files changed, 54 insertions, 0 deletions
diff --git a/src/common/console.cc b/src/common/console.cc new file mode 100644 index 0000000..7641865 --- /dev/null +++ b/src/common/console.cc @@ -0,0 +1,14 @@ +/* + common/console.cc + This file is part of the Osirion project and is distributed under + the terms of the GNU General Public License version 2 +*/ + +#include "console.h" + +namespace common { + + Console *Console::instance = 0; + +} // namespace common + diff --git a/src/common/console.h b/src/common/console.h new file mode 100644 index 0000000..609c99a --- /dev/null +++ b/src/common/console.h @@ -0,0 +1,40 @@ +/* + common/console.h + This file is part of the Osirion project and is distributed under + the terms of the GNU General Public License version 2 +*/ + +#ifndef __INCLUDED_CONSOLE_H__ +#define __INCLUDED_CONSOLE_H__ + +// C++ headers +#include <iostream> + +/// global define to send a message to the system console +#define conmesg common::Console::instance->message() +/// global define to send a warning message to the system console +#define conwarn common::Console::instance->warning() +/// global define to send a debug message to the system console +#define condebug common::Console::instance->debug() + +namespace common { + +/// Interface for a console object that writes messages on the screen +class Console { +public: + /// stream to send normal messages too + virtual std::ostream & message() = 0; + + /// stream to send warning messages too + virtual std::ostream & warning() = 0; + + /// stream to send debug messages too + virtual std::ostream & debug() = 0 ; + + static Console *instance; +}; // class Console + +} // namespace common + +#endif // __INCLUDED_CONSOLE_H__ + |