1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 *   Licensed to the Apache Software Foundation (ASF) under one or more
12 *   contributor license agreements. See the NOTICE file distributed
13 *   with this work for additional information regarding copyright
14 *   ownership. The ASF licenses this file to you under the Apache
15 *   License, Version 2.0 (the "License"); you may not use this file
16 *   except in compliance with the License. You may obtain a copy of
17 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#ifndef _com_sun_star_deployment_XPackageManagerFactory_idl
21#define _com_sun_star_deployment_XPackageManagerFactory_idl
22
23#include <com/sun/star/lang/IllegalArgumentException.idl>
24#include <com/sun/star/deployment/XPackageManager.idl>
25
26
27module com { module sun { module star { module deployment {
28
29/** The XPackageManagerFactory interface is used to obtain
30    XPackageManager instances.
31    <p>
32    You have to use the singleton
33    <code>
34    /singletons/com.sun.star.deployment.thePackageManagerFactory
35    </code>
36    exclusively.
37    </p>
38
39    @since OOo 2.0
40    @deprecated
41    Use XExtensionManager.
42*/
43interface XPackageManagerFactory
44{
45    /** Method to create (or reusing and already existing)
46        XPackageManager object to add or remove UNO packages
47        persistently.
48        <p>
49        Packages for context strings <code>"user"</code> and
50        <code>"shared"</code> will be registered and
51        revoked persistently.
52        </p>
53        <!-- p>
54        Document contexts (<code>"vnd.sun.star.tdoc:..."</code>) will get a
55        XPackageManager object that stores packages
56        in the given document and modify the manifest.
57        </p -->
58        <p>
59        Context strings other than <code>"user"</code>, <code>"shared"</code>
60        <!-- or <code>vnd.sun.star.tdoc</code --> will last in an
61        com::sun::star::lang::IllegalArgumentException.
62        </p>
63
64        @param context
65               context string, e.g.
66               <ul>
67               <li><code>"user"</code>
68                   => persistent storage and registration into installation's
69                      user layer
70               </li>
71               <li><code>"shared"</code>
72                   => persistent storage and registration into installation's
73                      shared layer
74               </li>
75               <!-- li><code>"vnd.sun.star.tdoc:///4711/uno_packages"</code>
76                        (open document)
77                   => transient storage in folder uno_packages
78                      and transient registration
79               </li -->
80               </ul>
81        @return
82               XPackageManager object
83        @throws ::com::sun::star::lang::IllegalArgumentException
84                in case of an invalid context
85    */
86    XPackageManager getPackageManager( [in] string context )
87        raises (com::sun::star::lang::IllegalArgumentException);
88};
89
90}; }; }; };
91
92#endif
93
94/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
95