10b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin/* 20b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin * Copyright 2014 The Android Open Source Project 30b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin * 40b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin * Licensed under the Apache License, Version 2.0 (the "License"); 50b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin * you may not use this file except in compliance with the License. 60b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin * You may obtain a copy of the License at 70b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin * 80b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin * http://www.apache.org/licenses/LICENSE-2.0 90b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin * 100b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin * Unless required by applicable law or agreed to in writing, software 110b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin * distributed under the License is distributed on an "AS IS" BASIS, 120b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin * See the License for the specific language governing permissions and 140b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin * limitations under the License. 150b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin */ 160b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin 170b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin#include <img_utils/ByteArrayOutput.h> 180b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin 190b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin#include <utils/Log.h> 200b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin 210b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkinnamespace android { 220b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkinnamespace img_utils { 230b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin 240b88a62d4d5ac1e515721e587cdf9bcec191812bIgor MurashkinByteArrayOutput::ByteArrayOutput() {} 250b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin 260b88a62d4d5ac1e515721e587cdf9bcec191812bIgor MurashkinByteArrayOutput::~ByteArrayOutput() {} 270b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin 280b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkinstatus_t ByteArrayOutput::open() { 290b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin return OK; 300b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin} 310b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin 320b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkinstatus_t ByteArrayOutput::write(const uint8_t* buf, size_t offset, size_t count) { 330b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin if (mByteArray.appendArray(buf + offset, count) < 0) { 340b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin ALOGE("%s: Failed to write to ByteArrayOutput.", __FUNCTION__); 350b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin return BAD_VALUE; 360b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin } 370b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin return OK; 380b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin} 390b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin 400b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkinstatus_t ByteArrayOutput::close() { 410b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin mByteArray.clear(); 420b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin return OK; 430b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin} 440b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin 450b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkinsize_t ByteArrayOutput::getSize() const { 460b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin return mByteArray.size(); 470b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin} 480b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin 490b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkinconst uint8_t* ByteArrayOutput::getArray() const { 500b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin return mByteArray.array(); 510b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin} 520b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin 530b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin} /*namespace img_utils*/ 540b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin} /*namespace android*/ 550b88a62d4d5ac1e515721e587cdf9bcec191812bIgor Murashkin