| 2539 | namespace base { |
| 2540 | #if ELPP_ASYNC_LOGGING |
| 2541 | class AsyncLogItem { |
| 2542 | public: |
| 2543 | explicit AsyncLogItem(const LogMessage& logMessage, const LogDispatchData& data, const base::type::string_t& logLine) |
| 2544 | : m_logMessage(logMessage), m_dispatchData(data), m_logLine(logLine) {} |
| 2545 | virtual ~AsyncLogItem() {} |
| 2546 | inline LogMessage* logMessage(void) { |
| 2547 | return &m_logMessage; |
| 2548 | } |
| 2549 | inline LogDispatchData* data(void) { |
| 2550 | return &m_dispatchData; |
| 2551 | } |
| 2552 | inline base::type::string_t logLine(void) { |
| 2553 | return m_logLine; |
| 2554 | } |
| 2555 | private: |
| 2556 | LogMessage m_logMessage; |
| 2557 | LogDispatchData m_dispatchData; |
| 2558 | base::type::string_t m_logLine; |
| 2559 | }; |
| 2560 | class AsyncLogQueue : public base::threading::ThreadSafe { |
| 2561 | public: |
| 2562 | virtual ~AsyncLogQueue() { |