[email protected] | 12dc3d4 | 2010-02-22 23:37:12 | [diff] [blame] | 1 | // Copyright (c) 2010 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. | ||||
4 | |||||
[email protected] | 646b9b9 | 2010-04-30 21:51:58 | [diff] [blame] | 5 | #ifndef CHROME_COMMON_APP_MODE_COMMON_MAC_H_ |
6 | #define CHROME_COMMON_APP_MODE_COMMON_MAC_H_ | ||||
[email protected] | 12dc3d4 | 2010-02-22 23:37:12 | [diff] [blame] | 7 | |
8 | #include <CoreFoundation/CoreFoundation.h> | ||||
9 | |||||
[email protected] | 646b9b9 | 2010-04-30 21:51:58 | [diff] [blame] | 10 | // This file contains constants, interfaces, etc. which are common to the |
11 | // browser application and the app mode loader (a.k.a. shim). | ||||
[email protected] | 12dc3d4 | 2010-02-22 23:37:12 | [diff] [blame] | 12 | |
13 | namespace app_mode { | ||||
14 | |||||
15 | // The ID under which app mode preferences will be recorded | ||||
16 | // ("org.chromium.Chromium" or "com.google.Chrome"). | ||||
17 | extern const CFStringRef kAppPrefsID; | ||||
18 | |||||
19 | // The key under which to record the path to the (user-visible) application | ||||
20 | // bundle; this key is recorded under the ID given by |kAppPrefsID|. | ||||
21 | extern const CFStringRef kLastRunAppBundlePathPrefsKey; | ||||
22 | |||||
[email protected] | adf0225 | 2010-05-18 22:09:40 | [diff] [blame] | 23 | // Current major/minor version numbers of |ChromeAppModeInfo| (defined below). |
[email protected] | 4f48637 | 2010-06-17 12:30:34 | [diff] [blame^] | 24 | const unsigned kCurrentChromeAppModeInfoMajorVersion = 1; |
25 | const unsigned kCurrentChromeAppModeInfoMinorVersion = 0; | ||||
[email protected] | adf0225 | 2010-05-18 22:09:40 | [diff] [blame] | 26 | |
27 | // The structure used to pass information from the app mode loader to the | ||||
28 | // (browser) framework. This is versioned using major and minor version numbers, | ||||
29 | // written below as v<major>.<minor>. Version-number checking is done by the | ||||
30 | // framework, and the framework must accept all structures with the same major | ||||
31 | // version number. It may refuse to load if the major version of the structure | ||||
32 | // is different from the one it accepts. | ||||
33 | struct ChromeAppModeInfo { | ||||
34 | // Major and minor version number of this structure. | ||||
35 | unsigned major_version; // Required: all versions | ||||
36 | unsigned minor_version; // Required: all versions | ||||
37 | |||||
38 | // Original |argc| and |argv|. | ||||
[email protected] | 4f48637 | 2010-06-17 12:30:34 | [diff] [blame^] | 39 | int argc; // Required: v1.0 |
40 | char** argv; // Required: v1.0 | ||||
[email protected] | adf0225 | 2010-05-18 22:09:40 | [diff] [blame] | 41 | |
42 | // Versioned path to the browser which is being loaded. | ||||
[email protected] | 4f48637 | 2010-06-17 12:30:34 | [diff] [blame^] | 43 | char* chrome_versioned_path; // Required: v1.0 |
[email protected] | adf0225 | 2010-05-18 22:09:40 | [diff] [blame] | 44 | |
45 | // Information about the App Mode shortcut: | ||||
46 | |||||
47 | // Path to the App Mode Loader application bundle originally run. | ||||
[email protected] | 4f48637 | 2010-06-17 12:30:34 | [diff] [blame^] | 48 | char* app_mode_bundle_path; // Optional: v1.0 |
[email protected] | adf0225 | 2010-05-18 22:09:40 | [diff] [blame] | 49 | |
50 | // Short ID string, preferably derived from |app_mode_short_name|. Should be | ||||
51 | // safe for the file system. | ||||
[email protected] | 4f48637 | 2010-06-17 12:30:34 | [diff] [blame^] | 52 | char* app_mode_id; // Required: v1.0 |
[email protected] | adf0225 | 2010-05-18 22:09:40 | [diff] [blame] | 53 | |
54 | // Short (e.g., one-word) UTF8-encoded name for the shortcut. | ||||
[email protected] | 4f48637 | 2010-06-17 12:30:34 | [diff] [blame^] | 55 | char* app_mode_short_name; // Optional: v1.0 |
[email protected] | adf0225 | 2010-05-18 22:09:40 | [diff] [blame] | 56 | |
57 | // Unrestricted (e.g., several-word) UTF8-encoded name for the shortcut. | ||||
[email protected] | 4f48637 | 2010-06-17 12:30:34 | [diff] [blame^] | 58 | char* app_mode_name; // Optional: v1.0 |
[email protected] | adf0225 | 2010-05-18 22:09:40 | [diff] [blame] | 59 | |
60 | // URL for the shortcut. Must be a valid URL. | ||||
[email protected] | 4f48637 | 2010-06-17 12:30:34 | [diff] [blame^] | 61 | char* app_mode_url; // Required: v1.0 |
[email protected] | adf0225 | 2010-05-18 22:09:40 | [diff] [blame] | 62 | }; |
63 | |||||
[email protected] | 12dc3d4 | 2010-02-22 23:37:12 | [diff] [blame] | 64 | } // namespace app_mode |
65 | |||||
[email protected] | 646b9b9 | 2010-04-30 21:51:58 | [diff] [blame] | 66 | #endif // CHROME_COMMON_APP_MODE_COMMON_MAC_H_ |