| // Copyright 2018 The Chromium Authors | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #ifndef SANDBOX_MAC_SYSTEM_SERVICES_H_ | 
 | #define SANDBOX_MAC_SYSTEM_SERVICES_H_ | 
 |  | 
 | #include "sandbox/mac/seatbelt_export.h" | 
 |  | 
 | namespace sandbox { | 
 |  | 
 | // Tells LaunchServices that the process is not a normal GUI application, which | 
 | // permits the process to call into various Carbon services without requiring | 
 | // an ASN. This marks the process as a "daemon". If the process is currently | 
 | // connected to LaunchServices, the connection is closed and the system is | 
 | // instructed to not attempt to connect again. This does not alter the sandbox | 
 | // policy (i.e., direct lookup requests to launchd will not be affected), but | 
 | // it instructs system frameworks to not attempt to connect. | 
 | SEATBELT_EXPORT void DisableLaunchServices(); | 
 |  | 
 | // Disables the CoresServices CheckFix list. CoreServices maintains a | 
 | // compatability database of bugs and workarounds by bundle ID. The system | 
 | // depends on check-in in to LaunchServices to obtain a shared memory mapping of | 
 | // the database, but if that fails (e.g. under the sandbox), it scans entries | 
 | // in /System/Library for individual bug fix lists. This call disables the | 
 | // CheckFix list. | 
 | SEATBELT_EXPORT void DisableCoreServicesCheckFix(); | 
 |  | 
 | }  // namespace sandbox | 
 |  | 
 | #endif  // SANDBOX_MAC_SYSTEM_SERVICES_H_ |