assertions_cxx.cpp

Go to the documentation of this file.
00001 // !concept {:name => "Portable assertions", :desc => "Assertions that are actually visible or logged on Symbian."}
00002 
00003 #include "common/assertions.h"
00004 #include "common/logging.h"
00005 
00006 #if defined(__SYMBIAN32__)
00007 
00008 #include <e32std.h>
00009 
00010 #if !defined(NDEBUG) && !__DO_LOGGING__
00011 
00012 extern "C" void epoc_assert_panic()
00013 {
00014   User::Invariant();
00015 }
00016 
00017 #endif
00018 
00019 #if !defined(NDEBUG) && __DO_LOGGING__
00020 
00021 extern "C" void epoc_assert(const char *func, const char *file, int line, const char *s)
00022 {
00023   epoc_log_assert(func, file, line, s);
00024   //__assert(func, file, line, s); // does not return
00025   User::Invariant(); // this is more visible than the above, certainly if we have no console
00026 }
00027 
00028 #endif
00029 
00030 #endif // __SYMBIAN32__
00031 
00032 /**
00033 
00034 assertions_cxx.cpp
00035 
00036 Copyright 2009 Helsinki Institute for Information Technology (HIIT)
00037 and the authors. All rights reserved.
00038 
00039 Authors: Tero Hasu <tero.hasu@hut.fi>
00040 
00041 Permission is hereby granted, free of charge, to any person
00042 obtaining a copy of this software and associated documentation files
00043 (the "Software"), to deal in the Software without restriction,
00044 including without limitation the rights to use, copy, modify, merge,
00045 publish, distribute, sublicense, and/or sell copies of the Software,
00046 and to permit persons to whom the Software is furnished to do so,
00047 subject to the following conditions:
00048 
00049 The above copyright notice and this permission notice shall be
00050 included in all copies or substantial portions of the Software.
00051 
00052 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
00053 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00054 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
00055 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
00056 BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
00057 ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
00058 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
00059 SOFTWARE.
00060 
00061  **/

ContextLogger2—ContextLogger2 Logger Daemon Internals—Generated on Mon May 2 13:49:51 2011 by Doxygen 1.6.1