ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/status_module.F90
Revision: 1237
Committed: Fri Jun 4 14:35:59 2004 UTC (20 years, 1 month ago) by gezelter
File size: 1776 byte(s)
Log Message:
Unifying the error handlers

File Contents

# User Rev Content
1 chuckv 632 module status
2     implicit none
3     PRIVATE
4    
5 gezelter 1237 #define __FORTRAN90
6     #include "simError.h"
7 chuckv 632
8 chuckv 648 character(len=1), parameter :: nullchar = char(0)
9 gezelter 1237 character(len=1), parameter :: newline = char(10)
10     character(len=1), parameter :: tab = char(9)
11     INTEGER, PARAMETER:: statusMsgSize = MAX_SIM_ERROR_MSG_LENGTH
12 chuckv 632
13 gezelter 1237 !!$interface
14     !!$
15     !!$ subroutine c_simError(painCave)
16     !!$ type(errorStruct), pointer :: painCave
17     !!$ end subroutine c_simError
18     !!$
19     !!$end interface
20 chuckv 632
21 chuckv 648 public :: handleInfo
22 chuckv 632 public :: handleError
23 chuckv 648 public :: handleWarning
24     public :: statusMsgSize
25 chuckv 632
26     contains
27    
28 gezelter 1237 subroutine handleInfo(myRoutine, myMessage)
29 chuckv 632 character(len=*), intent(inout) :: myRoutine
30     character(len=*), intent(inout) :: myMessage
31    
32 gezelter 1237 painCave%errMsg = "ROUTINE:" // trim(myRoutine) // newline // &
33     tab // trim(myMessage) // newline // nullchar
34 chuckv 632
35 gezelter 1237 painCave%severity = OOPSE_INFO
36     painCave%isFatal = .false.
37 chuckv 632
38 gezelter 1237 call c_simError(painCave)
39 chuckv 648 end subroutine handleInfo
40 chuckv 632
41    
42 gezelter 1237 subroutine handleError(myRoutine, myMessage)
43 chuckv 632 character(len=*), intent(in) :: myRoutine
44     character(len=*), intent(in) :: myMessage
45    
46 gezelter 1237 painCave%errMsg = "ROUTINE:" // trim(myRoutine) // newline // &
47     tab // trim(myMessage) // newline // nullchar
48 chuckv 632
49 gezelter 1237 painCave%severity = OOPSE_ERROR
50     painCave%isFatal = .true.
51    
52     call c_simError(painCave)
53    
54 chuckv 632 end subroutine handleError
55    
56 gezelter 1237 subroutine handleWarning(myRoutine, myMessage)
57 chuckv 632 character(len=*), intent(in) :: myRoutine
58     character(len=*), intent(in) :: myMessage
59    
60 gezelter 1237 painCave%errMsg = "ROUTINE:" // trim(myRoutine) // newline // &
61     tab // trim(myMessage) // newline // nullchar
62 chuckv 632
63 gezelter 1237 painCave%severity = OOPSE_WARNING
64     painCave%isFatal = .false.
65 chuckv 632
66 gezelter 1237 call c_simError(painCave)
67 chuckv 632
68 gezelter 1237 end subroutine handleWarning
69    
70 chuckv 632 end module status