| // Copyright 2020 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_REQUEST_QUEUE_UTIL_H_ |
| #define IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_REQUEST_QUEUE_UTIL_H_ |
| |
| #include <stddef.h> |
| |
| #include "base/functional/callback.h" |
| |
| class OverlayRequest; |
| class OverlayRequestQueue; |
| |
| // Searches through `queue` for requests for which `matcher` returns true. If |
| // a matching request is found, returns true and populates `index` with the |
| // index of the first matching request. Returns false if no matching request is |
| // found. All arguments must be non-null. |
| bool GetIndexOfMatchingRequest( |
| OverlayRequestQueue* queue, |
| size_t* index, |
| base::RepeatingCallback<bool(OverlayRequest*)> matcher); |
| |
| #endif // IOS_CHROME_BROWSER_OVERLAYS_PUBLIC_OVERLAY_REQUEST_QUEUE_UTIL_H_ |