diff options
author | Mathias Agopian <mathias@google.com> | 2012-02-29 12:10:03 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-02-29 12:10:03 -0800 |
commit | 06dd67e305c33eaf453bdbd24593bbac6b25660e (patch) | |
tree | 6fb0845a05ef7116fc3a746ef6626edd5c6b1068 /include | |
parent | e70583e629e15ff77b6c12d5db39b4f62b6103ab (diff) | |
parent | b1badfc7484070c7cd367320cb6b8bf24ff76817 (diff) | |
download | frameworks_base-06dd67e305c33eaf453bdbd24593bbac6b25660e.zip frameworks_base-06dd67e305c33eaf453bdbd24593bbac6b25660e.tar.gz frameworks_base-06dd67e305c33eaf453bdbd24593bbac6b25660e.tar.bz2 |
Merge "get rid of MemoryHeapPmem"
Diffstat (limited to 'include')
-rw-r--r-- | include/binder/MemoryHeapPmem.h | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/include/binder/MemoryHeapPmem.h b/include/binder/MemoryHeapPmem.h deleted file mode 100644 index e1660c4..0000000 --- a/include/binder/MemoryHeapPmem.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (C) 2008 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. - */ - -#ifndef ANDROID_MEMORY_HEAP_PMEM_H -#define ANDROID_MEMORY_HEAP_PMEM_H - -#include <stdlib.h> -#include <stdint.h> - -#include <binder/MemoryHeapBase.h> -#include <binder/IMemory.h> -#include <utils/SortedVector.h> -#include <utils/threads.h> - -namespace android { - -class MemoryHeapBase; - -// --------------------------------------------------------------------------- - -class MemoryHeapPmem : public MemoryHeapBase -{ -public: - class MemoryPmem : public BnMemory { - public: - MemoryPmem(const sp<MemoryHeapPmem>& heap); - ~MemoryPmem(); - protected: - const sp<MemoryHeapPmem>& getHeap() const { return mClientHeap; } - private: - friend class MemoryHeapPmem; - virtual void revoke() = 0; - sp<MemoryHeapPmem> mClientHeap; - }; - - MemoryHeapPmem(const sp<MemoryHeapBase>& pmemHeap, uint32_t flags = 0); - ~MemoryHeapPmem(); - - /* HeapInterface additions */ - virtual sp<IMemory> mapMemory(size_t offset, size_t size); - - /* make the whole heap visible (you know who you are) */ - virtual status_t slap(); - - /* hide (revoke) the whole heap (the client will see the garbage page) */ - virtual status_t unslap(); - - /* revoke all allocations made by this heap */ - virtual void revoke(); - -private: - /* use this to create your own IMemory for mapMemory */ - virtual sp<MemoryPmem> createMemory(size_t offset, size_t size); - void remove(const wp<MemoryPmem>& memory); - -private: - sp<MemoryHeapBase> mParentHeap; - mutable Mutex mLock; - SortedVector< wp<MemoryPmem> > mAllocations; -}; - - -// --------------------------------------------------------------------------- -}; // namespace android - -#endif // ANDROID_MEMORY_HEAP_PMEM_H |