1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24#ifndef __com_sun_star_task_XJobListener_idl__
25#define __com_sun_star_task_XJobListener_idl__
26
27#ifndef __com_sun_star_lang_XEventListener_idl__
28#include <com/sun/star/lang/XEventListener.idl>
29#endif
30
31//=============================================================================
32
33module com {  module sun {  module star {  module task {
34
35 published interface XAsyncJob;
36
37//=============================================================================
38/** listener on finish states of asynchronous job execution
39 */
40published interface XJobListener : com::sun::star::lang::XEventListener
41{
42    //------------------------------------------------------------------------
43    /** indicates that the job is done
44
45        @param Job
46            identifies the asynchronous job so the <type>JobExecutor</type>
47            can differ between more then ones.
48
49        @param Result
50            should be the same like for the synchronous mode on <member>XJob::execute()</member>.
51            It provides information about success or failure of job execution. It's possible too,
52            to use special protocol (which depends from real implementation) between
53            <type>JobExecutor</type> and a real job. So it can be possible to:
54
55            <ul>
56                <li>deregister the job</li>
57                <li>let him registered although execution was successfully(!)</li>
58                <li>make some job specific data persistent inside the job configuration which
59                    is provided by the executor.</li>
60            </ul>
61	*/
62    void jobFinished(
63        [in] XAsyncJob Job,
64        [in] any Result);
65};
66
67}; }; }; };
68
69#endif
70