18 #ifndef itkLoggerThreadWrapper_h 19 #define itkLoggerThreadWrapper_h 39 template<
typename SimpleLoggerType >
55 typedef typename SimpleLoggerType::OutputType
OutputType;
84 virtual
void SetDelay(DelayType delay);
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();
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
virtual PriorityLevelType GetLevelForFlushing() const override
virtual void PrintSelf(std::ostream &os, Indent indent) const override
OutputContainerType m_OutputQ
Used for providing logging service as a separate thread.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
virtual void Flush() override
virtual void Write(PriorityLevelType level, std::string const &content) override
virtual void SetLevelForFlushing(PriorityLevelType level) override
#define ITK_THREAD_RETURN_TYPE
SmartPointer< const Self > ConstPointer
virtual PriorityLevelType GetPriorityLevel() const override
virtual DelayType GetDelay() const
std::queue< PriorityLevelType > LevelContainerType
LevelContainerType m_LevelQ
SimpleFastMutexLock m_Mutex
static ITK_THREAD_RETURN_TYPE ThreadFunction(void *)
MultiThreader::Pointer m_Threader
virtual void SetDelay(DelayType delay)
unsigned int ThreadIdType
OperationContainerType m_OperationQ
std::queue< std::string > MessageContainerType
SimpleLoggerType::PriorityLevelType PriorityLevelType
std::queue< OperationType > OperationContainerType
SimpleLoggerType Superclass
virtual void AddLogOutput(OutputType *output) override
Control indentation during Print() invocation.
MessageContainerType m_MessageQ
SimpleLoggerType::OutputType OutputType
virtual void SetPriorityLevel(PriorityLevelType level) override