PIChunkStream::extract changed to PIBinaryStream
This commit is contained in:
@@ -183,17 +183,6 @@ void PIChunkStream::readAll() {
|
|||||||
PIChunkStream::~PIChunkStream() {}
|
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() {
|
void PIChunkStream::_init() {
|
||||||
first_byte_taken = false;
|
first_byte_taken = false;
|
||||||
last_id = -1;
|
last_id = -1;
|
||||||
|
|||||||
@@ -89,14 +89,22 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
//! \~english
|
//! \~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.
|
//! If "read_all" then call \a readAll() after extract.
|
||||||
//! Returns if has data to read.
|
//! Returns if has data to read.
|
||||||
//! \~russian
|
//! \~russian
|
||||||
//! Извлекает %PIByteArray из "data" и инициализирует им поток.
|
//! Извлекает %PIByteArray из "stream" и инициализирует им поток.
|
||||||
//! Если указан "read_all", то вызывает \a readAll() после инициализации.
|
//! Если указан "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(const PIByteArray & data);
|
||||||
void setSource(PIByteArray * data);
|
void setSource(PIByteArray * data);
|
||||||
|
|||||||
Reference in New Issue
Block a user