/* * Copyright (C) 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include <sys/mman.h> #include "AshmemMemory.h" namespace android { namespace hidl { namespace memory { namespace V1_0 { namespace implementation { AshmemMemory::AshmemMemory(const hidl_memory& memory, void* data) : mMemory(memory), mData(data) {} AshmemMemory::~AshmemMemory() { // TODO: Move implementation to mapper class munmap(mData, mMemory.size()); } // Methods from ::android::hidl::memory::V1_0::IMemory follow. Return<void> AshmemMemory::update() { // NOOP (since non-remoted memory) return Void(); } Return<void> AshmemMemory::updateRange(uint64_t /* start */, uint64_t /* length */) { // NOOP (since non-remoted memory) return Void(); } Return<void> AshmemMemory::read() { // NOOP (since non-remoted memory) return Void(); } Return<void> AshmemMemory::readRange(uint64_t /* start */, uint64_t /* length */) { // NOOP (since non-remoted memory) return Void(); } Return<void> AshmemMemory::commit() { // NOOP (since non-remoted memory) return Void(); } Return<void*> AshmemMemory::getPointer() { return mData; } Return<uint64_t> AshmemMemory::getSize() { return mMemory.size(); } } // namespace implementation } // namespace V1_0 } // namespace memory } // namespace hidl } // namespace android