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