// Copyright 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_CFFILEDESCRIPTORREF_H_
#define BASE_MAC_SCOPED_CFFILEDESCRIPTORREF_H_

#include <CoreFoundation/CoreFoundation.h>

#include "base/scoped_generic.h"
#include "starboard/types.h"

namespace base {
namespace mac {

namespace internal {

struct ScopedCFFileDescriptorRefTraits {
  static CFFileDescriptorRef InvalidValue() { return nullptr; }
  static void Free(CFFileDescriptorRef ref) {
    CFFileDescriptorInvalidate(ref);
    CFRelease(ref);
  }
};

}  // namespace internal

// ScopedCFFileDescriptorRef is designed after ScopedCFTypeRef<>. On
// destruction, it will invalidate the file descriptor.
// ScopedCFFileDescriptorRef (unlike ScopedCFTypeRef<>) does not support RETAIN
// semantics, copying, or assignment, as doing so would increase the chances
// that a file descriptor is invalidated while still in use.
using ScopedCFFileDescriptorRef =
    ScopedGeneric<CFFileDescriptorRef,
                  internal::ScopedCFFileDescriptorRefTraits>;

}  // namespace mac
}  // namespace base

#endif  // BASE_MAC_SCOPED_CFFILEDESCRIPTORREF_H_
