Exemplo n.º 1
0
Arquivo: Blob.cpp Projeto: esohns/ATCD
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 ();

}
Exemplo n.º 2
0
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;
}