xref: /aosp_15_r20/external/cronet/base/profiler/native_unwinder_android_map_delegate.h (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2023 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef BASE_PROFILER_NATIVE_UNWINDER_ANDROID_MAP_DELEGATE_H_
6 #define BASE_PROFILER_NATIVE_UNWINDER_ANDROID_MAP_DELEGATE_H_
7 
8 namespace base {
9 
10 class NativeUnwinderAndroidMemoryRegionsMap;
11 
12 // Interface of libunwindstack Map's lifecycle management. The
13 // implementation is designed to live in chrome code instead of in
14 // the stack unwinder DFM because DFM might not have enough information to make
15 // the decision.
16 class NativeUnwinderAndroidMapDelegate {
17  public:
18   virtual ~NativeUnwinderAndroidMapDelegate() = default;
19 
20   virtual NativeUnwinderAndroidMemoryRegionsMap* GetMapReference() = 0;
21   virtual void ReleaseMapReference() = 0;
22 };
23 
24 }  // namespace base
25 
26 #endif  // BASE_PROFILER_NATIVE_UNWINDER_ANDROID_MAP_DELEGATE_H_
27