FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
CNFMessage.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2019 FrontISTR Commons
3  * This software is released under the MIT License, see LICENSE.txt
4  *****************************************************************************/
5 /*
6  CNFMessage ver.1.0
7 */
8 
9 #ifndef CNFMessageH
10 #define CNFMessageH
11 
12 #include <stdio.h>
13 #include <string.h>
14 
15 // error messages
16 enum {
17  NFE_NO_ERROR = 0,
26 
28 };
29 
30 // warning messages
32 
33 class CNFMessage {
34  protected:
35  static char msg[256];
36 
37  public:
38  int no;
39  int line;
40  int column;
41  char option_msg[256];
42 
43  CNFMessage(int No = 0, const char* opt_msg = "", int Line = -1, int Col = -1)
44  : no(No), line(Line), column(Col) {
45  strcpy(option_msg, opt_msg);
46  }
47  virtual ~CNFMessage() {}
48  virtual const char* Msg() = 0;
49 };
50 
51 class CNFError : public CNFMessage {
52  public:
53  CNFError(int No, const char* opt_msg = "", int Line = -1, int Col = -1)
54  : CNFMessage(No, opt_msg, Line, Col) {}
55  CNFError(int No, int Line, int Col = -1) : CNFMessage(No, "", Line, Col) {}
56  virtual ~CNFError() {}
57  virtual const char* Msg();
58 };
59 
60 class CNFWarning : public CNFMessage {
61  public:
62  CNFWarning(int No, const char* opt_msg = "", int Line = -1, int Col = -1)
63  : CNFMessage(No, opt_msg, Line, Col) {}
64  CNFWarning(int No, int Line, int Col = -1) : CNFMessage(No, "", Line, Col) {}
65  virtual ~CNFWarning() {}
66  virtual const char* Msg();
67 };
68 
69 #endif
CNFMessage::line
int line
Definition: CNFMessage.h:39
NFE_RECORD_REQUIRED
@ NFE_RECORD_REQUIRED
Definition: CNFMessage.h:28
NFE_READDATA_ERROR
@ NFE_READDATA_ERROR
Definition: CNFMessage.h:23
CNFMessage::option_msg
char option_msg[256]
Definition: CNFMessage.h:41
NFE_DATA_BLOCK_REQUIRED
@ NFE_DATA_BLOCK_REQUIRED
Definition: CNFMessage.h:25
NFE_ITEM_REQUIRED
@ NFE_ITEM_REQUIRED
Definition: CNFMessage.h:27
CNFWarning
Definition: CNFMessage.h:60
CNFError::Msg
virtual const char * Msg()
Definition: CNFMessage.cpp:21
NFE_NO_ERROR
@ NFE_NO_ERROR
Definition: CNFMessage.h:20
NFW_NON_SUPPORTED_DATA_BLOCK
@ NFW_NON_SUPPORTED_DATA_BLOCK
Definition: CNFMessage.h:31
CNFMessage::no
int no
Definition: CNFMessage.h:38
CNFWarning::~CNFWarning
virtual ~CNFWarning()
Definition: CNFMessage.h:65
CNFError::CNFError
CNFError(int No, int Line, int Col=-1)
Definition: CNFMessage.h:55
CNFWarning::Msg
virtual const char * Msg()
Definition: CNFMessage.cpp:43
CNFError::CNFError
CNFError(int No, const char *opt_msg="", int Line=-1, int Col=-1)
Definition: CNFMessage.h:53
CNFWarning::CNFWarning
CNFWarning(int No, const char *opt_msg="", int Line=-1, int Col=-1)
Definition: CNFMessage.h:62
CNFMessage::column
int column
Definition: CNFMessage.h:40
CNFWarning::CNFWarning
CNFWarning(int No, int Line, int Col=-1)
Definition: CNFMessage.h:64
CNFMessage::Msg
virtual const char * Msg()=0
CNFMessage::~CNFMessage
virtual ~CNFMessage()
Definition: CNFMessage.h:47
CNFMessage::CNFMessage
CNFMessage(int No=0, const char *opt_msg="", int Line=-1, int Col=-1)
Definition: CNFMessage.h:43
NFE_UNKNOWN_ERROR
@ NFE_UNKNOWN_ERROR
Definition: CNFMessage.h:21
CNFError
Definition: CNFMessage.h:51
NFE_INVALID_TOKEN
@ NFE_INVALID_TOKEN
Definition: CNFMessage.h:26
CNFError::~CNFError
virtual ~CNFError()
Definition: CNFMessage.h:56
NFE_OPEN_ERROR
@ NFE_OPEN_ERROR
Definition: CNFMessage.h:22
CNFMessage::msg
static char msg[256]
Definition: CNFMessage.h:35
NFE_WRITEDATA_ERROR
@ NFE_WRITEDATA_ERROR
Definition: CNFMessage.h:30
CNFMessage
Definition: CNFMessage.h:33
NFE_LINE_REQUIRED
@ NFE_LINE_REQUIRED
Definition: CNFMessage.h:24