Exemplo n.º 1
0
bool excel_serializer::load_workbook(const std::string &filename, bool guess_types, bool data_only)
{
    try
    {
        archive_.load(filename);
    }
    catch (std::runtime_error)
    {
        throw invalid_file_exception(filename);
    }

    return ::load_workbook(archive_, guess_types, data_only, workbook_);
}
Exemplo n.º 2
0
void mobi::parse_header()
{
    file->read((char *) &header, PALMDOC_DB_HEADER_LEN);
    unretardify_header(header);
  if(!strcmp_is_a_worthless_pos(header.type,MOBI_TYPE,8))
      throw invalid_file_exception();


    uint32 header_offset, header_offset_unk;
    for(int i=0;i<header.num_records;i++)
    {
        file->read((char *) &header_offset, sizeof(uint32_t));
        file->read((char *) &header_offset_unk, sizeof(uint32_t));
        bswap(header_offset);
        header_offsets.push_back(header_offset);
    }
    file->seekg(header_offsets[0]);
    file->read((char *) &pd_header, PALMDOC_HEADER_LEN);
    file->read((char *) &mobi_header_, MOBI_HEADER_LEN);
    unretardify_header(mobi_header_);
    unretardify_header(pd_header);
    file->seekg(header_offsets[1]);
    cout << this->get_section_uncompressed(1);

    //string cppssie ;
    //size_t src

    size_t src_size = header_offsets[2] - header_offsets[1];
    //pd_compression unc;
    //unc.uncompress(cppssie, src_size);
    //unc.print_raw();
    //cout << cppssie;

    //src_size = (get_section(2).end - get_section(2).start);
    //file->seekg(get_section(2).start);
    //file->read((uint8 *) &cppssie, src_size);
    //unc.uncompress(cppssie, src_size);
    //unc.print_raw();
  }