#ifndef __JLOGGER__ #define __JLOGGER__ #include #include /** * \author mdejong */ namespace JLOGGER {} namespace JPP { using namespace JLOGGER; } /** * Message logging. */ namespace JLOGGER { /** * Interface for logging messages. */ class JLogger { public: /** * Virtual destructor. */ virtual ~JLogger() {} /** * Report message * * \param tag tag * \param message message */ virtual void typeout(const std::string& tag, const std::string& message) = 0; /** * Provides internal lock object. * * \return reference to the internal mutex object. */ JSYNCHRONIZATION::JMutex& mutex() { return m_mutex; } private: JSYNCHRONIZATION::JMutex m_mutex; }; } #endif