diff options
Diffstat (limited to 'offapi/com/sun/star/deployment')
26 files changed, 2075 insertions, 0 deletions
diff --git a/offapi/com/sun/star/deployment/DependencyException.idl b/offapi/com/sun/star/deployment/DependencyException.idl new file mode 100644 index 000000000000..b58b20542085 --- /dev/null +++ b/offapi/com/sun/star/deployment/DependencyException.idl @@ -0,0 +1,74 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: DependencyException.idl,v $ + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef INCLUDED_COM_SUN_STAR_DEPLOYMENT_DEPENDENCYEXCEPTION_IDL +#define INCLUDED_COM_SUN_STAR_DEPLOYMENT_DEPENDENCYEXCEPTION_IDL + +#include "com/sun/star/uno/Exception.idl" + +module com { module sun { module star { module xml { module dom { + interface XElement; +}; }; }; }; }; + +module com { module sun { module star { module deployment { + +/** + describes unsatisfied dependencies a deployment unit has on its target + environment. + + <p>This exception is intended to be used with an + <type scope="com::sun::star::task">XInteractionHandler</type>.</p> + + @since OOo 2.0.4 +*/ +exception DependencyException: com::sun::star::uno::Exception { + /** + a sequence of dependencies represented by XML elements. + + <p>The exact nature of those XML elements is deliberately left open, so + that new kinds of dependencies can be defined in the future. + OOo 2.0.4 does not define any kinds of dependencies. Each such XML + element should have an attribute whose global name consists of the + namespace name + <code>http://openoffice.org/extensions/description/2006</code> and the + local part <code>name</code> and whose value is a human-readable + (english) description of the dependency. If an instance of OOo does not + know more about a specific kind of dependency, it should display the + value of that attribute to the user.</p> + + <p>The sequence must not be emtpy, and none of the elements may be + <NULL/>.</p> + */ + sequence< com::sun::star::xml::dom::XElement > UnsatisfiedDependencies; +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/deployment/DeploymentException.idl b/offapi/com/sun/star/deployment/DeploymentException.idl new file mode 100644 index 000000000000..0f74d00dd8e9 --- /dev/null +++ b/offapi/com/sun/star/deployment/DeploymentException.idl @@ -0,0 +1,52 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: DeploymentException.idl,v $ + * $Revision: 1.6 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_com_sun_star_deployment_DeploymentException_idl +#define INCLUDED_com_sun_star_deployment_DeploymentException_idl + +#include <com/sun/star/uno/Exception.idl> + + +module com { module sun { module star { module deployment { + +/** A DeploymentException reflects a deployment error. + + @since OOo 2.0.0 + */ +exception DeploymentException : com::sun::star::uno::Exception +{ + /** reflects the cause of the error. Commonly an exception. + */ + any Cause; +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/deployment/InstallException.idl b/offapi/com/sun/star/deployment/InstallException.idl new file mode 100644 index 000000000000..eff2e12e4816 --- /dev/null +++ b/offapi/com/sun/star/deployment/InstallException.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: InstallException.idl,v $ + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef INCLUDED_COM_SUN_STAR_DEPLOYMENT_INSTALLEXCEPTION_IDL +#define INCLUDED_COM_SUN_STAR_DEPLOYMENT_INSTALLEXCEPTION_IDL + +#include "com/sun/star/uno/Exception.idl" + +module com { module sun { module star { module deployment { + +interface XPackage; + +/** + describes the fact that deployment unit is about to be installed. + + <p>This exception is intended to be used with an + <type scope="com::sun::star::task">XInteractionHandler</type>.</p> + + @since OOo 2.2 +*/ +exception InstallException: com::sun::star::uno::Exception { + /** + represents the new deployment unit. + + <p>Must not be <NULL/>.</p> + */ + XPackage New; + + +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/deployment/LicenseException.idl b/offapi/com/sun/star/deployment/LicenseException.idl new file mode 100644 index 000000000000..4c9bbcd126c9 --- /dev/null +++ b/offapi/com/sun/star/deployment/LicenseException.idl @@ -0,0 +1,57 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: LicenseException.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_com_sun_star_deployment_LicenseException_idl +#define INCLUDED_com_sun_star_deployment_LicenseException_idl + +#include <com/sun/star/uno/Exception.idl> + + +module com { module sun { module star { module deployment { + +/** A LicenseException reflects the necessity of someone aggreeing to a license. + + @since OOo 2.0.4 + */ +exception LicenseException : com::sun::star::uno::Exception +{ + /** name of the extension. + + Contains the file name only. + */ + string ExtensionName; + /** contains the text of the license. + */ + string Text; +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/deployment/LicenseIndividualAgreementException.idl b/offapi/com/sun/star/deployment/LicenseIndividualAgreementException.idl new file mode 100644 index 000000000000..9638b0a5d46c --- /dev/null +++ b/offapi/com/sun/star/deployment/LicenseIndividualAgreementException.idl @@ -0,0 +1,55 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: LicenseIndividualAgreementException.idl,v $ + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_com_sun_star_deployment_LicenseIndividualAgreementException_idl +#define INCLUDED_com_sun_star_deployment_LicenseIndividualAgreementException_idl + +#include <com/sun/star/uno/Exception.idl> + + +module com { module sun { module star { module deployment { + +/** The exception signals that an extension is about to be installed for more than + one user, allthough every user needs to agree to the license. + + @since OOo 2.0.6 + */ +exception LicenseIndividualAgreementException : com::sun::star::uno::Exception +{ + /** name of the extension. + + Contains the file name only. + */ + string ExtensionName; +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/deployment/PackageInformationProvider.idl b/offapi/com/sun/star/deployment/PackageInformationProvider.idl new file mode 100644 index 000000000000..700537b79139 --- /dev/null +++ b/offapi/com/sun/star/deployment/PackageInformationProvider.idl @@ -0,0 +1,43 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PackageInformationProvider.idl,v $ + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#include <com/sun/star/deployment/XPackageInformationProvider.idl> + +module com { module sun { module star { module deployment { + +/** Implementations of this service provide the root location + of a package for a given Package ID. + + @since OOo 2.3 +*/ +singleton PackageInformationProvider : XPackageInformationProvider; + +}; }; }; }; + diff --git a/offapi/com/sun/star/deployment/PackageRegistryBackend.idl b/offapi/com/sun/star/deployment/PackageRegistryBackend.idl new file mode 100644 index 000000000000..ae900adc56b1 --- /dev/null +++ b/offapi/com/sun/star/deployment/PackageRegistryBackend.idl @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PackageRegistryBackend.idl,v $ + * $Revision: 1.7 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_com_sun_star_deployment_PackageRegistryBackend_idl +#define INCLUDED_com_sun_star_deployment_PackageRegistryBackend_idl + +#include <com/sun/star/deployment/XPackageRegistry.idl> + + +module com { module sun { module star { module deployment { + +/** The <type>PackageRegistryBackend</type> service is used to bind + a specific type of <type>XPackage</type> which can be registered or revoked. + <p> + All <type>PackageRegistryBackend</type> objects + are related to a <type>XPackageManager</type> instance. + </p> + + @since OOo 2.0.0 +*/ +service PackageRegistryBackend : XPackageRegistry +{ + /** Creates a transient registry. + + @param context + context of registry, e.g. user, shared + */ + createTransient( [in] string context ); + + /** Creates a persistent registry. + + @param context + context of registry, e.g. user, shared + @param cacheDirectory + cache directory that the registry has to use + @param readOnly + reflects whether writing to cache directory is allowed + */ + createPersistent( [in] string context, + [in] string cacheDirectory, + [in] boolean readOnly ); +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/deployment/PlatformException.idl b/offapi/com/sun/star/deployment/PlatformException.idl new file mode 100644 index 000000000000..ab8cdf495655 --- /dev/null +++ b/offapi/com/sun/star/deployment/PlatformException.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PlatformException.idl,v $ + * + * $Revision: 1.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_com_sun_star_deployment_PlatformException_idl +#define INCLUDED_com_sun_star_deployment_PlatformException_idl + +#include <com/sun/star/uno/Exception.idl> + +module com { module sun { module star { module deployment { + + interface XPackage; +/** A DeploymentException indicates that the current platform + is not supported. + + @since OOo 3.0.0 + */ +exception PlatformException : com::sun::star::uno::Exception +{ + /** The package which does not support the current platform. + */ + XPackage package; +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/deployment/UpdateInformationEntry.idl b/offapi/com/sun/star/deployment/UpdateInformationEntry.idl new file mode 100644 index 000000000000..fd19ac1d575b --- /dev/null +++ b/offapi/com/sun/star/deployment/UpdateInformationEntry.idl @@ -0,0 +1,55 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: UpdateInformationEntry.idl,v $ + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +module com { module sun { module star { module xml { module dom { +interface XElement; +}; }; }; }; }; + +module com { module sun { module star { module deployment { + +/** Objects of this type are used as elements of the enumeration + returned by <type>XUpdateInformationProvider</type>. + + @since OOo 2.3 +*/ +struct UpdateInformationEntry +{ + /** the DOM representation of an update information entry + */ + com::sun::star::xml::dom::XElement UpdateDocument; + + /** the (optional) description for an update information + * entry extracted from the update feed container + */ + string Description; +}; + +}; }; }; }; + diff --git a/offapi/com/sun/star/deployment/UpdateInformationProvider.idl b/offapi/com/sun/star/deployment/UpdateInformationProvider.idl new file mode 100644 index 000000000000..794df00d1c08 --- /dev/null +++ b/offapi/com/sun/star/deployment/UpdateInformationProvider.idl @@ -0,0 +1,43 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: UpdateInformationProvider.idl,v $ + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#include <com/sun/star/deployment/XUpdateInformationProvider.idl> + +module com { module sun { module star { module deployment { + +/** Implementations of this service provide access to the root element + of one or more update information files for a given sets of URLs. + + @since OOo 2.2 +*/ +service UpdateInformationProvider : XUpdateInformationProvider; + +}; }; }; }; + diff --git a/offapi/com/sun/star/deployment/VersionException.idl b/offapi/com/sun/star/deployment/VersionException.idl new file mode 100644 index 000000000000..38eb909c3fbc --- /dev/null +++ b/offapi/com/sun/star/deployment/VersionException.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: VersionException.idl,v $ + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef INCLUDED_COM_SUN_STAR_DEPLOYMENT_VERSIONEXCEPTION_IDL +#define INCLUDED_COM_SUN_STAR_DEPLOYMENT_VERSIONEXCEPTION_IDL + +#include "com/sun/star/uno/Exception.idl" + +module com { module sun { module star { module deployment { + +interface XPackage; + +/** + describes version clashes of a deployment unit. + + <p>This exception is intended to be used with an + <type scope="com::sun::star::task">XInteractionHandler</type>.</p> + + @since OOo 2.1 +*/ +exception VersionException: com::sun::star::uno::Exception { + /** + represents the new version of the deployment unit. + + <p>Must not be <NULL/>.</p> + */ + XPackage New; + + /** + represents the already installed version of the deployment unit. + + <p>Must not be <NULL/>.</p> + */ + XPackage Deployed; +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/deployment/XPackage.idl b/offapi/com/sun/star/deployment/XPackage.idl new file mode 100644 index 000000000000..36799875eee1 --- /dev/null +++ b/offapi/com/sun/star/deployment/XPackage.idl @@ -0,0 +1,313 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_com_sun_star_deployment_XPackage_idl +#define INCLUDED_com_sun_star_deployment_XPackage_idl + +#include <com/sun/star/beans/Optional.idl> +#include <com/sun/star/beans/Ambiguous.idl> +#include <com/sun/star/beans/StringPair.idl> +#include <com/sun/star/deployment/DeploymentException.idl> +#include <com/sun/star/deployment/XPackageTypeInfo.idl> +#include <com/sun/star/graphic/XGraphic.idl> +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/task/XAbortChannel.idl> +#include <com/sun/star/ucb/CommandFailedException.idl> +#include <com/sun/star/ucb/CommandAbortedException.idl> +#include <com/sun/star/ucb/XCommandEnvironment.idl> +#include <com/sun/star/util/XModifyBroadcaster.idl> + + +module com { module sun { module star { module deployment { + +/** Objects of this interface reflect a bound package and are issued by a + <type>PackageRegistryBackend</type>. + + @since OOo 2.0.0 +*/ +interface XPackage +{ + /** implemented to notify that the package has been removed + */ + interface com::sun::star::lang::XComponent; + + /** notifies changes of the registration state of the package + */ + interface com::sun::star::util::XModifyBroadcaster; + + + /** creates a command channel to be used to asynchronously abort a command. + + @return + abort channel + */ + com::sun::star::task::XAbortChannel createAbortChannel(); + + /** checks if the package can be installed. + + Only if the return value is true the package is allowed to be installed. + In case of false or in case of an exception, the package must be removed + in completely. + After return of this function no code from the extension may be used + anymore, so that the extension can be safely removed from the harddisk. + + @param xCmdEnv + command environment for error handling and other interaction. + @installed + signalls if an extension with the same identifyer is already installed. + + @aContextName + the name of the context of XPackageManager implementation that is to be used + to install the extension. Currently we use the names "user" + and "shared". + + @return + true - the package can be installed + false - the package must not be installed. + */ + boolean checkPrerequisites( + [in] com::sun::star::task::XAbortChannel xAbortChannel, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv, + [in] boolean installed, + [in] string aContextName) + raises (DeploymentException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::ucb::CommandAbortedException); + + /** checks if the dependencies for this package are still satisfied + + After updateing the OpenOffice.org, some dependencies for packages might + no longer be satisfied. + + @since OOo 3.2.0 + + @param xCmdEnv + command environment for error handling and other interaction. + + @return + true - all dependencies are satisfied + false - at least one dependency failed. + */ + boolean checkDependencies( + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + com::sun::star::ucb::CommandFailedException); + + + /** determines whether the package is currently is registered, i.e. + whether it is active. + + @param xAbortChannel + abort channel to asynchronously abort the registration process, + or null + @param xCmdEnv + command environment for error and progress handling + @return + status whether the package is registered (<TRUE/>, <FALSE/>) or + the status is ambiguous. Additionally, a registration status + may not apply, e.g. in case of an empty package bundle. + */ + com::sun::star::beans::Optional< + com::sun::star::beans::Ambiguous<boolean> > isRegistered( + [in] com::sun::star::task::XAbortChannel xAbortChannel, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::ucb::CommandAbortedException); + + /** registers this <type>XPackage</type>, thus activating the package. + + @param xAbortChannel + abort channel to asynchronously abort the registration process, + or null + @param xCmdEnv + command environment for error and progress handling + */ + void registerPackage( + [in] com::sun::star::task::XAbortChannel xAbortChannel, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::ucb::CommandAbortedException, + com::sun::star::lang::IllegalArgumentException); + + /** revokes this <type>XPackage</type>. + + @param xAbortChannel + abort channel to asynchronously abort the registration process, + or null + @param xCmdEnv + command environment for error and progress handling + */ + void revokePackage( + [in] com::sun::star::task::XAbortChannel xAbortChannel, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::ucb::CommandAbortedException, + com::sun::star::lang::IllegalArgumentException); + + /** reflects whether this package is a bundle of one or more packages, + e.g. a zip (legacy) package file or a document hosting script packages. + + @return + in case this package relfects a package bundle + */ + boolean isBundle(); + + /** Gets packages of the bundle. + + @param xAbortChannel + abort channel to asynchronously abort the registration process, + or null + @param xCmdEnv + command environment for error and progress handling + @return + set of packages enclosed in this package + */ + sequence<XPackage> getBundle( + [in] com::sun::star::task::XAbortChannel xAbortChannel, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::ucb::CommandAbortedException, + com::sun::star::lang::IllegalArgumentException); + + /** returns the file name of the package. + + @return + file name of the package + */ + string getName(); + + /** returns the unique extension identifier. + + @return + the extension identifier (a + <code>"org.openoffice.legacy."</code> one if the extension does not + explicitly specify one), or an empty <code>Optional</code> if this + package does not represent an extension + */ + com::sun::star::beans::Optional<string> getIdentifier(); + + /** returns the textual version representation of the package. + + A textual version representation is a finite string following the + BNF<br/> + version ::= [element ("." element)*]<br/> + element ::= ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9")+ + + @return + the textual version representation + */ + string getVersion(); + + /** returns the location of the package. + + @return + location of package + */ + string getURL(); + + /** returns the display name of the package, e.g. for graphical user + interfaces (GUI). + + @return + display name of the package + */ + string getDisplayName(); + + /** returns a description string to describe the package. + + @return + description + */ + string getDescription(); + + /** returns a sequence of update information URLs. + + The sequence may be empty in case no update information is available. + If the sequence contains more than one URL, the extra URLs must mirror + the information available at the first URL. + + @return + update information URLs + */ + sequence<string> getUpdateInformationURLs(); + + /** returns the publisher info for a package, the strings + might be empty, if there are no publisher + + <type scope="::com::sun::star::beans">StringPair</type>::First + represents the publisher name and + <type scope="::com::sun::star::beans">StringPair</type>::Second + represents the URL to the publisher. + */ + + ::com::sun::star::beans::StringPair getPublisherInfo(); + + /** returns the <type>XPackageTypeInfo</type>, e.g. media-type etc. + + @return + media type of package + */ + XPackageTypeInfo getPackageType(); + + /** exports package to given destination URL. + + @param destFolderURL + package destination folder URL, must be UCB conform + @param newTitle + new package name + @param nameClashAction + one of <type scope="com::sun::star::ucb">NameClash</type> + @param xCmdEnv + command environment for error and progress handling + */ + void exportTo( [in] string destFolderURL, + [in] string newTitle, + [in] long nameClashAction, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (com::sun::star::ucb::CommandFailedException, + com::sun::star::ucb::CommandAbortedException); + + /** returns an icon for a package. + + @param highContrast + return high contrast icon + @return + the icon which should be used to represent the table in the + database application window, or <NULL/> if the default icon + should be used. + */ + com::sun::star::graphic::XGraphic getIcon( [in] boolean highContrast ); +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/deployment/XPackageInformationProvider.idl b/offapi/com/sun/star/deployment/XPackageInformationProvider.idl new file mode 100644 index 000000000000..6dbfd382a52d --- /dev/null +++ b/offapi/com/sun/star/deployment/XPackageInformationProvider.idl @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XPackageInformationProvider.idl,v $ + * $Revision: 1.4 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/uno/Exception.idl> + +module com { module sun { module star { module deployment { + +/** Objects implementing this interface provide an URL to the root of + an installed package. + + @since OOo 2.3 +*/ +interface XPackageInformationProvider +{ + /** get Package information for a specific extension. + + @param extensionId + the unique identifier of an extension. The service looks for + an installed package with the given id and returns the URL to + the root of the package. If the service can not find a matching + package, an emty string will be returned. + */ + string getPackageLocation( [in] string extensionId ); + + /** check if there are updates available for an extention. + + @param extensionId + the unique identifier of an extension. When the extensionId is empty, + the service looks checks all installed extensions for a newer version, + otherwise the service looks for updates for an installed package with + the given id. + If the service finds an update for an extension, a sequence containing the name + and the version will be returned for each extension which has an update. + If the service can not find a matching package, an empty sequence is returned. + */ + sequence< sequence< string > > isUpdateAvailable( [in] string extensionId ); + + /** returns a list of all installed extention with their version. + */ + sequence< sequence< string > > getExtensionList(); +}; + +}; }; }; }; + diff --git a/offapi/com/sun/star/deployment/XPackageManager.idl b/offapi/com/sun/star/deployment/XPackageManager.idl new file mode 100644 index 000000000000..829a4ffed992 --- /dev/null +++ b/offapi/com/sun/star/deployment/XPackageManager.idl @@ -0,0 +1,222 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XPackageManager.idl,v $ + * $Revision: 1.10 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_com_sun_star_deployment_XPackageManager_idl +#define INCLUDED_com_sun_star_deployment_XPackageManager_idl + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/task/XAbortChannel.idl> +#include <com/sun/star/util/XModifyBroadcaster.idl> +#include <com/sun/star/deployment/XPackage.idl> +#include <com/sun/star/deployment/XPackageTypeInfo.idl> +#include <com/sun/star/ucb/XCommandEnvironment.idl> +#include <com/sun/star/deployment/DeploymentException.idl> +#include <com/sun/star/container/NoSuchElementException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + + +module com { module sun { module star { module deployment { + +/** The <type>XPackageManager</type> interface is used to add or remove + packages to a specific deployment context. + Packages are deployable files, e.g. scripts or UNO components. + <p> + Adding an UNO package means that a copy of the package is stored + with respect to the context of the manager and the package is registered, + thus activated. + </p> + <p> + Removing an UNO package means that the previously added package is revoked, + thus deactivated, first and then removed from the context. + </p> + <p> + Objects of this interface are created using the + <type>XPackageManagerFactory</type> service resp. the singleton + <code> + /singletons/com.sun.star.deployment.thePackageManagerFactory + </code>. + </p> + + @see thePackageManagerFactory + @since OOo 2.0.0 +*/ +interface XPackageManager +{ + /** interface to notify disposing + */ + interface com::sun::star::lang::XComponent; + + /** interface to notify changes of the set of deployed packages of + this manager + */ + interface com::sun::star::util::XModifyBroadcaster; + + /** returns the underlying deployment context. + + @return + underlying deployment context + */ + string getContext(); + + /** gets the supported <type>XPackageTypeInfo</type>s. + + @return + supported <type>XPackageTypeInfo</type>s. + */ + sequence<XPackageTypeInfo> getSupportedPackageTypes(); + + /** creates a command channel to be used to asynchronously abort a command. + + @return + abort channel + */ + com::sun::star::task::XAbortChannel createAbortChannel(); + + /** adds an UNO package. + + @param url + package URL, must be UCB conform + @param mediaType + media-type of package, empty string if to be detected + @param xAbortChannel + abort channel to asynchronously abort the adding process, + or null + @param xCmdEnv + command environment for error and progress handling + @return + <type>XPackage</type> handle + */ + XPackage addPackage( [in] string url, + [in] string mediaType, + [in] com::sun::star::task::XAbortChannel xAbortChannel, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::ucb::CommandAbortedException, + com::sun::star::lang::IllegalArgumentException); + + /** removes an UNO package. + + @param identifier + package identifier + @param fileName + package file name + @param xAbortChannel + abort channel to asynchronously abort the removing process, + or null + @param xCmdEnv + command environment for error and progress handling + */ + void removePackage( [in] string identifier, + [in] string fileName, + [in] com::sun::star::task::XAbortChannel xAbortChannel, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::ucb::CommandAbortedException, + com::sun::star::lang::IllegalArgumentException); + + /** gets a deployed package. + + @param identifier + package identifier + @param fileName + package file name + @param xCmdEnv + command environment for error and progress handling + @return + <type>XPackage</type> handle + */ + XPackage getDeployedPackage( + [in] string identifier, + [in] string fileName, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::lang::IllegalArgumentException); + + /** gets all currently deployed packages. + + @param xAbortChannel + abort channel to asynchronously abort the removing process, + or null + @param xCmdEnv + command environment for error and progress handling + @return + all currently deployed packages + */ + sequence<XPackage> getDeployedPackages( + [in] com::sun::star::task::XAbortChannel xAbortChannel, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::ucb::CommandAbortedException, + com::sun::star::lang::IllegalArgumentException); + + /** Expert feature: erases the underlying registry cache and reinstalls + all previously added packages. Please keep in mind that all + registration status get lost. + <p> + Please use this in case of suspected cache inconsistencies only. + </p> + + @param xAbortChannel + abort channel to asynchronously abort the adding process + @param xCmdEnv + command environment for error and progress handling + */ + void reinstallDeployedPackages( + [in] com::sun::star::task::XAbortChannel xAbortChannel, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::ucb::CommandAbortedException, + com::sun::star::lang::IllegalArgumentException); + + /** indicates that this implementation cannot be used for tasks + which require write access to the location where the extensions + are installed. + <p> + Normally one would call a method and handle the exception + if writing failed. However, a GUI interface may need to know beforehand + if writing is allowed. For example, the Extension Manager dialog + needs to enable / disable the Add button depending if the user has + write permission. Only the XPackageManager implementation knows the + location of the installed extensions. Therefore it is not possible + to check "externally" for write permission. + </p> + */ + boolean isReadOnly(); + +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/deployment/XPackageManagerFactory.idl b/offapi/com/sun/star/deployment/XPackageManagerFactory.idl new file mode 100644 index 000000000000..25a9b1a9d31c --- /dev/null +++ b/offapi/com/sun/star/deployment/XPackageManagerFactory.idl @@ -0,0 +1,101 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XPackageManagerFactory.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_com_sun_star_deployment_XPackageManagerFactory_idl +#define INCLUDED_com_sun_star_deployment_XPackageManagerFactory_idl + +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/deployment/XPackageManager.idl> + + +module com { module sun { module star { module deployment { + +/** The <type>XPackageManagerFactory</type> interface is used to obtain + <type>XPackageManager</type> instances. + <p> + You have to use the singleton + <code> + /singletons/com.sun.star.deployment.thePackageManagerFactory + </code> + exclusively. + </p> + + @since OOo 2.0.0 +*/ +interface XPackageManagerFactory +{ + /** Method to create (or reusing and already existing) + <type>XPackageManager</type> object to add or remove UNO packages + persistently. + <p> + Packages for context strings <code>"user"</code> and + <code>"shared"</code> will be registered and + revoked persistently. + </p> + <!-- p> + Document contexts (<code>"vnd.sun.star.tdoc:..."</code>) will get a + <type>XPackageManager</type> object that stores packages + in the given document and modify the manifest. + </p --> + <p> + Context strings other than <code>"user"</code>, <code>"shared"</code> + <!-- or <code>vnd.sun.star.tdoc</code --> will last in an + <type scope="com::sun::star::lang">IllegalArgumentException</type>. + </p> + + @param context + context string, e.g. + <ul> + <li><code>"user"</code> + => persistent storage and registration into installation's + user layer + </li> + <li><code>"shared"</code> + => persistent storage and registration into installation's + shared layer + </li> + <!-- li><code>"vnd.sun.star.tdoc:///4711/uno_packages"</code> + (open document) + => transient storage in folder uno_packages + and transient registration + </li --> + </ul> + @return + <type>XPackageManager</type> object + @throws ::com::sun::star::lang::IllegalArgumentException + in case of an invalid context + */ + XPackageManager getPackageManager( [in] string context ) + raises (com::sun::star::lang::IllegalArgumentException); +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/deployment/XPackageRegistry.idl b/offapi/com/sun/star/deployment/XPackageRegistry.idl new file mode 100644 index 000000000000..95b5b6e8399e --- /dev/null +++ b/offapi/com/sun/star/deployment/XPackageRegistry.idl @@ -0,0 +1,79 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XPackageRegistry.idl,v $ + * $Revision: 1.7 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_com_sun_star_deployment_XPackageRegistry_idl +#define INCLUDED_com_sun_star_deployment_XPackageRegistry_idl + +#include <com/sun/star/deployment/XPackage.idl> +#include <com/sun/star/deployment/XPackageTypeInfo.idl> +#include <com/sun/star/beans/StringPair.idl> + + +module com { module sun { module star { module deployment { + +/** Interface to bind an UNO package. + + @since OOo 2.0.0 +*/ +interface XPackageRegistry +{ + /** binds a package URL to a <type>XPackage</type> handle. + The returned UNO package handle ought to late-initialize itself, + thus the process of binding must not be an expensive operation, because + it is not abortable. + + @param url + package URL, must be UCB conform + @param mediaType + media type of package, empty string if to be detected + @param xCmdEnv + command environment for error and progress handling + @return + <type>XPackage</type> handle + */ + XPackage bindPackage( + [in] string url, + [in] string mediaType, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::lang::IllegalArgumentException); + + /** gets the supported <type>XPackageTypeInfo</type>s. + + @return + supported <type>XPackageTypeInfo</type>s. + */ + sequence<XPackageTypeInfo> getSupportedPackageTypes(); +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/deployment/XPackageTypeInfo.idl b/offapi/com/sun/star/deployment/XPackageTypeInfo.idl new file mode 100644 index 000000000000..bc993a4b6d07 --- /dev/null +++ b/offapi/com/sun/star/deployment/XPackageTypeInfo.idl @@ -0,0 +1,95 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XPackageTypeInfo.idl,v $ + * $Revision: 1.6 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_com_sun_star_deployment_XPackageTypeInfo_idl +#define INCLUDED_com_sun_star_deployment_XPackageTypeInfo_idl + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module deployment { + +/** Objects of this interface provide information about a package's type. + + @since OOo 2.0.0 +*/ +interface XPackageTypeInfo +{ + /** returns the media type of a package, e.g. + <code>application/vnd.sun.star.basic-script</code>. + + @return + media type of package + */ + string getMediaType(); + + /** returns a description string to describe a package type. + + @return + description + */ + string getDescription(); + + /** returns a short description string to describe a package type + (one line only). + + @return + description + */ + string getShortDescription(); + + /** returns a file filter string for the file picker user interface. + Both, the short description string and file filter string + will be passed to + <member scope="com::sun::star::ui::dialogs">XFilterManager::appendFilter</member>. + + @return + file filter string + */ + string getFileFilter(); + + /** returns an icon for a package. + + @param highContrast + return high contrast icon + @param smallIcon + return a small icon (e.g. 16x16 pixel), + else return a big one (e.g. 26x26 pixel) + @return + currently an unsigned short + (resource id for deploymentgui resource file), + <void/> any if none is available + */ + any getIcon( [in] boolean highContrast, [in] boolean smallIcon ); +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/deployment/XUpdateInformationProvider.idl b/offapi/com/sun/star/deployment/XUpdateInformationProvider.idl new file mode 100644 index 000000000000..878ec3a69318 --- /dev/null +++ b/offapi/com/sun/star/deployment/XUpdateInformationProvider.idl @@ -0,0 +1,112 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XUpdateInformationProvider.idl,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/uno/Exception.idl> + +module com { module sun { module star { module container { +interface XEnumeration; +}; }; }; }; + +module com { module sun { module star { module task { +interface XInteractionHandler; +}; }; }; }; + +module com { module sun { module star { module xml { module dom { +interface XElement; +}; }; }; }; }; + +module com { module sun { module star { module deployment { + +/** Objects implementing this interface provide access to the xml root of + one or more update information files for a given set of URLs. + + @since OOo 2.2 +*/ +interface XUpdateInformationProvider +{ + /** get update information for a specific extension or all available + information from a repository. + + @param repositories + a repository and its mirrors. + @param extensionId + the unique identifier of an extension. If it is not empty and + the update document is an atom feed, only items whose 'term' + attribute of the atom:category tag matches extensionId are returned. + + */ + sequence < com::sun::star::xml::dom::XElement > getUpdateInformation( + [in] sequence< string > repositories, + [in] string extensionId + ) raises ( com::sun::star::uno::Exception ); + + /** interrupts a getUpdateInformation call and let's it return immediatly. + */ + void cancel(); + + /** Sets an interaction handler to be used for further operations. + + <p> + A default interaction handler is available as service + <type scope="com::sun::star::task">InteractionHandler</type>. + The documentation of this service also contains further + information about the interaction handler concept. + </p> + + @see com::sun::star::task::InteractionHandler + + @param handler + The interaction handler to be set + */ + void setInteractionHandler( [in] com::sun::star::task::XInteractionHandler handler ); + + /** get update information for a specific extension or all available + information from a repository. + + @param repositories + a repository and its mirrors. + @param extensionId + the unique identifier of an extension. If it is not empty and + the update document is an atom feed, only items whose 'term' + attribute of the atom:category tag matches extensionId are returned. + + @returns + an enumeration of <type>UpdateInformationEntry</type>. + */ + com::sun::star::container::XEnumeration getUpdateInformationEnumeration( + [in] sequence< string > repositories, + [in] string extensionId + ) raises ( com::sun::star::uno::Exception ); +}; + +}; }; }; }; + diff --git a/offapi/com/sun/star/deployment/makefile.mk b/offapi/com/sun/star/deployment/makefile.mk new file mode 100644 index 000000000000..439b961e51d8 --- /dev/null +++ b/offapi/com/sun/star/deployment/makefile.mk @@ -0,0 +1,64 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.17 $ +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ = ..$/..$/..$/.. + +PRJNAME=offapi + +TARGET = cssdeployment +PACKAGE = com$/sun$/star$/deployment + +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +IDLFILES = \ + DeploymentException.idl \ + XPackageTypeInfo.idl \ + XPackage.idl \ + XPackageRegistry.idl \ + PackageRegistryBackend.idl \ + XPackageManager.idl \ + XPackageManagerFactory.idl \ + thePackageManagerFactory.idl \ + DependencyException.idl \ + LicenseException.idl \ + VersionException.idl \ + InstallException.idl \ + UpdateInformationEntry.idl \ + XUpdateInformationProvider.idl \ + UpdateInformationProvider.idl \ + XPackageInformationProvider.idl \ + PackageInformationProvider.idl \ + LicenseIndividualAgreementException.idl \ + PlatformException.idl + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk + diff --git a/offapi/com/sun/star/deployment/test/SmoketestCommandEnvironment.idl b/offapi/com/sun/star/deployment/test/SmoketestCommandEnvironment.idl new file mode 100644 index 000000000000..0f6782140400 --- /dev/null +++ b/offapi/com/sun/star/deployment/test/SmoketestCommandEnvironment.idl @@ -0,0 +1,46 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: SmoketestCommandEnvironment.idl,v $ + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _com_sun_star_deployment_test_SmoketestCommandEnvironment_idl_ +#define _com_sun_star_deployment_test_SmoketestCommandEnvironment_idl_ + + +#include <com/sun/star/ucb/XCommandEnvironment.idl> + + +module com { module sun { module star { module deployment { module test { + /* The service is intended to be used in the smoketest to test the installation of + an extension (com::sun::star::deployment::XPackageManager::addPackage). It may therefore + be constantly adapted to meet the need of the smoketest + */ + service SmoketestCommandEnvironment: ::com::sun::star::ucb::XCommandEnvironment; +};};};};}; + +#endif diff --git a/offapi/com/sun/star/deployment/test/makefile.mk b/offapi/com/sun/star/deployment/test/makefile.mk new file mode 100644 index 000000000000..10375de636d7 --- /dev/null +++ b/offapi/com/sun/star/deployment/test/makefile.mk @@ -0,0 +1,45 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.3 $ +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ = ..$/..$/..$/..$/.. + +PRJNAME = api + +TARGET = cssdeploymenttest +PACKAGE = com$/sun$/star$/deployment$/test + +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +IDLFILES = \ + SmoketestCommandEnvironment.idl + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/offapi/com/sun/star/deployment/thePackageManagerFactory.idl b/offapi/com/sun/star/deployment/thePackageManagerFactory.idl new file mode 100644 index 000000000000..6bec61394234 --- /dev/null +++ b/offapi/com/sun/star/deployment/thePackageManagerFactory.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: thePackageManagerFactory.idl,v $ + * $Revision: 1.6 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_com_sun_star_deployment_thePackageManagerFactory_idl +#define INCLUDED_com_sun_star_deployment_thePackageManagerFactory_idl + +#include <com/sun/star/deployment/XPackageManagerFactory.idl> + + +module com { module sun { module star { module deployment { + +/** <type>thePackageManagerFactory</type> denotes the one and only + <type>XPackageManagerFactory</type> object to be used. + <p> + The component context entry is + <code> + /singletons/com.sun.star.deployment.thePackageManagerFactory + </code>. + </p> + + @since OOo 2.0.0 +*/ +singleton thePackageManagerFactory : XPackageManagerFactory; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/deployment/ui/LicenseDialog.idl b/offapi/com/sun/star/deployment/ui/LicenseDialog.idl new file mode 100644 index 000000000000..1ca9c7486f6c --- /dev/null +++ b/offapi/com/sun/star/deployment/ui/LicenseDialog.idl @@ -0,0 +1,60 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: LicenseDialog.idl,v $ + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_com_sun_star_deployment_ui_LicenseDialog_idl +#define INCLUDED_com_sun_star_deployment_ui_LicenseDialog_idl + +#include <com/sun/star/ui/dialogs/XExecutableDialog.idl> +#include <com/sun/star/awt/XWindow.idl> + + +module com { module sun { module star { module deployment { module ui { + +/** The <type>LicenseDialog</type> is used to display a license text. + + @since OOo 2.0.4 +*/ +service LicenseDialog : com::sun::star::ui::dialogs::XExecutableDialog +{ + /** Create a GUI using the specific parent window and focus on the + given context. + + @param xParent + parent window + @param licenseText + text to be displayed + */ + create( [in] com::sun::star::awt::XWindow xParent, + [in] string licenseText ); +}; + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl b/offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl new file mode 100644 index 000000000000..1993f190cb35 --- /dev/null +++ b/offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl @@ -0,0 +1,77 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PackageManagerDialog.idl,v $ + * $Revision: 1.8 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_com_sun_star_deployment_ui_PackageManagerDialog_idl +#define INCLUDED_com_sun_star_deployment_ui_PackageManagerDialog_idl + +#include <com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl> +#include <com/sun/star/awt/XWindow.idl> + + +module com { module sun { module star { module deployment { module ui { + +/** The <type>PackageManagerDialog</type> is used to visually manage installed + packages of the user and shared installation as well as currently open + documents. + + @since OOo 2.0.0 +*/ +service PackageManagerDialog : com::sun::star::ui::dialogs::XAsynchronousExecutableDialog +{ + /** Create a default GUI. + */ + createDefault(); + + /** Create a GUI using the specific parent window and focus on the + given context. + + @param xParent + parent window + @param focussedContext + context to be focussed + */ + create( [in] com::sun::star::awt::XWindow xParent, + [in] string focussedContext ); + + /** Create a GUI and pass the URL of the extension which shall be installed right away. + This constructor is intended for the case when unopkg is run as result of + clicking an extension in a file browser, etc. The extensions will always be installed + for the current user. + + @param extensionURL + URL of extension + */ + createAndInstall( [in] string extensionURL); + +}; + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl b/offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl new file mode 100644 index 000000000000..761070eb7443 --- /dev/null +++ b/offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2009 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#if ! defined INCLUDED_com_sun_star_deployment_ui_UpdateRequiredDialog_idl +#define INCLUDED_com_sun_star_deployment_ui_UpdateRequiredDialog_idl + +#include <com/sun/star/ui/dialogs/XExecutableDialog.idl> +#include <com/sun/star/awt/XWindow.idl> + + +module com { module sun { module star { module deployment { module ui { + +/** The <type>UpdateRequiredDialog</type> is used to show a list of extensions not compatible with this office version. + + @since OOo 3.2.0 +*/ +service UpdateRequiredDialog : com::sun::star::ui::dialogs::XExecutableDialog +{ + /** Create a GUI using the specific parent window and focus on the + given context. + + @param xParent + parent window + */ + create(); +}; + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/deployment/ui/makefile.mk b/offapi/com/sun/star/deployment/ui/makefile.mk new file mode 100644 index 000000000000..f733c762a80c --- /dev/null +++ b/offapi/com/sun/star/deployment/ui/makefile.mk @@ -0,0 +1,47 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.6 $ +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ = ..$/..$/..$/..$/.. + +PRJNAME=offapi + +TARGET = cssdeploymentui +PACKAGE = com$/sun$/star$/deployment$/ui + +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +IDLFILES = \ + PackageManagerDialog.idl \ + LicenseDialog.idl \ + UpdateRequiredDialog.idl + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk |