Nazara Engine  0.4
A fast, complete, cross-platform API designed for game development
AbstractLogger.hpp
1 // Copyright (C) 2017 Jérôme Leclercq
2 // This file is part of the "Nazara Engine - Core module"
3 // For conditions of distribution and use, see copyright notice in Config.hpp
4 
5 #pragma once
6 
7 #ifndef NAZARA_ABSTRACTLOGGER_HPP
8 #define NAZARA_ABSTRACTLOGGER_HPP
9 
10 #include <Nazara/Prerequesites.hpp>
11 #include <Nazara/Core/String.hpp>
12 
13 namespace Nz
14 {
15  class NAZARA_CORE_API AbstractLogger
16  {
17  public:
18  AbstractLogger() = default;
19  virtual ~AbstractLogger();
20 
21  virtual void EnableStdReplication(bool enable) = 0;
22 
23  virtual bool IsStdReplicationEnabled() const = 0;
24 
25  virtual void Write(const String& string) = 0;
26  virtual void WriteError(ErrorType type, const String& error, unsigned int line = 0, const char* file = nullptr, const char* function = nullptr);
27  };
28 }
29 
30 #endif // NAZARA_ABSTRACTLOGGER_HPP
TODO: Inherit SoundEmitter from Node.
Definition: Algorithm.hpp:12
Core class that represents a string.
Definition: String.hpp:22
Core class that represents the behaviour of the log classes.
Definition: AbstractLogger.hpp:15