+/**
+ * Worker class for the logger.
+ *
+ * This class separates potentially expensive I/O from the iLogger interface making sure
+ * that writing to the log file does not block the main thread.
+ */
+class LoggerWorker : public QObject
+{
+ Q_OBJECT
+
+public slots:
+
+ /**
+ * Writes a message to the log file
+ * @param src The logger source
+ * @param msg The message
+ *
+ * This function writes the message to the log file. It also controls the size and
+ * number of log files.
+ */
+ void writeToLogFile(LoggerSource const & src, QString const & msg);
+
+};
+