QAbstractMessageHandler

Synopsis

Functions

  • def message (type, description[, identifier=QUrl()[, sourceLocation=QSourceLocation()]])

Virtual functions

  • def handleMessage (type, description, identifier, sourceLocation)

Detailed Description

The PySide.QtXmlPatterns.QAbstractMessageHandler class provides a callback interface for handling messages.

PySide.QtXmlPatterns.QAbstractMessageHandler is an abstract base class that provides a callback interface for handling messages. For example, class PySide.QtXmlPatterns.QXmlQuery parses and runs an XQuery . When it detects a compile or runtime error, it generates an appropriate error message, but rather than output the message itself, it passes the message to the PySide.QtXmlPatterns.QAbstractMessageHandler.message() function of its PySide.QtXmlPatterns.QAbstractMessageHandler . See QXmlQuery.setMessageHandler() .

You create a message handler by subclassing PySide.QtXmlPatterns.QAbstractMessageHandler and implementing PySide.QtXmlPatterns.QAbstractMessageHandler.handleMessage() . You then pass a pointer to an instance of your subclass to any classes that must generate messages. The messages are sent to the message handler via the PySide.QtXmlPatterns.QAbstractMessageHandler.message() function, which forwards them to your handleMessge(). The effect is to serialize the handling of all messages, which means your PySide.QtXmlPatterns.QAbstractMessageHandler subclass is thread safe.

A single instance of PySide.QtXmlPatterns.QAbstractMessageHandler can be called on to handle messages from multiple sources. Hence, the content of a message, which is the description parameter passed to PySide.QtXmlPatterns.QAbstractMessageHandler.message() and PySide.QtXmlPatterns.QAbstractMessageHandler.handleMessage() , must be interpreted in light of the context that required the message to be sent. That context is specified by the identifier and sourceLocation parameters to PySide.QtXmlPatterns.QAbstractMessageHandler.message() PySide.QtXmlPatterns.QAbstractMessageHandler.handleMessage() .

class PySide.QtXmlPatterns.QAbstractMessageHandler([parent=None])
Parameters:parentPySide.QtCore.QObject

Constructs a PySide.QtXmlPatterns.QAbstractMessageHandler . The parent is passed to the PySide.QtCore.QObject base class constructor.

PySide.QtXmlPatterns.QAbstractMessageHandler.handleMessage(type, description, identifier, sourceLocation)
Parameters:

This function must be implemented by the sub-class. PySide.QtXmlPatterns.QAbstractMessageHandler.message() will call this function, passing in its parameters, type , description , identifier and sourceLocation unmodified.

PySide.QtXmlPatterns.QAbstractMessageHandler.message(type, description[, identifier=QUrl()[, sourceLocation=QSourceLocation()]])
Parameters:

Sends a message to this message handler. type is the kind of message being sent. description is the message content. The identifier is a URI that identifies the message and is the key to interpreting the other arguments.

Typically, this class is used for reporting errors, as is the case for PySide.QtXmlPatterns.QXmlQuery , which uses a PySide.QtXmlPatterns.QAbstractMessageHandler to report compile and runtime XQuery errors. Hence, using a PySide.QtCore.QUrl as the message identifier is was inspired by the explanation of error handling in the XQuery language . Because the identifier is composed of a namespace URI and a local part, identifiers with the same local part are unique. The caller is responsible for ensuring that identifier is either a valid PySide.QtCore.QUrl or a default constructed PySide.QtCore.QUrl .

sourceLocation identifies a location in a resource (i.e., file or document) where the need for reporting a message was detected.

This function unconditionally calls PySide.QtXmlPatterns.QAbstractMessageHandler.handleMessage() , passing all its parameters unmodified.