/*========================================================================= Program: Visualization Toolkit Module: TestErrorObserver.h Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen All rights reserved. See Copyright.txt or http://www.kitware.com/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information. =========================================================================*/ #ifndef __vtkTestErrorObserver_h #define __vtkTestErrorObserver_h #include <vtkCommand.h> #include <string> namespace vtkTest { class ErrorObserver : public ::vtkCommand { public: ErrorObserver(): Error(false), Warning(false), ErrorMessage(""), WarningMessage("") {} static ErrorObserver *New() { return new ErrorObserver; } bool GetError() const { return this->Error; } bool GetWarning() const { return this->Warning; } void Clear() { this->Error = false; this->Warning = false; this->ErrorMessage = ""; this->WarningMessage = ""; } virtual void Execute(vtkObject *vtkNotUsed(caller), unsigned long event, void *calldata) { switch(event) { case vtkCommand::ErrorEvent: ErrorMessage = static_cast<char *>(calldata); this->Error = true; break; case vtkCommand::WarningEvent: WarningMessage = static_cast<char *>(calldata); this->Warning = true; break; } } std::string GetErrorMessage() { return ErrorMessage; } std::string GetWarningMessage() { return WarningMessage; } private: bool Error; bool Warning; std::string ErrorMessage; std::string WarningMessage; }; } #endif