27 #include <Inventor/SbBasic.h>
28 #include <Inventor/SbString.h>
29 #include <Inventor/C/errors/error.h>
30 #include <Inventor/SoType.h>
37 typedef void SoErrorCB(
const class SoError * error,
void * data);
38 typedef SoErrorCB * SoErrorCBPtr;
43 SoError(
void) { cc_error_init(&this->err); }
44 virtual ~SoError() { cc_error_clean(&this->err); }
46 static void setHandlerCallback(SoErrorCB *
const func,
void *
const data);
47 static SoErrorCB * getHandlerCallback(
void);
48 static void * getHandlerData(
void);
50 const SbString & getDebugString(
void)
const;
52 static SoType getClassTypeId(
void);
53 virtual SoType getTypeId(
void)
const;
54 SbBool isOfType(
const SoType type)
const;
56 static void post(
const char *
const format, ...);
62 static void initClass(
void);
63 static void initClasses(
void);
66 static void defaultHandlerCB(
const SoError * error,
void * userdata);
67 virtual SoErrorCBPtr getHandler(
void * & data)
const;
69 void setDebugString(
const char *
const str);
70 void appendToDebugString(
const char *
const str);
72 void handleError(
void);
75 SoError(
const cc_error * error);
76 static void generateBaseString(
SbString & str,
const SoBase *
const base,
77 const char *
const what);
79 static void callbackForwarder(
const cc_error * err,
void * data);
82 static SoErrorCB * callback;
83 static void * callbackData;
89 #endif // !COIN_SOERROR_H