Canola  0.8.D001
test_calculator/calculator/test.h
Go to the documentation of this file.
00001 //
00002 // canola - canon canola 1614p emulator
00003 // Copyright (C) 2011 Peter Miller
00004 //
00005 // This program is free software; you can redistribute it and/or modify
00006 // it under the terms of the GNU General Public License, version 3, as
00007 // published by the Free Software Foundation.
00008 //
00009 // This program is distributed in the hope that it will be useful,
00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012 // General Public License for more details.
00013 //
00014 // You should have received a copy of the GNU General Public License along
00015 // with this program. If not, see <http://www.gnu.org/licenses/>.
00016 //
00017 
00018 #ifndef CANOLA_CALCULATOR_TEST_H
00019 #define CANOLA_CALCULATOR_TEST_H
00020 
00021 #include <lib/calculator.h>
00022 
00027 class calculator_test:
00028     public calculator
00029 {
00030 public:
00034     virtual ~calculator_test();
00035 
00040     static pointer create(void);
00041 
00042     // See base class for documentation.
00043     void on_error_v(const char *fmt, va_list ap);
00044 
00045     // See base class for documentation.
00046     void run(void);
00047 
00048 protected:
00049     // See base class for documentation.
00050     void derived_print(const display &value);
00051 
00052     // See base class for documentation.
00053     void derived_feed(void);
00054 
00055     // See base class for documentation.
00056     void derived_off(void);
00057 
00058     // See base class for documentation.
00059     void derived_update_display(const display &value);
00060 
00061     // See base class for documentation.
00062     void clock_tick_start_running(void);
00063 
00064     // See base class for documentation.
00065     void printer_timer_start_running(void);
00066 
00067     // See base class for documentation.
00068     void on_opcode(opcode_t op, const location::pointer &where);
00069 
00070 private:
00075     calculator_test();
00076 
00084     calculator_test(const calculator_test &rhs);
00085 
00093     calculator_test &operator=(const calculator_test &rhs);
00094 };
00095 
00096 #endif // CANOLA_CALCULATOR_TEST_H