cid#1640468 Dereference after null check
[LibreOffice.git] / offapi / com / sun / star / system / XSystemShellExecute.idl
blob65b17c0b619f81093253c04c3ca78ea91469085a
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 .
21 module com { module sun { module star { module system {
23 /** Specifies an interface for executing a system command.
27 published interface XSystemShellExecute: com::sun::star::uno::XInterface
29 /** Executes an arbitrary system command.
31 There are generally two modes of operation for this function:
33 With `URIS_ONLY` among the passed-in `nFlags`, the passed-in `aCommand`
34 must be a URI that is opened in an
35 "only do secure things, make sure not to execute potentially dangerous code" way
36 (e.g., instead of running an arbitrary app, open a window showing the location of the app).
38 Without `URIS_ONLY` among the passed-in `nFlags`, the passed-in `aCommand` must be a
39 system pathname of an executable to run.
41 @param aCommand
42 Specifies the command to execute. This may be an executable file or a
43 document which is registered with an application on a specific platform,
44 so that the platform knows what application to launch for that document.
45 If the command specifies a path to an executable, etc, this has to be
46 a system specific path.
48 @param aParameter
49 Specifies a list of space separated parameters. The method does not
50 validate the given parameters, but only passes it as a parameter to the
51 specified command.
53 @param nFlags
54 Specifies different flags to control the execution of this method, for example,
55 avoid showing system error messages, in case of failures, etc.
57 @throws com::sun::star::lang::IllegalArgumentException
58 when the specified flags are wrong or exclude each other; also thrown,
59 with an ArgumentPosition of 0, when nFlags contains URIS_ONLY and
60 aCommand is not an absolute URI reference
62 @throws com::sun::star::system::SystemShellExecuteException
63 in the case of errors when trying to executed the specified command.
65 @see com::sun::star::system::SystemShellExecuteFlags
67 void execute( [in] string aCommand, [in] string aParameter, [in] long nFlags )
68 raises( ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::system::SystemShellExecuteException );
72 }; }; }; };
74 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */