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 deployment {
33
34/** Objects implementing this interface provide an URL to the root of
35    an installed package.
36
37    @since OOo 2.3
38*/
39published interface XPackageInformationProvider
40{
41    /** get Package information for a specific extension.
42
43        @param extensionId
44               the unique identifier of an extension. The service looks for
45               an installed package with the given id and returns the URL to
46               the root of the package. If the service can not find a matching
47               package, an emty string will be returned.
48    */
49    string getPackageLocation( [in] string extensionId );
50
51    /** check if there are updates available for an extention.
52
53        @param extensionId
54               the unique identifier of an extension. When the extensionId is empty,
55               the service looks checks all installed extensions for a newer version,
56               otherwise the service looks for updates for an installed package with
57               the given id.
58       If the service finds an update for an extension, a sequence containing the name
59            and the version will be returned for each extension which has an update.
60       If the service can not find a matching package, an empty sequence is returned.
61    */
62    sequence< sequence< string > > isUpdateAvailable( [in] string extensionId );
63
64    /** returns a list of all installed extention with their version.
65    */
66    sequence< sequence< string > > getExtensionList();
67};
68
69}; }; }; };
70
71