1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef APPS_LAUNCHER_H_
6 #define APPS_LAUNCHER_H_
11 #include "extensions/common/constants.h"
21 namespace extensions
{
27 // Launches the platform app |extension|. Creates appropriate launch data for
28 // the |command_line| fields present. |extension| and |profile| must not be
29 // NULL. An empty |command_line| means there is no launch data. If non-empty,
30 // |current_directory| is used to expand any relative paths on the command line.
31 // |source| is one of the enumerated values which trace how the app is launched.
32 void LaunchPlatformAppWithCommandLine(Profile
* profile
,
33 const extensions::Extension
* extension
,
34 const base::CommandLine
& command_line
,
35 const base::FilePath
& current_directory
,
36 extensions::AppLaunchSource source
);
38 // Launches the platform app |extension| by issuing an onLaunched event
39 // with the contents of |file_path| available through the launch data.
40 void LaunchPlatformAppWithPath(Profile
* profile
,
41 const extensions::Extension
* extension
,
42 const base::FilePath
& file_path
);
44 // Launches the platform app |extension|. |source| tells us how the app is
46 void LaunchPlatformApp(Profile
* profile
,
47 const extensions::Extension
* extension
,
48 extensions::AppLaunchSource source
);
50 // Launches the platform app |extension| with |handler_id| and the contents of
51 // |file_paths| available through the launch data. |handler_id| corresponds to
52 // the id of the file_handlers item in the manifest that resulted in a match
53 // that triggered this launch.
54 void LaunchPlatformAppWithFileHandler(
56 const extensions::Extension
* extension
,
57 const std::string
& handler_id
,
58 const std::vector
<base::FilePath
>& file_paths
);
60 // Launches the platform app |extension| with |handler_id|, |url| and
61 // |referrer_url| available through the launch data. |handler_id| corresponds to
62 // the id of the file_handlers item in the manifest that resulted in a match
63 // that triggered this launch.
64 void LaunchPlatformAppWithUrl(Profile
* profile
,
65 const extensions::Extension
* extension
,
66 const std::string
& handler_id
,
68 const GURL
& referrer_url
);
70 void RestartPlatformApp(Profile
* profile
,
71 const extensions::Extension
* extension
);
75 #endif // APPS_LAUNCHER_H_