| // Copyright 2015 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_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_ |