home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / ODFDev / ODF / Found / FWDebug / FWPriDeb.cpp < prev    next >
Encoding:
Text File  |  1996-09-17  |  4.1 KB  |  155 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                FWPriDeb.cpp
  4. //    Release Version:    $ ODF 2 $
  5. //
  6. //    Copyright:    (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #include "FWFound.hpp"
  11.  
  12. // Need to include first so that FW_DEBUG is properly defined
  13.  
  14. #ifndef FWPRIDEB_H
  15. #include "FWPriDeb.h"
  16. #endif
  17.  
  18. #ifndef FWPRISTR_H
  19. #include "FWPriStr.h"
  20. #endif
  21.  
  22. #ifndef FWPRIMEM_H
  23. #include "FWPriMem.h"
  24. #endif
  25.  
  26. #ifndef FWODFEXC_H
  27. #include "FWODFExc.h"
  28. #endif
  29.  
  30. #include <stdio.h>
  31.  
  32. #if defined(FW_BUILD_MAC) && !defined(__TYPES__)
  33. #include <Types.h>
  34. #endif
  35.  
  36. #if defined(THINK_CPLUS) && !defined(__PASCAL__)
  37. #include <Pascal.h>
  38. #endif
  39.  
  40. #if defined(FW_BUILD_WIN) && !defined(_INC_WINDOWS)
  41. #include <Windows.h>
  42. #endif
  43.  
  44. #ifdef FW_BUILD_MAC
  45. #pragma segment FWDebug
  46. #endif
  47.  
  48.  
  49. //----------------------------------------------------------------------------------------
  50. // FW_CDebugConsole::RequireMessage
  51. //----------------------------------------------------------------------------------------
  52.  
  53. void FW_CDebugConsole::RequireMessage(const char* message)
  54. {
  55.     // When debugging, we display the assertion and fail.  When not debugging, we 
  56.     // just fail.  Users of FW_REQUIRE are advised that the FW_THROW can cross 
  57.     // shared library boundaries.  
  58. #ifndef FW_DEBUG
  59.     FW_UNUSED(message);
  60. #else
  61.     FW_SDebugConsole *aConsole = GetConsole();
  62.  
  63.     if (aConsole != 0 && aConsole->fDoAssertMessage != 0 && message != 0)
  64.         aConsole->fDoAssertMessage(aConsole, message);
  65. #endif
  66.  
  67.     FW_Failure(FW_xUnknownError);
  68. }
  69.  
  70. #ifdef FW_DEBUG
  71. //----------------------------------------------------------------------------------------
  72. // FW_CDebugConsole::AssertMessage
  73. //----------------------------------------------------------------------------------------
  74.  
  75. void FW_CDebugConsole::AssertMessage(const char* message)
  76. {
  77.     FW_SDebugConsole *aConsole = GetConsole();
  78.  
  79.     if (aConsole != 0 && aConsole->fDoAssertMessage != 0)
  80.         aConsole->fDoAssertMessage(aConsole, message);
  81. }
  82. #endif
  83.  
  84. #ifdef FW_DEBUG
  85. //----------------------------------------------------------------------------------------
  86. // FW_CDebugConsole::FatalMessage
  87. //----------------------------------------------------------------------------------------
  88.  
  89. void FW_CDebugConsole::FatalMessage(const char* message)
  90. {
  91.     FW_SDebugConsole *aConsole = GetConsole();
  92.  
  93.     if (aConsole != 0 && aConsole->fDoFatalMessage != 0)
  94.         aConsole->fDoFatalMessage(aConsole, message);
  95. }
  96. #endif
  97.  
  98. #ifdef FW_DEBUG
  99. //----------------------------------------------------------------------------------------
  100. // FW_CDebugConsole::DebugMessage
  101. //----------------------------------------------------------------------------------------
  102.  
  103. void FW_CDebugConsole::DebugMessage(const char* message)
  104. {
  105.     FW_SDebugConsole *aConsole = GetConsole();
  106.  
  107.     if (aConsole != 0 && aConsole->fDoDebugMessage != 0)
  108.         aConsole->fDoDebugMessage(aConsole, message);
  109. }
  110. #endif
  111.  
  112. #ifdef FW_DEBUG
  113. //----------------------------------------------------------------------------------------
  114. // FW_CDebugConsole::LogMessage
  115. //----------------------------------------------------------------------------------------
  116.  
  117. void FW_CDebugConsole::LogMessage(const char* message)
  118. {
  119.     FW_SDebugConsole *aConsole = GetConsole();
  120.  
  121.     if (aConsole != 0 && aConsole->fDoLogMessage != 0)
  122.         aConsole->fDoLogMessage(aConsole, message);
  123. }
  124. #endif
  125.  
  126. #ifdef FW_DEBUG
  127. //----------------------------------------------------------------------------------------
  128. // FW_CDebugConsole::Debugger
  129. //----------------------------------------------------------------------------------------
  130.  
  131. void FW_CDebugConsole::Debugger()
  132. {
  133.     FW_SDebugConsole *aConsole = GetConsole();
  134.  
  135.     if (aConsole != 0 && aConsole->fDoDebugger != 0)
  136.         aConsole->fDoDebugger(aConsole);
  137. }
  138. #endif
  139.  
  140. #ifdef FW_DEBUG
  141. //----------------------------------------------------------------------------------------
  142. // FW_CDebugConsole::SubclassResponsibility
  143. //----------------------------------------------------------------------------------------
  144.  
  145. void FW_CDebugConsole::SubclassResponsibility(const char* method)
  146. {
  147.     char msg[256];
  148.     sprintf(msg, "Subclass responsibility: %s", method);
  149.  
  150.     DebugMessage(msg);
  151. }
  152. #endif
  153.  
  154.  
  155.