1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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.
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.
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
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
);
74 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */