09cb0f4f |
1 | #ifndef DISCARD_BLOCK_H |
2 | #define DISCARD_BLOCK_H |
3 | |
4 | #include <string> |
5 | #include <vector> |
6 | |
7 | #include "tape_block.hh" |
8 | |
9 | using namespace std; |
10 | |
11 | /*! |
12 | *\brief Class representating an invalid block. |
13 | * |
14 | *Reasons for a block to be invalid are:\n |
15 | * - EOF on fd used to initialise, |
16 | * - Checksum error in a block |
17 | * - IO error while reading from fd |
18 | * The reason for the block to be a discard_block can be |
19 | * resolved by using get_state(). |
20 | */ |
21 | class discard_block |
22 | :public tape_block |
23 | { |
24 | friend tape_block* tape_block::gen_from_fd(int,void(*)(void*), |
25 | void(*)(void*),void*); |
26 | public: // methods |
27 | discard_block(discard_block &); |
28 | virtual vector<string> get_description(); |
29 | |
30 | discard_block(tape_block &); |
31 | private: // methods |
32 | |
33 | discard_block(); |
34 | |
35 | }; // class discard_block |
36 | |
37 | |
38 | #endif |