00001 #include "ByteArrayInputStream.h" 00002 00003 TByteArrayInputStream::TByteArrayInputStream(void *src, int size) 00004 { 00005 data = pointer = (unsigned char *)src; 00006 total = available = size; 00007 } 00008 00009 TByteArrayInputStream::~TByteArrayInputStream() 00010 { 00011 } 00012 00013 int TByteArrayInputStream::Available(void) 00014 { 00015 return available; 00016 } 00017 00018 int TByteArrayInputStream::Position(void) 00019 { 00020 return total - available; 00021 } 00022 00023 int TByteArrayInputStream::Read(void) 00024 { 00025 if (available == 0) 00026 return -1; 00027 else 00028 { 00029 --available; 00030 return *(pointer++); 00031 } 00032 } 00033 00034 void TByteArrayInputStream::Reset(void) 00035 { 00036 pointer = data; 00037 available = total; 00038 } 00039 00040 int TByteArrayInputStream::Skip(int size) 00041 { 00042 if (size > available) 00043 size = available; 00044 pointer += size; 00045 available -= size; 00046 return size; 00047 } 00048