update dict
[QFreeRecite.git] / src / core / Reciter.h
blob52385a934c20fc4427cde8ed10c7ccd4fb74d55f
1 /**
2 * FileName: Reciter.h.
3 * Used to define the class Reciter which is used to test or recite the words.
5 * Copyright (C) 2008 Kermit Mei <kermit.mei@gmail.com>
6 * All Rights Reserved.
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 3 as
11 * published by the Free Software Foundation.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation.
22 * Written by Kermit Mei <kermit.mei@gmail.com>
24 * Many of the ideas implemented here are from the author's experiment.
25 * But the dictionary's format coincide with the other word recite software
26 * to help the users get more available data. And the review times designed
27 * by means of the theory named Forgetting Curve which dicoveried by the
28 * German psychologist named Hermann Ebbinghaus(1850–1909).
30 **/
32 #ifndef RECITER_H_
33 #define RECITER_H_
35 #include "Scanner.h"
36 namespace freeRecite {
38 class Reciter : public Scanner
40 public:
41 Reciter()
42 { /* Do Nothing Here! */ }
43 virtual ~Reciter();
45 //Load the task. This method is a implementation of Scnner::load();
46 bool load(time_t initID);
48 private:
49 //Tester do not need to load from a file.
50 bool load(std::string fileName = std::string(""))
51 { return false; }
53 /**
54 * Test with the result. The argument 'result' is true
55 * when the word which the user input is correct.
56 **/
57 void test(bool result);
60 } //namespace freeRecite end
62 #endif //RECITER_H_