1ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// Copyright 2014 PDFium Authors. All rights reserved. 2ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// Use of this source code is governed by a BSD-style license that can be 3ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// found in the LICENSE file. 4ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 5ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 7ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#ifndef _BC_COMMONBYTEARRAY_H_ 8ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#define _BC_COMMONBYTEARRAY_H_ 9ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannclass CBC_CommonByteArray { 10ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann private: 11ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t m_size; 12ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t m_index; 13ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann uint8_t* m_bytes; 14ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 15ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann public: 16ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CBC_CommonByteArray(); 17ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CBC_CommonByteArray(int32_t size); 18ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CBC_CommonByteArray(uint8_t* byteArray, int32_t size); 19ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann virtual ~CBC_CommonByteArray(); 20ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t At(int32_t index); 21ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann void Set(int32_t index, int32_t value); 22ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t Size(); 23ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FX_BOOL IsEmpty(); 24ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann void AppendByte(int32_t value); 25ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann void Reserve(int32_t capacity); 26ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann void Set(uint8_t* source, int32_t offset, int32_t count); 27ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann void Set(CFX_ByteArray* source, int32_t offset, int32_t count); 28ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann}; 29ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#endif 30