Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HImErrorHandler.h
00001 // Copyright (c) 1998-2014 by Tech Soft 3D, Inc.
00002 //
00003 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc.,
00004 // and considered a trade secret as defined under civil and criminal statutes.
00005 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of
00006 // unauthorized use or misappropriation of its trade secrets.  Use of this information
00007 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under
00008 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use.
00009 
00010 #ifndef _HIM_ERROR_HANDLER_H
00011 #define _HIM_ERROR_HANDLER_H
00012 
00013 #ifdef H_PACK_8
00014 #pragma pack(push)
00015 #pragma pack(8)
00016 #endif
00017 
00018 #include "HTools.h"
00019 
00020 /* forward declaration.  
00021  * private helper class */
00022 class HErrorDescriptorNode;
00023 
00024 
00026 
00044 class MVO_API HImErrorHandler 
00045 {
00046 private:
00047     static bool IsBlocked( int category, int specific, int severity );
00048     static bool IsPassed( int category, int specific, int severity );
00049 
00050     static HErrorDescriptorNode *m_Block;
00051     static HErrorDescriptorNode *m_Pass;
00052     static bool m_BlockByDefault;
00053 
00054 public:
00058     HImErrorHandler( bool BlockByDefault = false );
00059     ~HImErrorHandler();
00062     static void RegisterCallbacks();
00063     
00070     static void Block( int cat, int spec, int sev );
00071 
00077     static void Pass( int cat, int spec, int sev );
00078 
00082     void SetBlockByDefault( bool bbd ) { m_BlockByDefault = bbd; }
00083 
00085     static bool BlockByDefault() { return m_BlockByDefault; }
00086 
00090     static void CallbackEntryPoint( 
00091         int category, int specific, int severity,
00092         int msgc, char *msgv[], int stackc, char *stackv[]);
00093 };
00094 
00095 
00096 
00097 #ifdef H_PACK_8
00098 #pragma pack(pop)
00099 #endif
00100 
00101 #endif
00102 
00103 
00104