af9ad66b70f1d2e0ba850c33e15ad7129006de5d
[h316.git] / pc-tools / ldc2 / src / discard_block.hh
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