Version 6.4.0.3, tag libreoffice-6.4.0.3
[LibreOffice.git] / desktop / source / deployment / inc / dp_identifier.hxx
blob16d95c57baf9a92846d195edbbeb5d3f499c5e59
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
20 #ifndef INCLUDED_DESKTOP_SOURCE_DEPLOYMENT_INC_DP_IDENTIFIER_HXX
21 #define INCLUDED_DESKTOP_SOURCE_DEPLOYMENT_INC_DP_IDENTIFIER_HXX
23 #include <sal/config.h>
25 #include <boost/optional.hpp>
26 #include <com/sun/star/uno/Reference.hxx>
28 #include "dp_misc_api.hxx"
30 namespace com { namespace sun { namespace star { namespace deployment {
31 class XPackage;
32 } } } }
34 namespace dp_misc {
36 /**
37 Generates an identifier from an optional identifier.
39 @param optional
40 an optional identifier
42 @param fileName
43 a file name
45 @return
46 the given optional identifier if present, otherwise a legacy identifier based
47 on the given file name
49 DESKTOP_DEPLOYMENTMISC_DLLPUBLIC OUString generateIdentifier(
50 ::boost::optional< OUString > const & optional,
51 OUString const & fileName);
53 /**
54 Gets the identifier of a package.
56 @param package
57 a non-null package
59 @return
60 the explicit identifier of the given package if present, otherwise the
61 implicit legacy identifier of the given package
63 @throws css::uno::RuntimeException
65 DESKTOP_DEPLOYMENTMISC_DLLPUBLIC OUString getIdentifier(
66 css::uno::Reference< css::deployment::XPackage >
67 const & package);
69 /**
70 Generates a legacy identifier based on a file name.
72 @param fileName
73 a file name
75 @return
76 a legacy identifier based on the given file name
78 DESKTOP_DEPLOYMENTMISC_DLLPUBLIC OUString generateLegacyIdentifier(
79 OUString const & fileName);
83 #endif
85 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */