diff options
Diffstat (limited to 'offapi/com/sun/star/deployment')
27 files changed, 2425 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 000000000..1a95466b7 --- /dev/null +++ b/offapi/com/sun/star/deployment/DependencyException.idl @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _COM_SUN_STAR_DEPLOYMENT_DEPENDENCYEXCEPTION_IDL +#define _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 + com::sun::star::task::XInteractionHandler.</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 empty, and none of the elements may be + `NULL`.</p> + */ + sequence< com::sun::star::xml::dom::XElement > UnsatisfiedDependencies; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/DeploymentException.idl b/offapi/com/sun/star/deployment/DeploymentException.idl new file mode 100644 index 000000000..786850513 --- /dev/null +++ b/offapi/com/sun/star/deployment/DeploymentException.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _com_sun_star_deployment_DeploymentException_idl +#define _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 + */ +exception DeploymentException : com::sun::star::uno::Exception +{ + /** reflects the cause of the error. Commonly an exception. + */ + any Cause; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/ExtensionManager.idl b/offapi/com/sun/star/deployment/ExtensionManager.idl new file mode 100644 index 000000000..27b6e5816 --- /dev/null +++ b/offapi/com/sun/star/deployment/ExtensionManager.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _com_sun_star_deployment_ExtensionManager_idl +#define _com_sun_star_deployment_ExtensionManager_idl + +#include <com/sun/star/deployment/XExtensionManager.idl> + + +module com { module sun { module star { module deployment { + +/** the ExtensionManager service. + + The component context entry is + <code> + /singletons/com.sun.star.deployment.ExtensionManager + </code>. + + @since OOo 3.3 +*/ +singleton ExtensionManager : XExtensionManager; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/ExtensionRemovedException.idl b/offapi/com/sun/star/deployment/ExtensionRemovedException.idl new file mode 100644 index 000000000..33cc71476 --- /dev/null +++ b/offapi/com/sun/star/deployment/ExtensionRemovedException.idl @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _COM_SUN_STAR_DEPLOYMENT_EXTENSIONREMOVEDEXCEPTION_IDL +#define _COM_SUN_STAR_DEPLOYMENT_EXTENSIONREMOVEDEXCEPTION_IDL + +#include <com/sun/star/uno/Exception.idl> + +module com { module sun { module star { module deployment { + +interface XPackage; + +/** + indicates that a function call with the given arguments is not supported + because the extension was removed. XPackage::isRemoved() will + return true on that object. + + @since OOo 3.3 +*/ +exception ExtensionRemovedException: com::sun::star::uno::Exception { + +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/InstallException.idl b/offapi/com/sun/star/deployment/InstallException.idl new file mode 100644 index 000000000..54f7b4a2c --- /dev/null +++ b/offapi/com/sun/star/deployment/InstallException.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _COM_SUN_STAR_DEPLOYMENT_INSTALLEXCEPTION_IDL +#define _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 + com::sun::star::task::XInteractionHandler.</p> + + @since OOo 2.2 +*/ +exception InstallException: com::sun::star::uno::Exception { + /** + the display name of the extension, which is to be installed. + + */ + string displayName; + + +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl b/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl new file mode 100644 index 000000000..ee43fdf66 --- /dev/null +++ b/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _COM_SUN_STAR_DEPLOYMENT_INVALIDREMOVEDPARAMETEREXCEPTION_IDL +#define _COM_SUN_STAR_DEPLOYMENT_INVALIDREMOVEDPARAMETEREXCEPTION_IDL + +#include <com/sun/star/uno/Exception.idl> + +module com { module sun { module star { module deployment { + +interface XPackage; + +/** + indicates that XPackageRegistry::bindPackage() was previously + called with a different value for the <code>removed</code> parameter and that + the XPackage object created by that call still exist. + + @since OOo 3.3 +*/ +exception InvalidRemovedParameterException: com::sun::star::uno::Exception { + /** the value of the <code>removed</code> parameter which was used in + XPackageRegistry::bindPackage() to create the currently + existing XPackage object. + */ + boolean PreviousValue; + /** + the XPackage that was already bound to the provided + <code>url</code> parameter during + XPackageRegistry::bindPackage(). + + <p>Must not be `NULL`.</p> + */ + XPackage Extension; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/LicenseException.idl b/offapi/com/sun/star/deployment/LicenseException.idl new file mode 100644 index 000000000..dc67bd967 --- /dev/null +++ b/offapi/com/sun/star/deployment/LicenseException.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _com_sun_star_deployment_LicenseException_idl +#define _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 agreeing to a license. + + @since OOo 2.0.4 + */ +exception LicenseException : com::sun::star::uno::Exception +{ + /** name of the extension. + + The display name of the extension. + See XPackage::getDisplayName() + */ + string ExtensionName; + /** contains the text of the license. + */ + string Text; + + /** contains the value of the attribute + `/description/registration/simple-license/@accept-by` + from the description.xml + */ + string AcceptBy; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/PackageInformationProvider.idl b/offapi/com/sun/star/deployment/PackageInformationProvider.idl new file mode 100644 index 000000000..59db3ddb0 --- /dev/null +++ b/offapi/com/sun/star/deployment/PackageInformationProvider.idl @@ -0,0 +1,36 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_deployment_PackageInformationProvider_idl__ +#define __com_sun_star_deployment_PackageInformationProvider_idl__ + +#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; + +}; }; }; }; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/PackageRegistryBackend.idl b/offapi/com/sun/star/deployment/PackageRegistryBackend.idl new file mode 100644 index 000000000..e80419b5c --- /dev/null +++ b/offapi/com/sun/star/deployment/PackageRegistryBackend.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _com_sun_star_deployment_PackageRegistryBackend_idl +#define _com_sun_star_deployment_PackageRegistryBackend_idl + +#include <com/sun/star/deployment/XPackageRegistry.idl> + + +module com { module sun { module star { module deployment { + +/** The PackageRegistryBackend service is used to bind + a specific type of XPackage which can be registered or revoked. + <p> + All PackageRegistryBackend objects + are related to a XPackageManager instance. + </p> + + @since OOo 2.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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/PlatformException.idl b/offapi/com/sun/star/deployment/PlatformException.idl new file mode 100644 index 000000000..be050b4b5 --- /dev/null +++ b/offapi/com/sun/star/deployment/PlatformException.idl @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _com_sun_star_deployment_PlatformException_idl +#define _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 + */ +exception PlatformException : com::sun::star::uno::Exception +{ + /** The package which does not support the current platform. + */ + XPackage package; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/Prerequisites.idl b/offapi/com/sun/star/deployment/Prerequisites.idl new file mode 100644 index 000000000..956ec2349 --- /dev/null +++ b/offapi/com/sun/star/deployment/Prerequisites.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_deployment_prerequisites_idl_ +#define __com_sun_star_deployment_prerequisites_idl_ + +module com { module sun { module star { module deployment { + +constants Prerequisites +{ + const long PLATFORM = 0x1; + const long DEPENDENCIES = 0x2; + const long LICENSE = 0x04; +}; + + +} ; } ; } ; } ; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/UpdateInformationEntry.idl b/offapi/com/sun/star/deployment/UpdateInformationEntry.idl new file mode 100644 index 000000000..c930d79e3 --- /dev/null +++ b/offapi/com/sun/star/deployment/UpdateInformationEntry.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_deployment_UpdateInformationEntry_idl__ +#define __com_sun_star_deployment_UpdateInformationEntry_idl__ + +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 XUpdateInformationProvider. + + @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; +}; + +}; }; }; }; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/UpdateInformationProvider.idl b/offapi/com/sun/star/deployment/UpdateInformationProvider.idl new file mode 100644 index 000000000..018ce4021 --- /dev/null +++ b/offapi/com/sun/star/deployment/UpdateInformationProvider.idl @@ -0,0 +1,36 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_deployment_UpdateInformationProvider_idl__ +#define __com_sun_star_deployment_UpdateInformationProvider_idl__ + +#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; + +}; }; }; }; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/VersionException.idl b/offapi/com/sun/star/deployment/VersionException.idl new file mode 100644 index 000000000..d9e74e67b --- /dev/null +++ b/offapi/com/sun/star/deployment/VersionException.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _COM_SUN_STAR_DEPLOYMENT_VERSIONEXCEPTION_IDL +#define _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 + com::sun::star::task::XInteractionHandler.</p> + + @since OOo 2.1 +*/ +exception VersionException: com::sun::star::uno::Exception { + /** + the version of the extension which is being installed. + */ + string NewVersion; + /** + the display name of the extension which is being installed. + */ + string NewDisplayName; + + /** + represents the already installed version of the deployment unit. + + <p>Must not be `NULL`.</p> + */ + XPackage Deployed; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/XExtensionManager.idl b/offapi/com/sun/star/deployment/XExtensionManager.idl new file mode 100644 index 000000000..f607e3bfa --- /dev/null +++ b/offapi/com/sun/star/deployment/XExtensionManager.idl @@ -0,0 +1,341 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _com_sun_star_deployment_XExtensionManager_idl +#define _com_sun_star_deployment_XExtensionManager_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> +#include <com/sun/star/beans/NamedValue.idl> + +module com { module sun { module star { module deployment { + +/** The XExtensionManager interface is used to manage extensions + in the user, shared and bundled repository. + + @see ExtensionManager + @since OOo 3.3 +*/ +interface XExtensionManager +{ + /** 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; + + + /** gets the supported XPackageTypeInfos. + + @return + supported XPackageTypeInfos. + */ + 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 extension. + + The properties argument is currently only used to suppress the license information + for shared extensions. + + @param url + package URL, must be UCB conform + @param properties + additional properties, for example, that the license is to be + suppressed (if supported by the extension) + @param repository + the name of the repository + @param xAbortChannel + abort channel to asynchronously abort the adding process, + or null + @param xCmdEnv + command environment for error and progress handling + @return + object representing the extension. + */ + XPackage addExtension( [in] string url, + [in] sequence<com::sun::star::beans::NamedValue> properties, + [in] string repository, + [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 extension. + + @param identifier + package identifier + @param fileName + package file name + @param repository + the name of the repository + @param xAbortChannel + abort channel to asynchronously abort the removing process, + or null + @param xCmdEnv + command environment for error and progress handling + */ + void removeExtension( + [in] string identifier, + [in] string fileName, + [in] string repository, + [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); + + + /** enable an extension. + + If the extension is not from the user repository then an + IllegalArgumentException is thrown. + + @param extension + the extension which is to be enabled. + @param xAbortChannel + abort channel to asynchronously abort the removing process, + or null + @param xCmdEnv + command environment for error and progress handling + */ + void enableExtension( + [in] XPackage extension, + [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); + + /** disable an extension. + + If the extension is not from the user repository then an + IllegalArgumentException is thrown. + + @param extension + the extension which is to be disabled + @param xAbortChannel + abort channel to asynchronously abort the removing process, + or null + @param xCmdEnv + command environment for error and progress handling + */ + void disableExtension( + [in] XPackage extension, + [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 all currently installed extensions, including disabled + user extensions. + + @param repository + the repository from which the extensions are returned + @param xAbortChannel + abort channel to asynchronously abort the removing process, + or null + @param xCmdEnv + command environment for error and progress handling + @return + all currently installed packages + */ + sequence<XPackage> getDeployedExtensions( + [in] string repository, + [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 an installed extensions. + + @param repository + the name of the repository + @param identifier + extension identifier + @param fileName + extension file name + @param xCmdEnv + command environment for error and progress handling + @return + XPackage object + */ + XPackage getDeployedExtension( + [in] string repository, + [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 extensions with the same identifier from all repositories. + + The extension at the first position in the returned sequence represents + the extension from the user repository. The next element is from the shared + and the last one is from the bundled repository. + If one repository does not contain this extension, then the respective + element is a null reference. + */ + sequence<XPackage> getExtensionsWithSameIdentifier( + [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); + + + /** returns a sequence containing all installed extensions. + + The members of the returned sequence correspond to an extension with a + particular extension identifier. The members are also sequences which + contain as many elements as there are repositories. Those are ordered + according to the priority of the repository. That is, the first member + is the extension from the user repository, the second is from the shared + repository and the last is from the bundled repository. + */ + sequence<sequence<XPackage> > getAllExtensions( + [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 extensions. Please keep in mind that all + registration status get lost. + <p> + Please use this in case of suspected cache inconsistencies only. + </p> + @param force + set to true when called during soffice bootstrap after cleaning + old extension cache + @param repository + the name of the repository + @param xAbortChannel + abort channel to asynchronously abort the adding process + @param xCmdEnv + command environment for error and progress handling + */ + void reinstallDeployedExtensions( + [in] boolean force, + [in] string repository, + [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); + + + /** synchronizes the extension database with the contents of the extensions + folder of shared and bundled extensions. + + Added extensions will be added to the database and removed extensions + will be removed from the database. + The active extensions are determined. That is, shared or bundled extensions + are not necessarily registered (XPackage::registerPackage()). + + @return + If true - then at least one extension was removed or added. Otherwise + nothing was changed. + */ + boolean synchronize( + [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 all extensions which are currently not in use + because the user did not accept the license. + + The function will not return any object for the user repository, because + a user extension will not be kept in the user repository if its license + is declined. Only extensions which are registered at start-up of OOo, + that is, shared and bundled extensions, can be returned. + + Extensions which allow the license to be suppressed, that is, it does not + need to be displayed, and which are installed with the corresponding option, + are also not returned. + + Extensions returned by these functions are not returned by + XExtensionManager::getDeployedExtension() + XExtensionManager::getDeployedExtensions() + XExtensionManager::getAllExtensions() + XExtensionManager::getExtensionsWithSameIdentifier() + */ + sequence<XPackage> getExtensionsWithUnacceptedLicenses( + [in] string repository, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + com::sun::star::lang::IllegalArgumentException); + + /** check if all prerequisites for the extension are fulfilled + and activates it, if possible. + */ + long checkPrerequisitesAndEnable( + [in] XPackage extension, + [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); + + /** determines if the current user has write access to the extensions folder + of the repository. + */ + boolean isReadOnlyRepository([in] string repository); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/XPackage.idl b/offapi/com/sun/star/deployment/XPackage.idl new file mode 100644 index 000000000..825e66082 --- /dev/null +++ b/offapi/com/sun/star/deployment/XPackage.idl @@ -0,0 +1,370 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _com_sun_star_deployment_XPackage_idl +#define _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/deployment/ExtensionRemovedException.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 + PackageRegistryBackend. + + @since OOo 2.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 + 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 hard disk. + + @param xAbortChannel + abort channel to asynchronously abort the registration process, + or `NULL` + @param xCmdEnv + command environment for error handling and other interaction. + @param alreadyInstalled + indicates that an extension with the same identifier is already installed. + + @return + `NULL` - all prerequisites are met. Otherwise, a value from + Prerequisites indicating what prerequisites are missing. + */ + long checkPrerequisites( + [in] com::sun::star::task::XAbortChannel xAbortChannel, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv, + [in] boolean alreadyInstalled) + raises (DeploymentException, + ExtensionRemovedException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::ucb::CommandAbortedException); + + /** checks if the dependencies for this package are still satisfied + + After updating the OpenOffice.org, some dependencies for packages might + no longer be satisfied. + + @since OOo 3.2 + + @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, + ExtensionRemovedException, + com::sun::star::ucb::CommandFailedException); + + + /** determines whether the package is currently 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 XPackage. + + NEVER call this directly. This is done by the extension manager if necessary. + + @param startup + indicates that registration is adapted to the particular + startup scenario. That is, it is set to `TRUE`, when called + from XExtensionManager::synchronize() + @param xAbortChannel + abort channel to asynchronously abort the registration process, + or `NULL` + @param xCmdEnv + command environment for error and progress handling + */ + void registerPackage( + [in] boolean startup, + [in] com::sun::star::task::XAbortChannel xAbortChannel, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + ExtensionRemovedException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::ucb::CommandAbortedException, + com::sun::star::lang::IllegalArgumentException); + + /** revokes this XPackage. + + NEVER call this directly. This is done by the extension manager if necessary. + + @param startup + indicates that registration is adapted to the particular + startup scenario. That is, it is set to `TRUE`, when called + from XExtensionManager::synchronize() + @param xAbortChannel + abort channel to asynchronously abort the registration process, + or `NULL` + @param xCmdEnv + command environment for error and progress handling + */ + void revokePackage( + [in] boolean startup, + [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 + `TRUE` if this package is a package bundle, `FALSE` otherwise + */ + boolean isBundle(); + + /** Gets packages of the bundle. + + If isRemoved() returns `TRUE` then getBundle may return an + empty sequence in case the object is not registered. + + @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() + raises (ExtensionRemovedException); + + /** 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() + raises (ExtensionRemovedException); + + /** returns a description string to describe the package. + + @return + description + */ + string getDescription() + raises (ExtensionRemovedException); + + /** returns a string containing the license text. + + @return + license + */ + string getLicenseText() + raises (DeploymentException, + ExtensionRemovedException); + + /** 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() + raises (ExtensionRemovedException); + /** returns the publisher info for the package, the strings + might be empty, if there is no publisher + + ::com::sun::star::beans::StringPair::First + represents the publisher name and + ::com::sun::star::beans::StringPair::Second + represents the URL to the publisher. + */ + + ::com::sun::star::beans::StringPair getPublisherInfo() + raises (ExtensionRemovedException); + /** returns the XPackageTypeInfo, 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 conforming + @param newTitle + new package name + @param nameClashAction + one of com::sun::star::ucb::NameClash + @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 ( + ExtensionRemovedException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::ucb::CommandAbortedException, + com::sun::star::ucb::ContentCreationException); + + /** 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 ) + raises (ExtensionRemovedException); + + /** returns the name of the repository where this object comes from. + */ + string getRepositoryName(); + + /** return a URL to a directory which contains the registration data. + + This data may be created when calling + XPackage::registerPackage(). If this is the case is + indicated by + com::sun::star::beans::Optional::IsPresent of the return + value. + If registration data are created during registration, but the package is + currently not registered, for example after calling + XPackage::revokePackage(), then + com::sun::star::beans::Optional::IsPresent is `TRUE` and + the com::sun::star::beans::Optional::Value may + be an empty string. + */ + com::sun::star::beans::Optional<string> getRegistrationDataURL() + raises (DeploymentException, ExtensionRemovedException); + + /** indicates if this object represents a removed extension or extension + item. This is the case when it was created by providing + `TRUE` for the <code>removed</code> parameter in the function + XPackageRegistry::bindPackage(). + */ + boolean isRemoved(); + +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/XPackageInformationProvider.idl b/offapi/com/sun/star/deployment/XPackageInformationProvider.idl new file mode 100644 index 000000000..2aac9bf75 --- /dev/null +++ b/offapi/com/sun/star/deployment/XPackageInformationProvider.idl @@ -0,0 +1,66 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_deployment_XPackageInformationProvider_idl__ +#define __com_sun_star_deployment_XPackageInformationProvider_idl__ + +#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 a 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 empty string will be returned. + */ + string getPackageLocation( [in] string extensionId ); + + /** check if there are updates available for an extension. + + @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 extension with their version. + */ + sequence< sequence< string > > getExtensionList(); +}; + +}; }; }; }; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/XPackageManager.idl b/offapi/com/sun/star/deployment/XPackageManager.idl new file mode 100644 index 000000000..1db19203e --- /dev/null +++ b/offapi/com/sun/star/deployment/XPackageManager.idl @@ -0,0 +1,313 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _com_sun_star_deployment_XPackageManager_idl +#define _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> +#include <com/sun/star/beans/NamedValue.idl> + + +module com { module sun { module star { module deployment { + +/** The XPackageManager interface is used to add or remove + packages to a specific repository. This interface represents a particular + repository. + Packages are deployable files, e.g. scripts or UNO components. + <p> + Adding a UNO package means that a copy of the package is stored + in the repository. + </p> + <p> + Removing a UNO package means that the previously added package is + removed from the repository. + </p> + <p> + All interface methods do neither register nor revoke an extension. + This happens exclusively by XExtensionManager. + </p> + <p> + Objects of this interface are created using the + XPackageManagerFactory service resp. the singleton + <code> + /singletons/com.sun.star.deployment.thePackageManagerFactory + </code>. + </p> + + @see thePackageManagerFactory + @since OOo 2.0 + @deprecated + Use XExtensionManager. +*/ +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, that is, + the name of the repository. + + @return + underlying deployment context + */ + string getContext(); + + /** gets the supported XPackageTypeInfos. + + @return + supported XPackageTypeInfos. + */ + 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 a UNO package. + + The properties argument is currently only used to suppress the license information + for shared extensions. + + + @param url + package URL, must be UCB conform + @param properties + additional properties, for example, that the license is to be + suppressed (if supported by the extension) + @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 + XPackage handle + */ + XPackage addPackage( [in] string url, + [in] sequence<com::sun::star::beans::NamedValue> properties, + [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); + + /** adds an extension. + + This copies the extension. If it was from the same repository, + which is represented by this XPackageManager interface, then + nothing happens. + + @param extension + + @param xAbortChannel + abort channel to asynchronously abort the adding process, + or null + @param xCmdEnv + command environment for error and progress handling + @return + XPackage handle + */ + XPackage importExtension( [in] XPackage extension, + [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 a 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 + XPackage 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 force + set to true when called during soffice bootstrap after cleaning + old extension cache + @param xAbortChannel + abort channel to asynchronously abort the adding process + @param xCmdEnv + command environment for error and progress handling + */ + void reinstallDeployedPackages( + [in] boolean force, + [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(); + + /** synchronizes the extension database with the contents of the extensions + folder. + + Added extensions will be added to the database and removed extensions + will be removed from the database. + + @param xAbortChannel + abort channel to asynchronously abort the adding process + @param xCmdEnv + command environment for error and progress handling + + @return + If true - then at least one extension was removed or added. Otherwise + nothing was changed. + */ + boolean synchronize([in] com::sun::star::task::XAbortChannel xAbortChannel, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + com::sun::star::ucb::ContentCreationException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::ucb::CommandAbortedException); + + + /** returns all extensions which are currently not in use + because the user did not accept the license. + + The function will not return any object for the user repository, because + a user extension will not be kept in the user repository if its license + is declined. Only extensions which are registered at start-up of OOo, + that is, shared and bundled extensions, can be returned. + + Extensions which allow the license to be suppressed, that is, it does not + need to be displayed, and which are installed with the corresponding option, + are also not returned. + */ + sequence<XPackage> getExtensionsWithUnacceptedLicenses( + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException); + + /** checks if the extension can be used. + + The extension must be managed by this package manager, that is, it must + be recorded in its database. The package manager calls + XPackage::checkPrerequisites and updates its data base with the + result. The result, which is from Prerequisites will be + returned. + */ + long checkPrerequisites( + [in] XPackage extension, + [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); + +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/XPackageManagerFactory.idl b/offapi/com/sun/star/deployment/XPackageManagerFactory.idl new file mode 100644 index 000000000..913a312a5 --- /dev/null +++ b/offapi/com/sun/star/deployment/XPackageManagerFactory.idl @@ -0,0 +1,94 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _com_sun_star_deployment_XPackageManagerFactory_idl +#define _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 XPackageManagerFactory interface is used to obtain + XPackageManager instances. + <p> + You have to use the singleton + <code> + /singletons/com.sun.star.deployment.thePackageManagerFactory + </code> + exclusively. + </p> + + @since OOo 2.0 + @deprecated + Use XExtensionManager. +*/ +interface XPackageManagerFactory +{ + /** Method to create (or reusing and already existing) + XPackageManager 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 + XPackageManager 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 + com::sun::star::lang::IllegalArgumentException. + </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 + XPackageManager 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/XPackageRegistry.idl b/offapi/com/sun/star/deployment/XPackageRegistry.idl new file mode 100644 index 000000000..8773d771e --- /dev/null +++ b/offapi/com/sun/star/deployment/XPackageRegistry.idl @@ -0,0 +1,115 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _com_sun_star_deployment_XPackageRegistry_idl +#define _com_sun_star_deployment_XPackageRegistry_idl + +#include <com/sun/star/deployment/XPackage.idl> +#include <com/sun/star/deployment/XPackageTypeInfo.idl> +#include <com/sun/star/deployment/InvalidRemovedParameterException.idl> +#include <com/sun/star/beans/StringPair.idl> + + +module com { module sun { module star { module deployment { + +/** Interface to bind a UNO package. + + @since OOo 2.0 +*/ +interface XPackageRegistry +{ + /** binds a package URL to a XPackage 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. + + Calling the function several time with the same parameters must result + in returning the same object. + + The file or folder at the location where url points to may not exist or + it was replaced. This can happen, for example, when a bundled extension + was removed by the setup and a user later starts OOo. Then the user data + may still contain all registration data of that extension, but the + actual extension files do not exist anymore. The registration data must + then be cleaned of all the remains of that extension. To do that one + creates an XPackage object on behalf of that extension and + calls XPackage::revokePackage(). The parameter + <code>removed</code> indicates this case. The returned object may not + rely on the file or folder to which refers <code>url</code>. Instead it + must use previously saved data to successfully carry out the revocation + of this object (XPackage::revokePackage()). + + The implementation must ensure that there is only one instance of + XPackage for the same <code>url</code> at any + time. Therefore calling bindPackage() again with the same + <code>url</code> but different <code>mediaType</code> (the exception is, + if previously an empty string was provided to cause the determination + of the media type) or <code>removed</code> parameters will cause an + exception. A com::sun::star::lang::IllegalArgumentException will be + thrown in case of a different <code>mediaType</code> parameter and a + InvalidRemovedParameterException is thrown if the + <code>removed</code> parameter is different. + + The <code>identifier</code> parameter must be provided when + <code>removed</code> = true. If not, then an + com::sun::star::lang::IllegalArgumentException will be thrown. + + @param url + package URL, must be UCB conform + @param mediaType + media type of package, empty string if to be detected + @param removed + @param identifier + the identifier of the extension + @param xCmdEnv + command environment for error and progress handling + @return + XPackage handle + */ + XPackage bindPackage( + [in] string url, + [in] string mediaType, + [in] boolean removed, + [in] string identifier, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, + InvalidRemovedParameterException, + com::sun::star::ucb::CommandFailedException, + com::sun::star::lang::IllegalArgumentException); + + /** gets the supported XPackageTypeInfos. + + @return + supported XPackageTypeInfos. + */ + sequence<XPackageTypeInfo> getSupportedPackageTypes(); + + void packageRemoved( + [in] string url, + [in] string mediaType) + raises (DeploymentException, + com::sun::star::lang::IllegalArgumentException); + +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/XPackageTypeInfo.idl b/offapi/com/sun/star/deployment/XPackageTypeInfo.idl new file mode 100644 index 000000000..85d6c49a0 --- /dev/null +++ b/offapi/com/sun/star/deployment/XPackageTypeInfo.idl @@ -0,0 +1,86 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _com_sun_star_deployment_XPackageTypeInfo_idl +#define _com_sun_star_deployment_XPackageTypeInfo_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/deployment/ExtensionRemovedException.idl> + +module com { module sun { module star { module deployment { + +/** Objects of this interface provide information about a package's type. + + @since OOo 2.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() + raises (ExtensionRemovedException); + + /** returns a short description string to describe a package type + (one line only). + + @return + description + */ + string getShortDescription() + raises (ExtensionRemovedException); + + /** returns a file filter string for the file picker user interface. + Both, the short description string and file filter string + will be passed to + com::sun::star::ui::dialogs::XFilterManager::appendFilter(). + + @return + file filter string + */ + string getFileFilter(); + + /** returns an icon for a package. + + @param highContrast + argument is ignored + @param smallIcon + argument is ignored + @return + empty any + @deprecated + */ + any getIcon( [in] boolean highContrast, [in] boolean smallIcon ); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/XUpdateInformationProvider.idl b/offapi/com/sun/star/deployment/XUpdateInformationProvider.idl new file mode 100644 index 000000000..882d59f80 --- /dev/null +++ b/offapi/com/sun/star/deployment/XUpdateInformationProvider.idl @@ -0,0 +1,105 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_deployment_XUpdateInformationProvider_idl__ +#define __com_sun_star_deployment_XUpdateInformationProvider_idl__ + +#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 immediately. + */ + void cancel(); + + /** Sets an interaction handler to be used for further operations. + + <p> + A default interaction handler is available as service + com::sun::star::task::InteractionHandler. + 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 UpdateInformationEntry. + */ + com::sun::star::container::XEnumeration getUpdateInformationEnumeration( + [in] sequence< string > repositories, + [in] string extensionId + ) raises ( com::sun::star::uno::Exception ); +}; + +}; }; }; }; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..e7a755168 --- /dev/null +++ b/offapi/com/sun/star/deployment/test/SmoketestCommandEnvironment.idl @@ -0,0 +1,37 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#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 smoke test 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 smoke test + */ + service SmoketestCommandEnvironment: ::com::sun::star::ucb::XCommandEnvironment; +};};};};}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/deployment/thePackageManagerFactory.idl b/offapi/com/sun/star/deployment/thePackageManagerFactory.idl new file mode 100644 index 000000000..7b9f106d6 --- /dev/null +++ b/offapi/com/sun/star/deployment/thePackageManagerFactory.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _com_sun_star_deployment_thePackageManagerFactory_idl +#define _com_sun_star_deployment_thePackageManagerFactory_idl + +#include <com/sun/star/deployment/XPackageManagerFactory.idl> + + +module com { module sun { module star { module deployment { + +/** thePackageManagerFactory denotes the one and only + XPackageManagerFactory object to be used. + <p> + The component context entry is + <code> + /singletons/com.sun.star.deployment.thePackageManagerFactory + </code>. + </p> + + @since OOo 2.0 + @deprecated + Use XExtensionManager. +*/ +singleton thePackageManagerFactory : XPackageManagerFactory; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..223a3086c --- /dev/null +++ b/offapi/com/sun/star/deployment/ui/LicenseDialog.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _com_sun_star_deployment_ui_LicenseDialog_idl +#define _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 LicenseDialog 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 extensionName + the display name of the extension + @param licenseText + text to be displayed + */ + create( [in] com::sun::star::awt::XWindow xParent, + [in] string extensionName, + [in] string licenseText ); +}; + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..6acb2487e --- /dev/null +++ b/offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _com_sun_star_deployment_ui_PackageManagerDialog_idl +#define _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 PackageManagerDialog is used to visually manage installed + packages of the user and shared installation as well as currently open + documents. + + @since OOo 2.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 focusedContext + context to be focused + */ + create( [in] com::sun::star::awt::XWindow xParent, + [in] string focusedContext ); + + /** 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..c3a70e0ae --- /dev/null +++ b/offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _com_sun_star_deployment_ui_UpdateRequiredDialog_idl +#define _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 UpdateRequiredDialog is used to show a list of extensions not compatible with this office version. + + @since OOo 3.2 +*/ +service UpdateRequiredDialog : com::sun::star::ui::dialogs::XExecutableDialog +{ + /** Create a GUI using the specific parent window and focus on the + given context. + + */ + create(); +}; + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |