diff options
Diffstat (limited to 'offapi/com/sun/star/logging/XLogHandler.idl')
-rw-r--r-- | offapi/com/sun/star/logging/XLogHandler.idl | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/offapi/com/sun/star/logging/XLogHandler.idl b/offapi/com/sun/star/logging/XLogHandler.idl new file mode 100644 index 000000000..cdb770c3b --- /dev/null +++ b/offapi/com/sun/star/logging/XLogHandler.idl @@ -0,0 +1,92 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_logging_XLogHandler_idl__ +#define __com_sun_star_logging_XLogHandler_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/logging/LogRecord.idl> +#include <com/sun/star/logging/XLogFormatter.idl> + + +module com { module sun { module star { module logging { + + +/** provides possibilities to send LogRecords to an arbitrary output + channel. + + @see XLogger + + @since OOo 2.3 + */ +interface XLogHandler +{ + /** allows life time control for the handler + + <p>Disposing the handler effectively means closing the channel + to which the handler forwards the log records. + */ + interface ::com::sun::star::lang::XComponent; + + /** specifies MIME charset name for the encoding to be used by this handler + + <p>It depends on the concrete handler implementation whether or not this + parameter is needed.<p> + + @see http://www.iana.org/assignments/character-sets + */ + [attribute] string Encoding; + + /** specifies the formatter to be used by this handler. + */ + [attribute] XLogFormatter Formatter; + + /** specifies the log level of this handler + + <p>Different handlers can have different log levels, which again might be + different from the log level of the XLogger for which the handlers + are used.</p> + */ + [attribute] long Level; + + /** flushes all buffered output of the handler + + <p>Log handlers are allowed to buffer their output. Upon <code>flush</code> + being called, they must flush all their buffers.</p> + */ + void flush(); + + /** publish the given log record at the handler's output channel. + + @return + `TRUE` if and only if the record was actually published. A handler + will not publish a record if its log level doesn't meet the handler's + log level, if the record is filtered, or if any other handler-specified + restrictions apply. + */ + boolean publish( [in] LogRecord Record ); +}; + + +}; }; }; }; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |