本文整理汇总了C++中SharedBuffer::readNextString方法的典型用法代码示例。如果您正苦于以下问题:C++ SharedBuffer::readNextString方法的具体用法?C++ SharedBuffer::readNextString怎么用?C++ SharedBuffer::readNextString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SharedBuffer
的用法示例。
在下文中一共展示了SharedBuffer::readNextString方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: innerLoad
void
SFDLoadableHeader::loadInitialHeader( SharedBuffer& buf )
{
// Load initial header.
const char* str = buf.readNextString();
if ( strcmp( str, "storkafinger" ) != 0 ) {
m_state = failed_to_load;
m_nbrBytesToRead = 0;
innerLoad();
return;
}
// Version
m_version = buf.readNextBAByte();
// Encryption type.
m_encryptionType = encryption_t( buf.readNextBAByte() );
// Set the right xorbuffer depending on the encryption type.
switch ( m_encryptionType ) {
case ( no_encryption ) :
m_xorBuffer = NULL;
break;
case ( uid_encryption ) :
MC2_ASSERT( m_uidXorBuffer != NULL );
m_xorBuffer = m_uidXorBuffer;
break;
case ( warez_encryption ) :
MC2_ASSERT( m_warezXorBuffer != NULL );
m_xorBuffer = m_warezXorBuffer;
break;
}
// Header size.
m_headerSize = buf.readNextBALong();
// Rest of buffer is encrypted.
if ( m_xorBuffer != NULL ) {
m_fileHandler->setXorHelper( XorHelper( m_xorBuffer->getBufferAddress(),
m_xorBuffer->getBufferSize(),
buf.getCurrentOffset() ) );
}
m_nbrBytesToRead = m_headerSize;
// Load the rest.
m_state = loaded_initial_header;
innerLoad();
}