source: trunk/src/xmlpatterns/api/qabstractmessagehandler.cpp@ 1013

Last change on this file since 1013 was 846, checked in by Dmitry A. Kuminov, 14 years ago

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

File size: 5.9 KB
RevLine 
[2]1/****************************************************************************
2**
[846]3** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
[561]4** All rights reserved.
5** Contact: Nokia Corporation ([email protected])
[2]6**
7** This file is part of the QtXmlPatterns module of the Qt Toolkit.
8**
9** $QT_BEGIN_LICENSE:LGPL$
10** Commercial Usage
11** Licensees holding valid Qt Commercial licenses may use this file in
12** accordance with the Qt Commercial License Agreement provided with the
13** Software or, alternatively, in accordance with the terms contained in
14** a written agreement between you and Nokia.
15**
16** GNU Lesser General Public License Usage
17** Alternatively, this file may be used under the terms of the GNU Lesser
18** General Public License version 2.1 as published by the Free Software
19** Foundation and appearing in the file LICENSE.LGPL included in the
20** packaging of this file. Please review the following information to
21** ensure the GNU Lesser General Public License version 2.1 requirements
22** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
23**
[561]24** In addition, as a special exception, Nokia gives you certain additional
25** rights. These rights are described in the Nokia Qt LGPL Exception
26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
[2]27**
28** GNU General Public License Usage
29** Alternatively, this file may be used under the terms of the GNU
30** General Public License version 3.0 as published by the Free Software
31** Foundation and appearing in the file LICENSE.GPL included in the
32** packaging of this file. Please review the following information to
33** ensure the GNU General Public License version 3.0 requirements will be
34** met: http://www.gnu.org/copyleft/gpl.html.
35**
[561]36** If you have questions regarding the use of this file, please contact
37** Nokia at [email protected].
[2]38** $QT_END_LICENSE$
39**
40****************************************************************************/
41
42#include <QMutex>
43
44#include "private/qobject_p.h"
45#include "qabstractmessagehandler.h"
46
47QT_BEGIN_NAMESPACE
48
49class QAbstractMessageHandlerPrivate : public QObjectPrivate
50{
51public:
52 QMutex mutex;
53};
54
55/*!
56 \class QAbstractMessageHandler
57 \threadsafe
58 \since 4.4
59 \ingroup xml-tools
60
61 \brief The QAbstractMessageHandler class provides a callback interface for handling messages.
62
63 QAbstractMessageHandler is an abstract base class that provides a
64 callback interface for handling messages. For example, class
65 QXmlQuery parses and runs an XQuery. When it detects a compile
66 or runtime error, it generates an appropriate error message,
67 but rather than output the message itself, it passes the message to
68 the message() function of its QAbstractMessageHandler.
69 See QXmlQuery::setMessageHandler().
70
71 You create a message handler by subclassing QAbstractMessageHandler
72 and implementing handleMessage(). You then pass a pointer to an
73 instance of your subclass to any classes that must generate
74 messages. The messages are sent to the message handler via the
75 message() function, which forwards them to your handleMessge().
76 The effect is to serialize the handling of all messages, which
77 means your QAbstractMessageHandler subclass is thread safe.
78
79 A single instance of QAbstractMessageHandler can be called on to
80 handle messages from multiple sources. Hence, the content of a
81 message, which is the \e description parameter passed to message()
82 and handleMessage(), must be interpreted in light of the context
83 that required the message to be sent. That context is specified by
84 the \e identifier and \e sourceLocation parameters to message()
85 handleMessage().
86 */
87
88/*!
89 Constructs a QAbstractMessageHandler. The \a parent is passed
90 to the QObject base class constructor.
91 */
92QAbstractMessageHandler::QAbstractMessageHandler(QObject *parent) : QObject(*new QAbstractMessageHandlerPrivate(), parent)
93{
94}
95
96/*!
97 Destructs this QAbstractMessageHandler.
98 */
99QAbstractMessageHandler::~QAbstractMessageHandler()
100{
101}
102
103/*!
104 Sends a message to this message handler. \a type is the kind of
105 message being sent. \a description is the message content. The \a