00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef LOG4QT_LAYOUT_H
00026 #define LOG4QT_LAYOUT_H
00027
00028
00029
00030
00031
00032
00033 #include "log4qt/helpers/logobject.h"
00034
00035 #include "log4qt/helpers/logobjectptr.h"
00036 #include "log4qt/log4qt.h"
00037
00038
00039
00040
00041
00042
00043 namespace Log4Qt
00044 {
00045
00046 class LoggingEvent;
00047
00054 class Layout : public LogObject
00055 {
00056 Q_OBJECT
00057
00063 Q_PROPERTY(QString footercontentType READ contentType)
00069 Q_PROPERTY(QString footer READ footer WRITE setFooter)
00075 Q_PROPERTY(QString header READ header WRITE setHeader)
00076
00077 public:
00078 Layout(QObject *pParent = 0);
00079 virtual ~Layout();
00080 private:
00081 Layout(const Layout &rOther);
00082 Layout &operator=(const Layout &rOther);
00083
00084 public:
00085 virtual QString contentType() const;
00086 QString footer() const;
00087 QString header() const;
00088
00089 QString name() const;
00090 void setFooter(const QString &rFooter);
00091 void setHeader(const QString &rHeader);
00092 void setName(const QString &rName);
00093
00094
00095 virtual void activateOptions();
00096 virtual QString format(const LoggingEvent &rEvent) = 0;
00097
00105 static QString endOfLine();
00106
00107
00108 private:
00109 QString mFooter;
00110 QString mHeader;
00111 };
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123 inline Layout::Layout(QObject *pParent) :
00124 LogObject(pParent)
00125 {}
00126
00127 inline Layout::~Layout()
00128 {}
00129
00130 inline QString Layout::footer() const
00131 { return mFooter; }
00132
00133 inline QString Layout::header() const
00134 { return mHeader; }
00135
00136 inline QString Layout::name() const
00137 { return objectName(); }
00138
00139 inline void Layout::setFooter(const QString &rFooter)
00140 { mFooter = rFooter; }
00141
00142 inline void Layout::setHeader(const QString &rHeader)
00143 { mHeader = rHeader; }
00144
00145 inline void Layout::setName(const QString &rName)
00146 { setObjectName(rName); }
00147
00148
00149 }
00150
00151
00152
00153 Q_DECLARE_TYPEINFO(Log4Qt::LogObjectPtr<Log4Qt::Layout>, Q_MOVABLE_TYPE);
00154
00155
00156 #endif // LOG4QT_LAYOUT_H