1 //******************************************************************************
2 ///
3 /// @file frontend/parsermessagehandler.h
4 ///
5 /// @todo   What's in here?
6 ///
7 /// @copyright
8 /// @parblock
9 ///
10 /// Persistence of Vision Ray Tracer ('POV-Ray') version 3.8.
11 /// Copyright 1991-2017 Persistence of Vision Raytracer Pty. Ltd.
12 ///
13 /// POV-Ray is free software: you can redistribute it and/or modify
14 /// it under the terms of the GNU Affero General Public License as
15 /// published by the Free Software Foundation, either version 3 of the
16 /// License, or (at your option) any later version.
17 ///
18 /// POV-Ray is distributed in the hope that it will be useful,
19 /// but WITHOUT ANY WARRANTY; without even the implied warranty of
20 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21 /// GNU Affero General Public License for more details.
22 ///
23 /// You should have received a copy of the GNU Affero General Public License
24 /// along with this program.  If not, see <http://www.gnu.org/licenses/>.
25 ///
26 /// ----------------------------------------------------------------------------
27 ///
28 /// POV-Ray is based on the popular DKB raytracer version 2.12.
29 /// DKBTrace was originally written by David K. Buck.
30 /// DKBTrace Ver 2.0-2.12 were written by David K. Buck & Aaron A. Collins.
31 ///
32 /// @endparblock
33 ///
34 //******************************************************************************
35 
36 #ifndef POVRAY_FRONTEND_PARSERMESSAGEHANDLER_H
37 #define POVRAY_FRONTEND_PARSERMESSAGEHANDLER_H
38 
39 // Module config header file must be the first file included within POV-Ray unit header files
40 #include "frontend/configfrontend.h"
41 
42 #include "povms/povmscpp.h"
43 
44 namespace pov_frontend
45 {
46 
47 class Console;
48 struct SceneData;
49 
50 class ParserMessageHandler
51 {
52     public:
53         ParserMessageHandler();
54         virtual ~ParserMessageHandler();
55 
56         void HandleMessage(const SceneData&, POVMSType, POVMS_Object&);
57     protected:
58         virtual void Options(Console *, POVMS_Object&, bool);
59         virtual void Statistics(Console *, POVMS_Object&, bool);
60         virtual void Progress(Console *, POVMS_Object&, bool);
61         virtual void Warning(Console *, POVMS_Object&, bool);
62         virtual void Error(Console *, POVMS_Object&, bool);
63         virtual void FatalError(Console *, POVMS_Object&, bool);
64         virtual void DebugInfo(Console *, POVMS_Object&, bool);
65 };
66 
67 }
68 
69 #endif // POVRAY_FRONTEND_PARSERMESSAGEHANDLER_H
70