blob: 352cbaf6cbc526d5ab6e839246421379a3f0842e [file] [log] [blame]
Martijn Coenen30791002016-12-01 15:40:46 +01001/*
2 * Copyright (C) 2016 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
Howard Chen1a0eee22017-10-20 13:34:36 +080016#ifndef ANDROID_HARDWARE_MAPPING_H
17#define ANDROID_HARDWARE_MAPPING_H
Martijn Coenen30791002016-12-01 15:40:46 +010018#include <android/hidl/memory/1.0/IMemory.h>
19#include <hidl/HidlSupport.h>
20
21namespace android {
22namespace hardware {
23
Steven Moreland10de9ef2017-05-17 09:26:24 -070024/**
25 * Returns the IMemory instance corresponding to a hidl_memory object.
26 * If the shared memory cannot be fetched, this returns nullptr.
Steven Moreland534d2af2017-10-02 13:28:24 -070027 *
28 * Note, this method call is relatively expensive and does not cache conversions.
29 * It should only be done when initializing a buffer and not on every buffer read.
Steven Moreland10de9ef2017-05-17 09:26:24 -070030 */
Martijn Coenen30791002016-12-01 15:40:46 +010031sp<android::hidl::memory::V1_0::IMemory> mapMemory(const hidl_memory &memory);
32
33} // namespace hardware
Steven Moreland10de9ef2017-05-17 09:26:24 -070034} // namespace android
Howard Chen1a0eee22017-10-20 13:34:36 +080035#endif