1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2/* 3 * This file is part of the LibreOffice project. 4 * 5 * This Source Code Form is subject to the terms of the Mozilla Public 6 * License, v. 2.0. If a copy of the MPL was not distributed with this 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 * 9 * This file incorporates work covered by the following license notice: 10 * 11 * Licensed to the Apache Software Foundation (ASF) under one or more 12 * contributor license agreements. See the NOTICE file distributed 13 * with this work for additional information regarding copyright 14 * ownership. The ASF licenses this file to you under the Apache 15 * License, Version 2.0 (the "License"); you may not use this file 16 * except in compliance with the License. You may obtain a copy of 17 * the License at http://www.apache.org/licenses/LICENSE-2.0 . 18 */ 19 20#ifndef __com_sun_star_deployment_XUpdateInformationProvider_idl__ 21#define __com_sun_star_deployment_XUpdateInformationProvider_idl__ 22 23#include <com/sun/star/uno/XInterface.idl> 24#include <com/sun/star/uno/Exception.idl> 25 26module com { module sun { module star { module container { 27interface XEnumeration; 28}; }; }; }; 29 30module com { module sun { module star { module task { 31interface XInteractionHandler; 32}; }; }; }; 33 34module com { module sun { module star { module xml { module dom { 35interface XElement; 36}; }; }; }; }; 37 38module com { module sun { module star { module deployment { 39 40/** Objects implementing this interface provide access to the xml root of 41 one or more update information files for a given set of URLs. 42 43 @since OOo 2.2 44*/ 45interface XUpdateInformationProvider 46{ 47 /** get update information for a specific extension or all available 48 information from a repository. 49 50 @param repositories 51 a repository and its mirrors. 52 @param extensionId 53 the unique identifier of an extension. If it is not empty and 54 the update document is an atom feed, only items whose "term" 55 attribute of the atom:category tag matches extensionId are returned. 56 57 */ 58 sequence < com::sun::star::xml::dom::XElement > getUpdateInformation( 59 [in] sequence< string > repositories, 60 [in] string extensionId 61 ) raises ( com::sun::star::uno::Exception ); 62 63 /** interrupts a getUpdateInformation call and let's it return immediately. 64 */ 65 void cancel(); 66 67 /** Sets an interaction handler to be used for further operations. 68 69 <p> 70 A default interaction handler is available as service 71 com::sun::star::task::InteractionHandler. 72 The documentation of this service also contains further 73 information about the interaction handler concept. 74 </p> 75 76 @see com::sun::star::task::InteractionHandler 77 78 @param handler 79 The interaction handler to be set 80 */ 81 void setInteractionHandler( [in] com::sun::star::task::XInteractionHandler handler ); 82 83 /** get update information for a specific extension or all available 84 information from a repository. 85 86 @param repositories 87 a repository and its mirrors. 88 @param extensionId 89 the unique identifier of an extension. If it is not empty and 90 the update document is an atom feed, only items whose "term" 91 attribute of the atom:category tag matches extensionId are returned. 92 93 @returns 94 an enumeration of UpdateInformationEntry. 95 */ 96 com::sun::star::container::XEnumeration getUpdateInformationEnumeration( 97 [in] sequence< string > repositories, 98 [in] string extensionId 99 ) raises ( com::sun::star::uno::Exception ); 100}; 101 102}; }; }; }; 103#endif 104 105/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 106