LibreOffice Module desktop (master) 1
dp_commandenvironments.hxx
Go to the documentation of this file.
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#pragma once
21
23#include <com/sun/star/task/XInteractionHandler.hpp>
24#include <com/sun/star/task/XInteractionRequest.hpp>
25#include <com/sun/star/ucb/XProgressHandler.hpp>
26#include <com/sun/star/ucb/XCommandEnvironment.hpp>
27
28
29namespace dp_manager {
30
36 : public ::cppu::WeakImplHelper< css::ucb::XCommandEnvironment,
37 css::task::XInteractionHandler,
38 css::ucb::XProgressHandler >
39{
40 css::uno::Reference< css::task::XInteractionHandler> m_forwardHandler;
41protected:
42 void handle_(bool approve,
43 css::uno::Reference< css::task::XInteractionRequest> const & xRequest );
44public:
45 virtual ~BaseCommandEnv() override;
48 css::uno::Reference< css::task::XInteractionHandler> const & handler);
49
50 // XCommandEnvironment
51 virtual css::uno::Reference<css::task::XInteractionHandler > SAL_CALL
52 getInteractionHandler() override;
53 virtual css::uno::Reference<css::ucb::XProgressHandler >
54 SAL_CALL getProgressHandler() override;
55
56 // XInteractionHandler
57 virtual void SAL_CALL handle(
58 css::uno::Reference<css::task::XInteractionRequest > const & xRequest ) override;
59
60 // XProgressHandler
61 virtual void SAL_CALL push( css::uno::Any const & Status ) override;
62 virtual void SAL_CALL update( css::uno::Any const & Status ) override;
63 virtual void SAL_CALL pop() override;
64};
65
67{
68public:
70 explicit TmpRepositoryCommandEnv(css::uno::Reference< css::task::XInteractionHandler> const & handler);
71
72// XInteractionHandler
73 virtual void SAL_CALL handle(
74 css::uno::Reference<css::task::XInteractionRequest > const & xRequest ) override;
75
76};
77
83{
84private:
85 OUString m_repository;
87public:
89 css::uno::Reference< css::task::XInteractionHandler> const & handler,
90 bool bSuppressLicense,
91 OUString repository);
92
93// XInteractionHandler
94 virtual void SAL_CALL handle(
95 css::uno::Reference<css::task::XInteractionRequest > const & xRequest ) override;
96
97};
98
104{
105
106public:
107 explicit NoLicenseCommandEnv(css::uno::Reference< css::task::XInteractionHandler> const & handler);
108
109// XInteractionHandler
110 virtual void SAL_CALL handle(
111 css::uno::Reference<css::task::XInteractionRequest > const & xRequest ) override;
112
113};
114
115/* For use in XExtensionManager::addExtension in the call to
116 XPackage::checkPrerequisites
117 It prevents all user interactions. The license is always accepted.
118 It remembers if there was a platform or a dependency exception in
119 the member m_bException. if there was any other exception then m_bUnknownException
120 is set.
121
122 */
124{
125public:
127 // XInteractionHandler
128 virtual void SAL_CALL handle(
129 css::uno::Reference<css::task::XInteractionRequest > const & xRequest ) override;
130
131 // Set to true if a PlatformException or a DependencyException were handled.
132 css::uno::Any m_Exception;
133 // Set to true if an unknown exception was handled.
134 css::uno::Any m_UnknownException;
135};
136
137}
138
139/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
This command environment is to be used when an extension is temporarily stored in the "tmp" repositor...
void handle_(bool approve, css::uno::Reference< css::task::XInteractionRequest > const &xRequest)
virtual css::uno::Reference< css::task::XInteractionHandler > SAL_CALL getInteractionHandler() override
css::uno::Reference< css::task::XInteractionHandler > m_forwardHandler
virtual void SAL_CALL pop() override
virtual void SAL_CALL push(css::uno::Any const &Status) override
virtual css::uno::Reference< css::ucb::XProgressHandler > SAL_CALL getProgressHandler() override
BaseCommandEnv(css::uno::Reference< css::task::XInteractionHandler > const &handler)
virtual void SAL_CALL update(css::uno::Any const &Status) override
virtual void SAL_CALL handle(css::uno::Reference< css::task::XInteractionRequest > const &xRequest) override
this class is for use in XPackageManager::synchronize.
LicenseCommandEnv(css::uno::Reference< css::task::XInteractionHandler > const &handler, bool bSuppressLicense, OUString repository)
virtual void SAL_CALL handle(css::uno::Reference< css::task::XInteractionRequest > const &xRequest) override
this class is for use in XPackageManager::checkPrerequisites
virtual void SAL_CALL handle(css::uno::Reference< css::task::XInteractionRequest > const &xRequest) override
NoLicenseCommandEnv(css::uno::Reference< css::task::XInteractionHandler > const &handler)
virtual void SAL_CALL handle(css::uno::Reference< css::task::XInteractionRequest > const &xRequest) override
virtual void SAL_CALL handle(css::uno::Reference< css::task::XInteractionRequest > const &xRequest) override