]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/stackwalk.h
Only compile wxStd{Input,Output}Stream if wxUSE_STREAMS==1.
[wxWidgets.git] / include / wx / msw / stackwalk.h
index 9c794e7db87812f02c3b8ed064e0cfe749c787fa..e376ef356c06a015aca9ae6cc2ee14af51287824 100644 (file)
@@ -12,6 +12,8 @@
 #ifndef _WX_MSW_STACKWALK_H_
 #define _WX_MSW_STACKWALK_H_
 
+#include "wx/arrstr.h"
+
 // these structs are declared in windows headers
 struct _CONTEXT;
 struct _EXCEPTION_POINTERS;
@@ -27,7 +29,7 @@ class WXDLLIMPEXP_BASE wxStackFrame : public wxStackFrameBase
 {
 private:
     wxStackFrame *ConstCast() const
-        { return wx_const_cast(wxStackFrame *, this); }
+        { return const_cast<wxStackFrame *>(this); }
 
     size_t DoGetParamCount() const { return m_paramTypes.GetCount(); }
 
@@ -63,7 +65,7 @@ protected:
     // helper for debug API: it wants to have addresses as DWORDs
     size_t GetSymAddr() const
     {
-        return wx_reinterpret_cast(size_t, m_address);
+        return reinterpret_cast<size_t>(m_address);
     }
 
 private:
@@ -88,13 +90,15 @@ public:
     // only
     wxStackWalker(const char * WXUNUSED(argv0) = NULL) { }
 
-    virtual void Walk(size_t skip = 1);
-    virtual void WalkFromException();
+    virtual void Walk(size_t skip = 1, size_t maxDepth = wxSTACKWALKER_MAX_DEPTH);
+#if wxUSE_ON_FATAL_EXCEPTION
+    virtual void WalkFromException(size_t maxDepth = wxSTACKWALKER_MAX_DEPTH);
+#endif // wxUSE_ON_FATAL_EXCEPTION
 
 
     // enumerate stack frames from the given context
-    void WalkFrom(const _CONTEXT *ctx, size_t skip = 1);
-    void WalkFrom(const _EXCEPTION_POINTERS *ep, size_t skip = 1);
+    void WalkFrom(const _CONTEXT *ctx, size_t skip = 1, size_t maxDepth = wxSTACKWALKER_MAX_DEPTH);
+    void WalkFrom(const _EXCEPTION_POINTERS *ep, size_t skip = 1, size_t maxDepth = wxSTACKWALKER_MAX_DEPTH);
 };
 
 #endif // _WX_MSW_STACKWALK_H_