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