1/* 2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. 3 * Distributed under the terms of the MIT License. 4 */ 5 6 7#include <package/hpkg/DataOutput.h> 8 9#include <string.h> 10 11 12namespace BPackageKit { 13 14namespace BHPKG { 15 16 17// #pragma mark - BDataOutput 18 19 20BDataOutput::~BDataOutput() 21{ 22} 23 24 25// #pragma mark - BBufferDataOutput 26 27 28BBufferDataOutput::BBufferDataOutput(void* buffer, size_t size) 29 : 30 fBuffer(buffer), 31 fSize(size), 32 fBytesWritten(0) 33{ 34} 35 36 37status_t 38BBufferDataOutput::WriteData(const void* buffer, size_t size) 39{ 40 if (size == 0) 41 return B_OK; 42 if (size > fSize - fBytesWritten) 43 return B_BAD_VALUE; 44 45 memcpy((uint8*)fBuffer + fBytesWritten, buffer, size); 46 fBytesWritten += size; 47 48 return B_OK; 49} 50 51 52} // namespace BHPKG 53 54} // namespace BPackageKit 55