-// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
#define SUIT_EXCEPTIONHANDLER_H
#include "SUIT.h"
+#include <QList>
class QEvent;
class QObject;
class QString;
+typedef void (*CleanUpFunction)();
+typedef QList<CleanUpFunction> CleanUpFuncList;
+
class SUIT_EXPORT SUIT_ExceptionHandler
{
public:
+ static void addCleanUpRoutine(CleanUpFunction p);
+ static void removeCleanUpRoutine(CleanUpFunction p);
+
virtual bool handle( QObject*, QEvent* );
protected:
bool internalHandle( QObject*, QEvent* );
void showMessage( const QString&, const QString& );
+
+private:
+ void cleanUp();
+
+ static CleanUpFuncList myCleanUpFunctions;
};
extern "C"