// 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 BASE_PROFILER_NATIVE_UNWINDER_ANDROID_MEMORY_REGIONS_MAP_H_ #define BASE_PROFILER_NATIVE_UNWINDER_ANDROID_MEMORY_REGIONS_MAP_H_ namespace base { // NativeUnwinderAndroidMemoryRegionsMap is an opaque interface that hides // concrete libunwindstack types, i.e. `unwindstack::Maps` and // `unwindstack::Memory`. By introducing the interface, chrome code can // pass the underlying instances around without referencing libunwindstack. // NativeUnwinderAndroidMemoryRegionsMap's implementation must live in the // stack_unwinder dynamic feature module. // // Code within the dynamic feature module is expected to downcast to the // derived type to access the unwindstack types. class NativeUnwinderAndroidMemoryRegionsMap { … }; } // namespace base #endif // BASE_PROFILER_NATIVE_UNWINDER_ANDROID_MEMORY_REGIONS_MAP_H_