12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- /*
- * Copyright 2006 Sony Computer Entertainment Inc.
- *
- * Licensed under the MIT Open Source License, for details please see license.txt or the website
- * http://www.opensource.org/licenses/mit-license.php
- *
- */
- #ifndef _DAE_ERROR_HANDLER_
- #define _DAE_ERROR_HANDLER_
- #include <memory>
- #include <dae/daeTypes.h>
- /**
- * The @c daeErrorHandler class is a plugin that allows the use to overwrite how error and warning
- * messages get handled in the client application. An example of this would be a class that reports
- * the message to a gui front end instead of just printing on stdout.
- */
- class DLLSPEC daeErrorHandler {
- public:
- /**
- * Constructor.
- */
- daeErrorHandler();
- /**
- * Destructor.
- */
- virtual ~daeErrorHandler();
- /**
- * This function is called when there is an error and a string needs to be sent to the user.
- * You must overwrite this function in your plugin.
- * @param msg Error message.
- */
- virtual void handleError( daeString msg ) = 0;
- /**
- * This function is called when there is a warning and a string needs to be sent to the user.
- * You must overwrite this function in your plugin.
- * @param msg Warning message.
- */
- virtual void handleWarning( daeString msg ) = 0;
- /**
- * Sets the daeErrorHandler to the one specified.
- * @param eh The new daeErrorHandler to use. Passing in NULL results in the default plugin being used.
- */
- static void setErrorHandler( daeErrorHandler *eh );
- /**
- * Returns the current daeErrorHandlerPlugin. A program has one globally-accessible
- * daeErrorHandler active at a time.
- * @return The current daeErrorHandler.
- */
- static daeErrorHandler *get();
- private:
- static daeErrorHandler *_instance;
- static std::unique_ptr<daeErrorHandler> _defaultInstance;
- };
- #endif
|