ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/status_module.F90
Revision: 1239
Committed: Fri Jun 4 14:59:27 2004 UTC (20 years, 1 month ago) by gezelter
File size: 1827 byte(s)
Log Message:
More work on Fortran side of error handler

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 gezelter 1239 public :: nullchar
26     public :: newline
27     public :: tab
28 chuckv 632
29     contains
30    
31 gezelter 1237 subroutine handleInfo(myRoutine, myMessage)
32 gezelter 1239 character(len=*), intent(in) :: myRoutine
33     character(len=*), intent(in) :: myMessage
34 chuckv 632
35 gezelter 1239 painCave%errMsg = "Location: " // trim(myRoutine) // newline // &
36 gezelter 1237 tab // trim(myMessage) // newline // nullchar
37 chuckv 632
38 gezelter 1237 painCave%severity = OOPSE_INFO
39     painCave%isFatal = .false.
40 chuckv 632
41 gezelter 1237 call c_simError(painCave)
42 chuckv 648 end subroutine handleInfo
43 chuckv 632
44    
45 gezelter 1237 subroutine handleError(myRoutine, myMessage)
46 chuckv 632 character(len=*), intent(in) :: myRoutine
47     character(len=*), intent(in) :: myMessage
48    
49 gezelter 1239 painCave%errMsg = "Location: " // trim(myRoutine) // newline // &
50 gezelter 1237 tab // trim(myMessage) // newline // nullchar
51 chuckv 632
52 gezelter 1237 painCave%severity = OOPSE_ERROR
53     painCave%isFatal = .true.
54    
55     call c_simError(painCave)
56    
57 chuckv 632 end subroutine handleError
58    
59 gezelter 1237 subroutine handleWarning(myRoutine, myMessage)
60 chuckv 632 character(len=*), intent(in) :: myRoutine
61     character(len=*), intent(in) :: myMessage
62    
63 gezelter 1239 painCave%errMsg = "Location: " // trim(myRoutine) // newline // &
64 gezelter 1237 tab // trim(myMessage) // newline // nullchar
65 chuckv 632
66 gezelter 1237 painCave%severity = OOPSE_WARNING
67     painCave%isFatal = .false.
68 chuckv 632
69 gezelter 1237 call c_simError(painCave)
70 chuckv 632
71 gezelter 1237 end subroutine handleWarning
72    
73 chuckv 632 end module status