Gizmo3D

gzStackInfo.h

Go to the documentation of this file.
00001 //*****************************************************************************
00002 // File         : gzStackInfo.h
00003 // Module       : gzBase
00004 // Description  : Class definitions and macros for stack debugging aid
00005 // Author       : Anders Modén      
00006 // Product      : GizmoBase 2.1.1
00007 //      
00008 // Copyright © 2003- Saab Training Systems AB, Sweden
00009 //          
00010 // NOTE:    Gizmo3D is a high performance 3D Scene Graph and effect visualisation 
00011 //          C++ toolkit for Linux, Mac OS X, Windows (Win32) and IRIX® for  
00012 //          usage in Game or VisSim development.
00013 //
00014 //
00015 // Revision History...                          
00016 //                                  
00017 // Who  Date    Description                     
00018 //                                  
00019 // AMO  050211  Created file    
00020 //
00021 //******************************************************************************
00022 
00023 #ifndef __GZ_STACK_INFO_H__
00024 #define __GZ_STACK_INFO_H__
00025 
00032 #include "gzReference.h"
00033 #include "gzBase.h"
00034 #include "gzExceptions.h"
00035 #include "gzSerialize.h"
00036 
00037 class gzStackItem : public gzReference
00038 {
00039 public:
00040     GZ_BASE_EXPORT virtual ~gzStackItem(){};
00041 
00042     gzString    functionName;
00043     gzULong     functionOffset;
00044     gzString    fileName;
00045     gzULong     lineNumber;
00046     gzString    moduleName;
00047 
00048 };
00049 
00050 class gzStackInfo
00051 {
00052 public:
00053 
00054     GZ_BASE_EXPORT gzStackInfo(gzULong _minDepth=0,gzULong _maxDepth=100,gzBool _stripPaths=TRUE):minDepth(_minDepth),maxDepth(_maxDepth),stripPaths(_stripPaths){};
00055 
00056     gzRefList<gzStackItem>  itemList;
00057 
00058     gzULong                 minDepth;
00059     gzULong                 maxDepth;
00060     gzBool                  stripPaths;
00061 
00062 };
00063 
00064 GZ_BASE_EXPORT gzBool gzGetStackInfo(gzStackInfo *info);
00065 
00066 class GZ_BASE_EXPORT gzProgramExecution
00067 {
00068 public:
00069 
00070     gzProgramExecution();
00071     virtual ~gzProgramExecution();
00072 
00073     gzVoid checkBaseExceptions();
00074     virtual gzVoid onProgramExecution()=0;
00075     virtual gzVoid onCrash(gzStackInfo *info);
00076     virtual gzVoid onBaseException(gzBaseError &error);
00077 
00078 private:
00079 
00080     gzSerializeAdapterFile *m_crashDump;
00081 };
00082 
00083 GZ_BASE_EXPORT gzVoid gzExecuteProgram(gzProgramExecution *instance);
00084 
00085 
00086 #endif

Documentation for Gizmo3D generated at Wed Feb 20 11:54:10 2008 by   Saab Training Systems AB, ¸ (c) 2003-and beyond