1e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk/* 2e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk * Copyright (C) 2017 The Android Open Source Project 3e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk * 4e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk * Licensed under the Apache License, Version 2.0 (the "License"); 5e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk * you may not use this file except in compliance with the License. 6e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk * You may obtain a copy of the License at 7e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk * 8e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk * http://www.apache.org/licenses/LICENSE-2.0 9e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk * 10e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk * Unless required by applicable law or agreed to in writing, software 11e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk * distributed under the License is distributed on an "AS IS" BASIS, 12e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk * See the License for the specific language governing permissions and 14e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk * limitations under the License. 15e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk */ 16e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk 17e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk#include <stdint.h> 18e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk 19e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk#include "FixedBlockAdapter.h" 20e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk 21e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil BurkFixedBlockAdapter::~FixedBlockAdapter() { 22e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk close(); 23e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk} 24e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk 25e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burkint32_t FixedBlockAdapter::open(int32_t bytesPerFixedBlock) 26e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk{ 27e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk mSize = bytesPerFixedBlock; 285204d315c6c6f53188f8d1414dd1b55b6c90142bPhil Burk mStorage = new uint8_t[bytesPerFixedBlock]; 29e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk mPosition = 0; 30e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk return 0; 31e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk} 32e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk 33e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burkint32_t FixedBlockAdapter::close() 34e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk{ 35e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk delete[] mStorage; 36e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk mStorage = nullptr; 37e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk mSize = 0; 38e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk mPosition = 0; 39e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk return 0; 40e4d7bb418df0fdc4c708c334ba3601f5ed8d89b3Phil Burk} 41