// 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. #include "base/mac/mac_logging.h" #import #include #include "build/build_config.h" #if !BUILDFLAG(IS_IOS) #include #endif namespace logging { std::string DescriptionFromOSStatus(OSStatus err) { NSError* error = [NSError errorWithDomain:NSOSStatusErrorDomain code:err userInfo:nil]; return error.description.UTF8String; } OSStatusLogMessage::OSStatusLogMessage(const char* file_path, int line, LogSeverity severity, OSStatus status) : LogMessage(file_path, line, severity), status_(status) { } OSStatusLogMessage::~OSStatusLogMessage() { #if BUILDFLAG(IS_IOS) // TODO(crbug.com/546375): Consider using NSError with NSOSStatusErrorDomain // to try to get a description of the failure. stream() << ": " << status_; #else stream() << ": " << DescriptionFromOSStatus(status_) << " (" << status_ << ")"; #endif } } // namespace logging