1d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5d1766043SAndrew Rist * distributed with this work for additional information
6d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10d1766043SAndrew Rist *
11d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12d1766043SAndrew Rist *
13d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14d1766043SAndrew Rist * software distributed under the License is distributed on an
15d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17d1766043SAndrew Rist * specific language governing permissions and limitations
18d1766043SAndrew Rist * under the License.
19d1766043SAndrew Rist *
20d1766043SAndrew Rist *************************************************************/
21d1766043SAndrew Rist
22d1766043SAndrew Rist
23cdf0e10cSrcweir
24cdf0e10cSrcweir#ifndef __com_sun_star_logging_FileHandler_idl__
25cdf0e10cSrcweir#define __com_sun_star_logging_FileHandler_idl__
26cdf0e10cSrcweir
27cdf0e10cSrcweir#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
28cdf0e10cSrcweir#include <com/sun/star/lang/IllegalArgumentException.idl>
29cdf0e10cSrcweir#endif
30cdf0e10cSrcweir#ifndef __com_sun_star_beans_NamedValue_idl__
31cdf0e10cSrcweir#include <com/sun/star/beans/NamedValue.idl>
32cdf0e10cSrcweir#endif
33cdf0e10cSrcweir
34cdf0e10cSrcweir//=============================================================================
35cdf0e10cSrcweir
36cdf0e10cSrcweirmodule com { module sun { module star { module logging {
37cdf0e10cSrcweir
38cdf0e10cSrcweirinterface XLogHandler;
39cdf0e10cSrcweir
40cdf0e10cSrcweir//=============================================================================
41cdf0e10cSrcweir
42cdf0e10cSrcweir/** specifies a component implementing a log handler whose output
43cdf0e10cSrcweir    channel is a file.
44cdf0e10cSrcweir
45cdf0e10cSrcweir    <p>The handler will use the <code>Encoding</code> attribute of <type>XLogHandler</type>
46cdf0e10cSrcweir    to determine how to encode strings before actually writing them to the output
47cdf0e10cSrcweir    file.</p>
48cdf0e10cSrcweir
49cdf0e10cSrcweir    @see XLogHandler::Encoding
50cdf0e10cSrcweir
51*96af39f7SJürgen Schmidt    @since OpenOffice 2.3
52cdf0e10cSrcweir */
53cdf0e10cSrcweirservice FileHandler : XLogHandler
54cdf0e10cSrcweir{
55cdf0e10cSrcweir    /** creates a log handler whose output is directed to a file given by URL.
56cdf0e10cSrcweir
57cdf0e10cSrcweir        @param FileURL
58cdf0e10cSrcweir            the URL of the file to be created. This URL is resolved using the
59cdf0e10cSrcweir            <type scope="::com::sun::star::util">PathSubstitution</type> service. That
60cdf0e10cSrcweir            is, it is allowed to include placeholders such as <code>$(userurl)</code>.
61cdf0e10cSrcweir    */
62cdf0e10cSrcweir    create( [in] string FileURL );
63cdf0e10cSrcweir
64cdf0e10cSrcweir    /** creates an instance of the log handler, using generic settings
65cdf0e10cSrcweir
66cdf0e10cSrcweir        @param Settings
67cdf0e10cSrcweir            contains the initial settings for the log handler
68cdf0e10cSrcweir
69cdf0e10cSrcweir            <p>The following settings are recognized and supported:
70cdf0e10cSrcweir            <ul><li><code>Encoding</code> - denotes the initial value of the <member>XLogHandler::Encoding</member></li>
71cdf0e10cSrcweir                <li><code>Formatter</code> - denotes the initial value of the <member>XLogHandler::Formatter</member></li>
72cdf0e10cSrcweir                <li><code>Level</code> - denotes the initial value of the <member>XLogHandler::Level</member></li>
73cdf0e10cSrcweir            </ul></p>
74cdf0e10cSrcweir
75cdf0e10cSrcweir            <p>Additionally, a setting name <code>FileURL</code> is recognized. It must be of type
76cdf0e10cSrcweir            string, and denotes the file URL to which the handler's output should be directed.</p>
77cdf0e10cSrcweir
78cdf0e10cSrcweir            <p>At least the URL argument must be present in the settings.</p>
79cdf0e10cSrcweir
80cdf0e10cSrcweir        @throws ::com::sun::star::lang::IllegalArgumentException
81cdf0e10cSrcweir            if <arg>Settings</args> contains settings whose value is of the wrong type.
82cdf0e10cSrcweir    */
83cdf0e10cSrcweir    createWithSettings( [in] sequence< ::com::sun::star::beans::NamedValue > Settings )
84cdf0e10cSrcweir        raises ( ::com::sun::star::lang::IllegalArgumentException );
85cdf0e10cSrcweir};
86cdf0e10cSrcweir
87cdf0e10cSrcweir//=============================================================================
88cdf0e10cSrcweir
89cdf0e10cSrcweir}; }; }; };
90cdf0e10cSrcweir
91cdf0e10cSrcweir//=============================================================================
92cdf0e10cSrcweir
93cdf0e10cSrcweir#endif
94