Make Flattenable not virtual (libutils)
Making an object Flattenable doesn't force it to
become virtual anymore. For instance, Fence and GraphicBuffer
are now non-virtual classes.
Also change Flatennable protocol a bit so that it updates
its parameters (pointers, sizes) to make it easier
to implement a flattenable in terms of other flattenables.
Change-Id: Ie81dc7637180b3c2cfcbaf644f8987ca804eb891
diff --git a/libs/utils/Android.mk b/libs/utils/Android.mk
index abf4b2e..7e6b1be 100644
--- a/libs/utils/Android.mk
+++ b/libs/utils/Android.mk
@@ -22,7 +22,6 @@
BlobCache.cpp \
CallStack.cpp \
FileMap.cpp \
- Flattenable.cpp \
JenkinsHash.cpp \
LinearAllocator.cpp \
LinearTransform.cpp \
diff --git a/libs/utils/BlobCache.cpp b/libs/utils/BlobCache.cpp
index be398ee..0fb1d8e 100644
--- a/libs/utils/BlobCache.cpp
+++ b/libs/utils/BlobCache.cpp
@@ -176,17 +176,7 @@
return size;
}
-size_t BlobCache::getFdCount() const {
- return 0;
-}
-
-status_t BlobCache::flatten(void* buffer, size_t size, int fds[], size_t count)
- const {
- if (count != 0) {
- ALOGE("flatten: nonzero fd count: %zu", count);
- return BAD_VALUE;
- }
-
+status_t BlobCache::flatten(void* buffer, size_t size) const {
// Write the cache header
if (size < sizeof(Header)) {
ALOGE("flatten: not enough room for cache header");
@@ -228,16 +218,10 @@
return OK;
}
-status_t BlobCache::unflatten(void const* buffer, size_t size, int fds[],
- size_t count) {
+status_t BlobCache::unflatten(void const* buffer, size_t size) {
// All errors should result in the BlobCache being in an empty state.
mCacheEntries.clear();
- if (count != 0) {
- ALOGE("unflatten: nonzero fd count: %zu", count);
- return BAD_VALUE;
- }
-
// Read the cache header
if (size < sizeof(Header)) {
ALOGE("unflatten: not enough room for cache header");
diff --git a/libs/utils/Flattenable.cpp b/libs/utils/Flattenable.cpp
deleted file mode 100644
index 1f2ffaa..0000000
--- a/libs/utils/Flattenable.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2006 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 <utils/Flattenable.h>
-
-namespace android {
-
-Flattenable::~Flattenable() {
-}
-
-}; // namespace android