1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27
28
29#include <com/sun/star/uno/XInterface.idl>
30#include <com/sun/star/uno/Exception.idl>
31
32module com { module sun { module star { module container {
33interface XEnumeration;
34}; }; }; };
35
36module com { module sun { module star { module task {
37interface XInteractionHandler;
38}; }; }; };
39
40module com { module sun { module star { module xml { module dom {
41interface XElement;
42}; }; }; }; };
43
44module com { module sun { module star { module deployment {
45
46/** Objects implementing this interface provide access to the xml root of
47    one or more update information files for a given set of URLs.
48
49    @since OOo 2.2
50*/
51interface XUpdateInformationProvider
52{
53    /** get update information for a specific extension or all available
54        information from a repository.
55
56        @param repositories
57               a repository and its mirrors.
58        @param extensionId
59               the unique identifier of an extension. If it is not empty and
60               the update document is an atom feed, only items whose 'term'
61               attribute of the atom:category tag matches extensionId are returned.
62
63    */
64    sequence < com::sun::star::xml::dom::XElement > getUpdateInformation(
65        [in] sequence< string > repositories,
66        [in] string extensionId
67    ) raises ( com::sun::star::uno::Exception );
68
69    /** interrupts a getUpdateInformation call and let's it return immediatly.
70    */
71    void cancel();
72
73    /** Sets an interaction handler to be used for further operations.
74
75    <p>
76    A default interaction handler is available as service
77        <type scope="com::sun::star::task">InteractionHandler</type>.
78        The documentation of this service also contains further
79        information about the interaction handler concept.
80    </p>
81
82    @see com::sun::star::task::InteractionHandler
83
84    @param handler
85           The interaction handler to be set
86    */
87    void setInteractionHandler( [in] com::sun::star::task::XInteractionHandler handler );
88
89	/** get update information for a specific extension or all available
90        information from a repository.
91
92        @param repositories
93               a repository and its mirrors.
94        @param extensionId
95               the unique identifier of an extension. If it is not empty and
96               the update document is an atom feed, only items whose 'term'
97               attribute of the atom:category tag matches extensionId are returned.
98
99        @returns
100               an enumeration of <type>UpdateInformationEntry</type>.
101    */
102    com::sun::star::container::XEnumeration getUpdateInformationEnumeration(
103        [in] sequence< string > repositories,
104        [in] string extensionId
105    ) raises ( com::sun::star::uno::Exception );
106};
107
108}; }; }; };
109
110