diff options
Diffstat (limited to 'offapi/com/sun/star/logging/XLogHandler.idl')
-rw-r--r-- | offapi/com/sun/star/logging/XLogHandler.idl | 110 |
1 files changed, 110 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 000000000000..6bf52bd9f2cd --- /dev/null +++ b/offapi/com/sun/star/logging/XLogHandler.idl @@ -0,0 +1,110 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_logging_XLogHandler_idl__ +#define __com_sun_star_logging_XLogHandler_idl__ + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_logging_LogRecord_idl__ +#include <com/sun/star/logging/LogRecord.idl> +#endif + +#ifndef __com_sun_star_logging_XLogFormatter_idl__ +#include <com/sun/star/logging/XLogFormatter.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module logging { + +//============================================================================= + +/** provides possibilites to send <type>LogRecord</type>s 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 <type>XLogger</type> 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 |