00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #ifndef COIN_SOMEMORYERROR_H
00021 #define COIN_SOMEMORYERROR_H
00022 
00023 #include <Inventor/errors/SoError.h>
00024 
00025 
00026 class COIN_DLL_API SoMemoryError : public SoError {
00027   typedef SoError inherited;
00028 
00029 public:
00030   static void setHandlerCallback(SoErrorCB * const callback,
00031                                  void * const data);
00032   static SoErrorCB * getHandlerCallback(void);
00033   static void * getHandlerData(void);
00034 
00035   static SoType getClassTypeId(void);
00036   virtual SoType getTypeId(void) const;
00037 
00038   static void post(const char * const whatWasAllocated);
00039 
00040   static void initClass(void);
00041 
00042 protected:
00043   virtual SoErrorCB * getHandler(void * & data) const;
00044 
00045 private:
00046   static SoType classTypeId;
00047   static SoErrorCB * callback;
00048   static void * callbackData;
00049 };
00050 
00051 #endif // !COIN_SOMEMORYERROR_H