Program Listing for File trace_fifo_windows.h#
↰ Return to documentation for file (tracefifo\trace_fifo_windows.h)
#if !defined TRACE_FIFO_WINDOWS_H && defined _WIN32
#define TRACE_FIFO_WINDOWS_H
// Resolve conflict
#pragma push_macro("interface")
#undef interface
#ifndef NOMINMAX
#define NOMINMAX
#endif
#include <WinSock2.h>
#include <Windows.h>
#include <process.h>
// Resolve conflict
#pragma pop_macro("interface")
#ifdef GetClassInfo
#undef GetClassInfo
#endif
class CTraceFifoWindows : public CTraceFifoBase
{
public:
CTraceFifoWindows(uint32_t uiInstanceID = 1000u, size_t nSize = 16*1024);
virtual ~CTraceFifoWindows() override;
CTraceFifoWindows(const CTraceFifoWindows& rfifo) = delete;
CTraceFifoWindows(CTraceFifoWindows&& rfifo) noexcept;
CTraceFifoWindows& operator=(const CTraceFifoWindows& rfifo) = delete;
CTraceFifoWindows& operator=(CTraceFifoWindows&& rfifo) noexcept;
virtual bool Open(size_t nTimeout = 1000, uint32_t uiFlags = 0u) override;
// Ignore cppcheck warning for not using dynamic binding when being called through the destructor.
// cppcheck-suppress virtualCallInConstructor
virtual void Close() override;
virtual bool IsOpened() const override;
private:
HANDLE m_hMapFile = INVALID_HANDLE_VALUE;
};
using CTraceFifoImpl = CTraceFifoWindows;
#endif // !defined TRACE_FIFO_WINDOWS_H