| 1234567891011121314151617181920212223242526272829303132333435363738 | 
							- // Copyright (c) 2012 The Chromium Authors. All rights reserved.
 
- // Use of this source code is governed by a BSD-style license that can be
 
- // found in the LICENSE file.
 
- #ifndef BASE_MAC_SCOPED_LAUNCH_DATA_H_
 
- #define BASE_MAC_SCOPED_LAUNCH_DATA_H_
 
- #include <launch.h>
 
- #include "base/scoped_generic.h"
 
- // This file uses launch_data_t and related APIs, which are deprecated with no
 
- // replacement.
 
- #pragma clang diagnostic push
 
- #pragma clang diagnostic ignored "-Wdeprecated-declarations"
 
- namespace base {
 
- namespace mac {
 
- namespace internal {
 
- struct ScopedLaunchDataTraits {
 
-   static launch_data_t InvalidValue() { return nullptr; }
 
-   static void Free(launch_data_t ldt) { launch_data_free(ldt); }
 
- };
 
- }  // namespace internal
 
- // Just like std::unique_ptr<> but for launch_data_t.
 
- using ScopedLaunchData =
 
-     ScopedGeneric<launch_data_t, internal::ScopedLaunchDataTraits>;
 
- }  // namespace mac
 
- }  // namespace base
 
- #pragma clang diagnostic pop  // -Wdeprecated-declarations
 
- #endif  // BASE_MAC_SCOPED_LAUNCH_DATA_H_
 
 
  |