00001 // mortic - A game engine for the Expanses of Naryan. 00002 // Copyright (C) 2007 Aaron Griffith 00003 // This file is under the LGPL. See mortic.h for more information. 00004 00006 // _ __ __ // 00007 // | | | \/ | // 00008 // | | ___ __ _| \ / | __ _ _ __ __ _ __ _ ___ _ __ // 00009 // | | / _ \ / _` | |\/| |/ _` | '_ \ / _` |/ _` |/ _ \ '__| // 00010 // | |___| (_) | (_| | | | | (_| | | | | (_| | (_| | __/ | // 00011 // |______\___/ \__, |_| |_|\__,_|_| |_|\__,_|\__, |\___|_| // 00012 // __/ | __/ | // 00013 // |___/ |___/ // 00014 // ILogManager.h - Interface of LogManager // 00016 00017 #ifndef __ILogManager_h_INCLUDED__ 00018 #define __ILogManager_h_INCLUDED__ 00019 00020 #include "IRoot.h" 00021 #include "IObject.h" 00022 #include <string> 00023 00024 namespace mortic 00025 { 00027 00032 enum ELogLevel 00033 { 00035 ELL_ERROR, 00037 ELL_WARNING, 00039 ELL_NOTIFY, 00041 ELL_PESSIMISTIC, 00043 ELL_DEBUG, 00045 ELL_CONSPIRATIVE, 00047 ELL_COUNT 00048 }; 00049 00051 00060 class ILogManager : public IObject 00061 { 00062 public: 00064 00066 ILogManager(IRoot* root) : IObject(root, "ILogManager") 00067 { } 00068 00070 00072 virtual ~ILogManager() 00073 { } 00074 00076 00080 virtual void setLogLevel(enum ELogLevel level) = 0; 00081 00083 00087 virtual enum ELogLevel getLogLevel() = 0; 00088 00090 00098 virtual void log(std::string text, enum EManagerType type = EMT_ROOT, 00099 enum ELogLevel level = ELL_NOTIFY) = 0; 00100 }; 00101 00102 } 00103 ; // namespace mortic 00104 #endif // __ILogManager_h_INCLUDED__