// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef BASE_IOS_NS_ERROR_UTIL_H_
#define BASE_IOS_NS_ERROR_UTIL_H_

@class NSError;

namespace base {
namespace ios {

// Iterates through |error|'s underlying errors and returns the first error for
// which there is no underlying error.
NSError* GetFinalUnderlyingErrorFromError(NSError* error);

// Returns a copy of |original_error| with |underlying_error| appended to the
// end of its underlying error chain.
NSError* ErrorWithAppendedUnderlyingError(NSError* original_error,
                                          NSError* underlying_error);

}  // namespace ios
}  // namespace base

#endif  // BASE_IOS_NS_ERROR_UTIL_H_
