36 #include <Inventor/SbBasic.h>
37 #include <Inventor/SbString.h>
46 typedef void SoErrorCB(
const class SoError * error,
void * data);
47 typedef SoErrorCB * SoErrorCBPtr;
52 SoError(
void) { cc_error_init(&this->err); }
53 virtual ~SoError() { cc_error_clean(&this->err); }
55 static void setHandlerCallback(SoErrorCB *
const func,
void *
const data);
56 static SoErrorCB * getHandlerCallback(
void);
57 static void * getHandlerData(
void);
59 const SbString & getDebugString(
void)
const;
61 static SoType getClassTypeId(
void);
62 virtual SoType getTypeId(
void)
const;
63 SbBool isOfType(
const SoType type)
const;
65 static void post(
const char *
const format, ...);
71 static void initClass(
void);
72 static void initClasses(
void);
75 static void defaultHandlerCB(
const SoError * error,
void * userdata);
76 virtual SoErrorCBPtr getHandler(
void * & data)
const;
78 void setDebugString(
const char *
const str);
79 void appendToDebugString(
const char *
const str);
81 void handleError(
void);
84 SoError(
const cc_error * error);
85 static void generateBaseString(
SbString & str,
const SoBase *
const base,
86 const char *
const what);
88 static void callbackForwarder(
const cc_error * err,
void * data);
91 static SoErrorCB * callback;
92 static void * callbackData;
98 #endif // !COIN_SOERROR_H