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