// Copyright 2016 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_DISPATCH_OBJECT_H_ #define BASE_MAC_SCOPED_DISPATCH_OBJECT_H_ #include #include "base/mac/scoped_typeref.h" namespace base { namespace internal { template struct ScopedDispatchObjectTraits { static T InvalidValue() { return nullptr; } static T Retain(T object) { dispatch_retain(object); return object; } static void Release(T object) { dispatch_release(object); } }; } // namepsace internal template using ScopedDispatchObject = ScopedTypeRef>; } // namespace base #endif // BASE_MAC_SCOPED_DISPATCH_OBJECT_H_