/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/ers/ers-00-00-03/ers/InvalidReferenceIssue.h

Go to the documentation of this file.
00001 /*
00002  *  InvalidReferenceIssue.h
00003  *  ers
00004  *
00005  *  Created by Matthias Wiesmann on 04.01.05.
00006  *  Copyright 2005 CERN. All rights reserved.
00007  *
00008  */
00009 
00010 #ifndef ERS_INVALID_REFERENCE
00011 #define ERS_INVALID_REFERENCE
00012 
00013 #include "ers/Issue.h"
00014 
00015 namespace ers {
00016 
00026     class InvalidReferenceIssue : public Issue {
00027 protected:
00028         void pointer(const void *p); 
00029         InvalidReferenceIssue(const Context &context, severity_t s) ; 
00030 public:
00031         static const char* const CLASS_NAME ; 
00032         static const char* const REFERENCE_VALUE_KEY ;
00033         static const char* const REFERENCE_TYPE_KEY ; 
00034         static const char* const REFERENCE_NAME_KEY ; 
00035         static const char* const REFERENCE_C_PTR_TYPE ; 
00036         InvalidReferenceIssue() ;
00037         InvalidReferenceIssue(const Context &context, severity_t s, const void* pointer, const std::string &message, responsibility_t  r = resp_unknown) ; 
00038         virtual const char*get_class_name() const throw() ;
00039         static void check_reference(const Context &context, severity_t s, const void* pointer, const char* ptr_name, responsibility_t  r); 
00040     } ; // InvalidReferenceIssue
00041     
00042 } // ers
00043 
00049 #if (!defined(N_ERS_ASSERT))
00050 #if (defined(__GNUC__))
00051 #define ERS_PRE_CHECK_PTR(p) if (! __builtin_constant_p(p)) ers::InvalidReferenceIssue::check_reference(ERS_HERE,ers::error,p,#p,ers::resp_client) ;
00052 #else 
00053 #define ERS_PRE_CHECK_PTR(p) ers::InvalidReferenceIssue::check_reference(ERS_HERE,ers::error,p,#p,ers::resp_client)
00054 #endif
00055 #else
00056 #define ERS_PRE_CHECK_PTR(p) 
00057 #endif
00058 
00064 #if (!defined(N_ERS_ASSERT))
00065 #if (defined(__GNUC__))
00066 #define ERS_CHECK_PTR(p) if (! __builtin_constant_p(p)) ers::InvalidReferenceIssue::check_reference(ERS_HERE,ers::error,p,#p,ers::resp_server)
00067 #else 
00068 #define ERS_CHECK_PTR(p) ers::InvalidReferenceIssue::check_reference(ERS_HERE,ers::error,p,#p,ers::resp_server)
00069 #endif
00070 #else 
00071 #define ERS_CHECK_PTR(p) 
00072 #endif
00073 
00074 #endif
00075 

Generated on Tue Nov 29 22:58:26 2016 for BOSS_7.0.2 by  doxygen 1.4.7