Home | History | Annotate | Download | only in mac
      1 // Copyright (c) 2012 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 
      5 #ifndef CHROME_COMMON_MAC_APP_MODE_CHROME_LOCATOR_H_
      6 #define CHROME_COMMON_MAC_APP_MODE_CHROME_LOCATOR_H_
      7 
      8 #include <CoreFoundation/CoreFoundation.h>
      9 
     10 #include "base/strings/string16.h"
     11 
     12 @class NSString;
     13 
     14 namespace base {
     15 class FilePath;
     16 }
     17 
     18 namespace app_mode {
     19 
     20 // Given a bundle id, return the path of the corresponding bundle.
     21 // Returns true if the bundle was found, false otherwise.
     22 bool FindBundleById(NSString* bundle_id, base::FilePath* out_bundle);
     23 
     24 // Given the path to the Chrome bundle, and an optional framework version, read
     25 // the following information:
     26 // |executable_path| - Path to the Chrome executable.
     27 // |version_path| - |chrome_bundle|/Contents/Versions/|raw_version_str|/
     28 // |framework_shlib_path| - Path to the chrome framework's shared library (not
     29 //                          the framework directory).
     30 // If |version_str| is not given, this will read the current Chrome version from
     31 // the bundle's plist.
     32 // Returns true if all information read succesfuly, false otherwise.
     33 bool GetChromeBundleInfo(const base::FilePath& chrome_bundle,
     34                          const std::string& version_str,
     35                          base::FilePath* executable_path,
     36                          base::FilePath* version_path,
     37                          base::FilePath* framework_shlib_path);
     38 
     39 }  // namespace app_mode
     40 
     41 #endif  // CHROME_COMMON_MAC_APP_MODE_CHROME_LOCATOR_H_
     42