Encapsulate “rarfile” parameter in “Opt” class
[rarfs.git] / src / fileblock.h
blob0090b41dddd8a39653d51c2c06c01eee83dcb461
1 /***************************************************************************
2 * Copyright (C) 2006 Kent Gustavsson <nedo80@gmail.com>
3 ****************************************************************************/
4 /*
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Library General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 // Class: FileBlock
23 // Created by: Kent Gustavsson <nedo80@gmail.com>
24 // Created on: Mon Mar 6 21:41:03 2006
27 #ifndef _FILEBLOCK_H_
28 #define _FILEBLOCK_H_
30 #include "rarblock.h"
31 #include <time.h>
33 class FileBlock : public RARBlock
35 public:
36 FileBlock(std::istream &in);
37 ~FileBlock();
39 std::string GetFileName();
40 void GetFileDate(struct timespec* tp);
41 unsigned int GetDataSize();
42 int GetData(char *buf, unsigned int offset, unsigned int len);
43 bool isFolder();
44 bool isCompressed();
45 protected:
46 std::string filename;
47 unsigned int start;
48 std::istream &in;
49 bool folder;
50 bool compressed;
51 struct timespec filedate;
52 void ParseXtime();
56 #endif //_FILEBLOCK_H_