18 #ifndef itkLoggerThreadWrapper_h
19 #define itkLoggerThreadWrapper_h
39 template<
typename SimpleLoggerType >
55 typedef typename SimpleLoggerType::OutputType
OutputType;
70 virtual void SetPriorityLevel(PriorityLevelType level) ITK_OVERRIDE;
75 virtual PriorityLevelType GetPriorityLevel() const ITK_OVERRIDE;
77 virtual
void SetLevelForFlushing(PriorityLevelType level) ITK_OVERRIDE;
79 virtual PriorityLevelType GetLevelForFlushing() const ITK_OVERRIDE;
84 virtual
void SetDelay(DelayType delay);
89 virtual DelayType GetDelay() const;
92 virtual
void AddLogOutput(OutputType *output) ITK_OVERRIDE;
94 virtual
void Write(PriorityLevelType level, std::
string const & content) ITK_OVERRIDE;
96 virtual
void Flush() ITK_OVERRIDE;
104 virtual ~LoggerThreadWrapper() ITK_OVERRIDE;
107 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
125 OperationContainerType m_OperationQ;
127 MessageContainerType m_MessageQ;
129 LevelContainerType m_LevelQ;
131 OutputContainerType m_OutputQ;
140 #ifndef ITK_MANUAL_INSTANTIATION
141 #include "itkLoggerThreadWrapper.hxx"
144 #endif // itkLoggerThreadWrapper_h
Critical section locking class that can be allocated on the stack.
SmartPointer< Self > Pointer
std::queue< typename OutputType::Pointer > OutputContainerType
Used for providing logging service as a separate thread.
#define ITK_THREAD_RETURN_TYPE
SmartPointer< const Self > ConstPointer
std::queue< PriorityLevelType > LevelContainerType
unsigned int ThreadIdType
std::queue< std::string > MessageContainerType
SimpleLoggerType::PriorityLevelType PriorityLevelType
std::queue< OperationType > OperationContainerType
SimpleLoggerType Superclass
Control indentation during Print() invocation.
SimpleLoggerType::OutputType OutputType