| 2558 | base::type::string_t m_logLine; |
| 2559 | }; |
| 2560 | class AsyncLogQueue : public base::threading::ThreadSafe { |
| 2561 | public: |
| 2562 | virtual ~AsyncLogQueue() { |
| 2563 | ELPP_INTERNAL_INFO(6, "~AsyncLogQueue"); |
| 2564 | } |
| 2565 | |
| 2566 | inline AsyncLogItem next(void) { |
| 2567 | base::threading::ScopedLock scopedLock(lock()); |
| 2568 | AsyncLogItem result = m_queue.front(); |
| 2569 | m_queue.pop(); |
| 2570 | return result; |
| 2571 | } |
| 2572 | |
| 2573 | inline void push(const AsyncLogItem& item) { |
| 2574 | base::threading::ScopedLock scopedLock(lock()); |
| 2575 | m_queue.push(item); |
| 2576 | } |
| 2577 | inline void pop(void) { |
| 2578 | base::threading::ScopedLock scopedLock(lock()); |
| 2579 | m_queue.pop(); |
| 2580 | } |
| 2581 | inline AsyncLogItem front(void) { |
| 2582 | base::threading::ScopedLock scopedLock(lock()); |
| 2583 | return m_queue.front(); |
| 2584 | } |
| 2585 | inline bool empty(void) { |
| 2586 | base::threading::ScopedLock scopedLock(lock()); |
| 2587 | return m_queue.empty(); |
| 2588 | } |
| 2589 | private: |
| 2590 | std::queue<AsyncLogItem> m_queue; |
| 2591 | }; |
| 2592 | class IWorker { |
| 2593 | public: |
| 2594 | virtual ~IWorker() {} |
nothing calls this directly
no outgoing calls
no test coverage detected