Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HImErrorHandler.h
00001 //
00002 // Copyright (c) 2000 by Tech Soft 3D, LLC.
00003 // The information contained herein is confidential and proprietary to
00004 // Tech Soft 3D, LLC., and considered a trade secret as defined under
00005 // civil and criminal statutes.  Tech Soft 3D shall pursue its civil
00006 // and criminal remedies in the event of unauthorized use or misappropriation
00007 // of its trade secrets.  Use of this information by anyone other than
00008 // authorized employees of Tech Soft 3D, LLC. is granted only under a
00009 // written non-disclosure agreement, expressly prescribing the scope and
00010 // manner of such use.
00011 //
00012 // $Id: 8144cc8dbf5b7e7874e82204a0141cc09ad9bdd7 $
00013 //
00014 
00015 #ifndef _HIM_ERROR_HANDLER_H
00016 #define _HIM_ERROR_HANDLER_H
00017 
00018 #ifdef H_PACK_8
00019 #pragma pack(push)
00020 #pragma pack(8)
00021 #endif
00022 
00023 #include "HTools.h"
00024 
00025 /* forward declaration.  
00026  * private helper class */
00027 class HErrorDescriptorNode;
00028 
00029 
00031 
00049 class MVO_API HImErrorHandler 
00050 {
00051 private:
00052     static bool IsBlocked( int category, int specific, int severity );
00053     static bool IsPassed( int category, int specific, int severity );
00054 
00055     static HErrorDescriptorNode *m_Block;
00056     static HErrorDescriptorNode *m_Pass;
00057     static bool m_BlockByDefault;
00058 
00059 public:
00063     HImErrorHandler( bool BlockByDefault = false );
00064     ~HImErrorHandler();
00067     static void RegisterCallbacks();
00068     
00075     static void Block( int cat, int spec, int sev );
00076 
00082     static void Pass( int cat, int spec, int sev );
00083 
00087     void SetBlockByDefault( bool bbd ) { m_BlockByDefault = bbd; }
00088 
00090     static bool BlockByDefault() { return m_BlockByDefault; }
00091 
00095     static void CallbackEntryPoint( 
00096         int category, int specific, int severity,
00097         int msgc, char **msgv, int stackc, char **stackv
00098     );
00099 };
00100 
00101 
00102 
00103 #ifdef H_PACK_8
00104 #pragma pack(pop)
00105 #endif
00106 
00107 #endif
00108 
00109 
00110