26#ifndef TABLES_LOGGERHOLDER_H
27#define TABLES_LOGGERHOLDER_H
30#include <casacore/casa/aips.h>
31#include <casacore/casa/Logging/LogIO.h>
32#include <casacore/casa/Containers/Block.h>
39class LoggerHolderIterator;
548 return itsRep->isTempClosed();
Class representing an entry in a LoggerHolder.
LogHolderIterEntry(const LogHolderIterEntry &that)
LogHolderIterEntry(const LogSink *sink, uInt index)
LogHolderIterEntry & operator=(const LogHolderIterEntry &that)
Double time() const
Get the message parts.
Class doing the actual iteration through an LoggerHolder.
const LoggerHolder * itsLogger
const LoggerHolder & logger() const
LogHolderIter * itsParentIter
LogHolderIter & operator=(const LogHolderIter &)=delete
Assignment is not needed, thus forbidden.
LogHolderIterEntry itsEntry
LogHolderIter(const LoggerHolder *)
Construct the iterator on the given LoggerHolderRep.
LogHolderIter(const LogHolderIter &)=delete
Copy constructor is not needed, thus forbidden.
const LogHolderIterEntry & getEntry() const
Get the entry.
Bool next()
Increment to next message.
virtual String getLocation(uInt i) const
virtual String getMessage(uInt i) const
virtual Double getTime(uInt i) const
Get given part of the i-th message from the local sink.
virtual String getObjectID(uInt i) const
virtual String getPriority(uInt i) const
Class to iterate through an LoggerHolder.
const LoggerHolder & logger() const
void next()
Get the next entry (if available).
LoggerHolderIterator & operator=(const LoggerHolderIterator &)
LoggerHolderIterator(const LoggerHolder *)
void operator++()
Increment to next message.
Bool operator!=(const LoggerHolderIterator &)
Is the iterator not at the end yet?
const LogHolderIterEntry & operator*() const
Get the entry.
const LogHolderIterEntry * operator->() const
LoggerHolderIterator(const LoggerHolderIterator &)
Representation of the class holding a hierarchy of loggers.
void doReopen()
Do the actual reopen.
LogIO & logio()
Get access to the logger.
LoggerHolderRep(const String &logTableName, Bool isWritable)
Create with a TableLogSink.
void tempClose(Bool closeParents=True)
Temporarily close all log tables.
LoggerHolderRep(Bool nullSink)
Create with a NullSink or MemoryLogSink (default).
LoggerHolderRep(const LoggerHolderRep &)
Copy constructor.
void reopen()
Reopen the log table if needed (after a tempClose).
const Block< LoggerHolder > & parents() const
Return the block of parents.
void unlock()
Unlock the log table.
LoggerHolderIterator const_iterator
Define the STL-style iterators.
void addParent(const LoggerHolder &)
Add a logger from a parent.
Block< LoggerHolder > itsParents
void reopenRW()
Reopen a readonly logtable for read/write (if needed).
void removeParents()
Remove all parents.
void flush()
Flush the log table.
const_iterator begin() const
Get the begin and end iterator object.
LogSink & sink()
Get access to the log sink (reopen the log table if needed).
void resync()
Resync the log table (if needed).
void append(const LoggerHolder &other)
Append the entries of the other logger to this one.
TableLogSink * itsTablePtr
const_iterator end() const
LoggerHolderRep & operator=(const LoggerHolderRep &)
Assignment.
Bool isTempClosed() const
Is the log table temporarily closed?
void clear()
Clear the log.
void tempClose(Bool closeParents=True) const
Temporarily close all log tables.
void append(const LoggerHolder &other)
Append the entries of the other logger to this one.
LogIO & logio()
Get access to the logger.
LoggerHolderIterator const_iterator
Define the STL-style iterators.
void reopenRW()
Reopen a readonly logtable for read/write (if needed).
void resync()
Resync the log table (if needed).
void addParent(const LoggerHolder &)
Add a logger from a parent.
void clear()
Clear the log.
LoggerHolder(const String &logTableName, Bool isWritable)
Create with a TableLogSink.
LoggerHolder(const LoggerHolder &)
Copy constructor (reference semantics).
void unlock()
Unlock the log table.
const_iterator begin() const
Get the begin and end iterator object.
std::shared_ptr< LoggerHolderRep > itsRep
LoggerHolder(Bool nullSink=False)
Create with a NullSink or MemoryLogSink (default).
LogSink & sink()
Get access to the log sink (reopen the log table if needed).
void reopen()
Reopen the log table if needed (after a tempClose).
const Block< LoggerHolder > & parents() const
Return the block of parents.
Bool isTempClosed() const
Is the log table temporarily closed?
LoggerHolder & operator=(const LoggerHolder &)
Assignment (reference semantics).
void flush()
Flush the log table.
const_iterator end() const
void removeParents()
Remove all parents.
String: the storage and methods of handling collections of characters.
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.