/* * Copyright (C) 2007-2019 Xagasoft, All rights reserved. * * This file is part of the libbu++ library and is released under the * terms of the license contained in the file LICENSE. */ #ifndef BU_BLOB_BUILDER_H #define BU_BLOB_BUILDER_H #include "bu/config.h" #include "bu/sharedcore.h" namespace Bu { class BlobBuilder; class BlobBuilderCore { friend class BlobBuilder; friend class SharedCore; private: class Chunk { public: Chunk(); ~Chunk(); int16_t iFill; int16_t iLength; char *pData; Chunk *pNext; }; BlobBuilderCore(); BlobBuilderCore( const BlobBuilderCore &rSrc ); virtual ~BlobBuilderCore(); void clear(); Chunk *pFirst; Chunk *pLast; int32_t iLength; }; class BlobBuilder : public Bu::SharedCore { protected: using SharedCore::core; using SharedCore::_hardCopy; public: BlobBuilder(); BlobBuilder( const BlobBuilder &rSrc ); virtual ~BlobBuilder(); private: }; }; #endif