File: | ucbhelper/source/provider/cancelcommandexecution.cxx |
Location: | line 103, column 19 |
Description: | Called C++ object pointer is null |
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 | ||||
21 | /************************************************************************** | |||
22 | TODO | |||
23 | ************************************************************************** | |||
24 | ||||
25 | *************************************************************************/ | |||
26 | #include <osl/diagnose.h> | |||
27 | #include <cppuhelper/exc_hlp.hxx> | |||
28 | #include <com/sun/star/ucb/CommandFailedException.hpp> | |||
29 | #include <com/sun/star/ucb/XCommandEnvironment.hpp> | |||
30 | #include <ucbhelper/interactionrequest.hxx> | |||
31 | #include <ucbhelper/cancelcommandexecution.hxx> | |||
32 | #include <ucbhelper/simpleioerrorrequest.hxx> | |||
33 | ||||
34 | using namespace com::sun::star; | |||
35 | ||||
36 | namespace ucbhelper | |||
37 | { | |||
38 | ||||
39 | //========================================================================= | |||
40 | void cancelCommandExecution( const uno::Any & rException, | |||
41 | const uno::Reference< | |||
42 | ucb::XCommandEnvironment > & xEnv ) | |||
43 | throw( uno::Exception ) | |||
44 | { | |||
45 | if ( xEnv.is() ) | |||
46 | { | |||
47 | uno::Reference< | |||
48 | task::XInteractionHandler > xIH = xEnv->getInteractionHandler(); | |||
49 | if ( xIH.is() ) | |||
50 | { | |||
51 | rtl::Reference< ucbhelper::InteractionRequest > xRequest | |||
52 | = new ucbhelper::InteractionRequest( rException ); | |||
53 | ||||
54 | uno::Sequence< uno::Reference< task::XInteractionContinuation > > | |||
55 | aContinuations( 1 ); | |||
56 | aContinuations[ 0 ] | |||
57 | = new ucbhelper::InteractionAbort( xRequest.get() ); | |||
58 | ||||
59 | xRequest->setContinuations( aContinuations ); | |||
60 | ||||
61 | xIH->handle( xRequest.get() ); | |||
62 | ||||
63 | rtl::Reference< ucbhelper::InteractionContinuation > xSelection | |||
64 | = xRequest->getSelection(); | |||
65 | ||||
66 | if ( xSelection.is() ) | |||
67 | throw ucb::CommandFailedException( | |||
68 | rtl::OUString(), | |||
69 | uno::Reference< uno::XInterface >(), | |||
70 | rException ); | |||
71 | } | |||
72 | } | |||
73 | ||||
74 | cppu::throwException( rException ); | |||
75 | ||||
76 | OSL_FAIL( "Return from cppu::throwException call!!!" )do { if (true && (((sal_Bool)1))) { sal_detail_logFormat ((SAL_DETAIL_LOG_LEVEL_WARN), ("legacy.osl"), ("/usr/local/src/libreoffice/ucbhelper/source/provider/cancelcommandexecution.cxx" ":" "76" ": "), "%s", "Return from cppu::throwException call!!!" ); } } while (false); | |||
77 | throw uno::RuntimeException(); | |||
78 | } | |||
79 | ||||
80 | ||||
81 | //========================================================================= | |||
82 | void cancelCommandExecution( const ucb::IOErrorCode eError, | |||
83 | const uno::Sequence< uno::Any > & rArgs, | |||
84 | const uno::Reference< | |||
85 | ucb::XCommandEnvironment > & xEnv, | |||
86 | const rtl::OUString & rMessage, | |||
87 | const uno::Reference< | |||
88 | ucb::XCommandProcessor > & xContext ) | |||
89 | throw( uno::Exception ) | |||
90 | { | |||
91 | rtl::Reference< ucbhelper::SimpleIOErrorRequest > xRequest | |||
92 | = new ucbhelper::SimpleIOErrorRequest( | |||
93 | eError, rArgs, rMessage, xContext ); | |||
94 | if ( xEnv.is() ) | |||
| ||||
95 | { | |||
96 | uno::Reference< | |||
97 | task::XInteractionHandler > xIH = xEnv->getInteractionHandler(); | |||
98 | if ( xIH.is() ) | |||
99 | { | |||
100 | xIH->handle( xRequest.get() ); | |||
101 | ||||
102 | rtl::Reference< ucbhelper::InteractionContinuation > xSelection | |||
103 | = xRequest->getSelection(); | |||
| ||||
104 | ||||
105 | if ( xSelection.is() ) | |||
106 | throw ucb::CommandFailedException( rtl::OUString(), | |||
107 | xContext, | |||
108 | xRequest->getRequest() ); | |||
109 | } | |||
110 | } | |||
111 | ||||
112 | cppu::throwException( xRequest->getRequest() ); | |||
113 | ||||
114 | OSL_FAIL( "Return from cppu::throwException call!!!" )do { if (true && (((sal_Bool)1))) { sal_detail_logFormat ((SAL_DETAIL_LOG_LEVEL_WARN), ("legacy.osl"), ("/usr/local/src/libreoffice/ucbhelper/source/provider/cancelcommandexecution.cxx" ":" "114" ": "), "%s", "Return from cppu::throwException call!!!" ); } } while (false); | |||
115 | throw uno::RuntimeException(); | |||
116 | } | |||
117 | ||||
118 | } | |||
119 | ||||
120 | /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |