PIChunkStream::extract changed to PIBinaryStream
This commit is contained in:
@@ -183,17 +183,6 @@ void PIChunkStream::readAll() {
|
||||
PIChunkStream::~PIChunkStream() {}
|
||||
|
||||
|
||||
bool PIChunkStream::extract(PIByteArray & data, bool read_all) {
|
||||
if (data.size_s() < 4) return false;
|
||||
data >> tmp_data;
|
||||
if (tmp_data.size_s() < 4) return false;
|
||||
data_ = &tmp_data;
|
||||
_init();
|
||||
if (read_all) readAll();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void PIChunkStream::_init() {
|
||||
first_byte_taken = false;
|
||||
last_id = -1;
|
||||
|
||||
@@ -89,14 +89,22 @@ public:
|
||||
}
|
||||
|
||||
//! \~english
|
||||
//! Extract %PIByteArray from "data" and set it current stream.
|
||||
//! Extract %PIByteArray from "stream" and set it current stream.
|
||||
//! If "read_all" then call \a readAll() after extract.
|
||||
//! Returns if has data to read.
|
||||
//! \~russian
|
||||
//! Извлекает %PIByteArray из "data" и инициализирует им поток.
|
||||
//! Извлекает %PIByteArray из "stream" и инициализирует им поток.
|
||||
//! Если указан "read_all", то вызывает \a readAll() после инициализации.
|
||||
//! Возвращает если ли данные для чтения.
|
||||
bool extract(PIByteArray & data, bool read_all = false);
|
||||
template<typename T>
|
||||
bool extract(PIBinaryStream<T> & stream, bool read_all = false) {
|
||||
stream >> tmp_data;
|
||||
if (stream.wasReadError() || tmp_data.size_s() < 4) return false;
|
||||
data_ = &tmp_data;
|
||||
_init();
|
||||
if (read_all) readAll();
|
||||
return true;
|
||||
}
|
||||
|
||||
void setSource(const PIByteArray & data);
|
||||
void setSource(PIByteArray * data);
|
||||
|
||||
Reference in New Issue
Block a user