| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // This file provides forward declarations for XPC symbols that are not | 5 // This file provides forward declarations for XPC symbols that are not |
| 6 // present in the 10.6 SDK. It uses generate_stubs to produce code to | 6 // present in the 10.6 SDK. It uses generate_stubs to produce code to |
| 7 // dynamically load the libxpc.dylib library and set up a stub table, with | 7 // dynamically load the libxpc.dylib library and set up a stub table, with |
| 8 // the same names as the real XPC functions. | 8 // the same names as the real XPC functions. |
| 9 | 9 |
| 10 #ifndef SANDBOX_MAC_XPC_H_ | 10 #ifndef SANDBOX_MAC_XPC_H_ |
| 11 #define SANDBOX_MAC_XPC_H_ | 11 #define SANDBOX_MAC_XPC_H_ |
| 12 | 12 |
| 13 #include <AvailabilityMacros.h> |
| 13 #include <mach/mach.h> | 14 #include <mach/mach.h> |
| 14 | 15 |
| 15 #include "sandbox/sandbox_export.h" | 16 #include "sandbox/sandbox_export.h" |
| 16 | 17 |
| 17 // C++ library loader. | |
| 18 #include "sandbox/mac/xpc_stubs.h" | |
| 19 | |
| 20 // Declares XPC object types. This includes <xpc/xpc.h> if available. | 18 // Declares XPC object types. This includes <xpc/xpc.h> if available. |
| 21 #include "sandbox/mac/xpc_stubs_header.fragment" | 19 #include "sandbox/mac/xpc_stubs_header.fragment" |
| 22 | 20 |
| 23 #if !defined(MAC_OS_X_VERSION_10_7) || \ | 21 #if !defined(MAC_OS_X_VERSION_10_7) || \ |
| 24 MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7 | 22 MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7 |
| 25 | 23 |
| 24 // C++ library loader. |
| 25 #include "sandbox/mac/xpc_stubs.h" |
| 26 |
| 26 extern "C" { | 27 extern "C" { |
| 27 // Signatures for XPC public functions that are loaded by xpc_stubs.h. | 28 // Signatures for XPC public functions that are loaded by xpc_stubs.h. |
| 28 #include "sandbox/mac/xpc_stubs.sig" | 29 #include "sandbox/mac/xpc_stubs.sig" |
| 29 // Signatures for private XPC functions. | 30 // Signatures for private XPC functions. |
| 30 #include "sandbox/mac/xpc_private_stubs.sig" | 31 #include "sandbox/mac/xpc_private_stubs.sig" |
| 31 } // extern "C" | 32 } // extern "C" |
| 32 | 33 |
| 33 #else | 34 #else |
| 34 | 35 |
| 35 // Signatures for private XPC functions. | 36 // Signatures for private XPC functions. |
| 36 extern "C" { | 37 extern "C" { |
| 37 #include "sandbox/mac/xpc_private_stubs.sig" | 38 #include "sandbox/mac/xpc_private_stubs.sig" |
| 38 } // extern "C" | 39 } // extern "C" |
| 39 | 40 |
| 40 #endif | 41 #endif |
| 41 | 42 |
| 42 namespace sandbox { | 43 namespace sandbox { |
| 43 | 44 |
| 44 // Dynamically loads the XPC library. | 45 // Dynamically loads the XPC library. |
| 45 bool SANDBOX_EXPORT InitializeXPC(); | 46 bool SANDBOX_EXPORT InitializeXPC(); |
| 46 | 47 |
| 47 } // namespace sandbox | 48 } // namespace sandbox |
| 48 | 49 |
| 49 #endif // SANDBOX_MAC_XPC_H_ | 50 #endif // SANDBOX_MAC_XPC_H_ |
| OLD | NEW |