int ACE_Blob::read (ACE_Message_Block *mb, size_t length, size_t offset) { // Create a Blob Reader ACE_Blob_Reader blob_reader (mb, length, offset, filename_); ACE_Blob_Handler *brp = &blob_reader; // Connect to the server if (connector_.connect (brp, inet_addr_) == -1) ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ACE_Blob::read():Connector error"), -1); return blob_reader.byte_count (); }
bool WiiWAD::IsWiiWAD(const std::string& name) { std::unique_ptr<IBlobReader> blob_reader(DiscIO::CreateBlobReader(name)); if (blob_reader == nullptr) return false; CBlobBigEndianReader big_endian_reader(*blob_reader); bool result = false; // check for Wii wad if (big_endian_reader.Read32(0x00) == 0x20) { u32 wad_type = big_endian_reader.Read32(0x04); switch (wad_type) { case 0x49730000: case 0x69620000: result = true; } } return result; }