InterpreterIssue.h
Go to the documentation of this file.
1 
21 #ifndef INTERPRETERISSUE_H_962CB305
22 #define INTERPRETERISSUE_H_962CB305
23 
24 #include "uscxml/Common.h"
25 
26 #include <list>
27 #include <iostream>
28 
29 // forward declare
30 namespace XERCESC_NS {
31 class DOMNode;
32 }
33 
34 namespace uscxml {
35 
36 class InterpreterImpl;
37 
42 class USCXML_API InterpreterIssue {
43 public:
47  USCXML_ISSUE_INFO
48  };
49 
50  std::string xPath;
51  std::string message;
52  XERCESC_NS::DOMNode* node;
54  std::string specRef;
55 
59  InterpreterIssue(const std::string& msg, XERCESC_NS::DOMNode* node, IssueSeverity severity, const std::string& specRef = "");
60 
61 private:
62 
63  static std::list<InterpreterIssue> forInterpreter(InterpreterImpl* interpreter);
64  friend class Interpreter;
65 };
66 USCXML_API std::ostream& operator<< (std::ostream& os, const InterpreterIssue& issue);
67 
68 }
69 
70 #endif /* end of include guard: INTERPRETERISSUE_H_962CB305 */
Definition: Breakpoint.cpp:26
IssueSeverity severity
Severity of the issue.
Definition: InterpreterIssue.h:53
Identify and report syntactic and semantic problems with a SCXML state-charts.
Definition: InterpreterIssue.h:42
std::string xPath
Where did the issue arise.
Definition: InterpreterIssue.h:50
Central class to interpret and process SCXML documents.
Definition: Interpreter.h:79
XERCESC_NS::DOMNode * node
The DOM node pertaining to the issue.
Definition: InterpreterIssue.h:52
Definition: InterpreterImpl.h:48
Interpreter can not process such a document.
Definition: InterpreterIssue.h:45
Definition: Breakpoint.h:30
Document is questionable, but formally ok.
Definition: InterpreterIssue.h:46
std::string message
What is the issue.
Definition: InterpreterIssue.h:51
IssueSeverity
Definition: InterpreterIssue.h:44
std::string specRef
If applicable, the violated section from the standard.
Definition: InterpreterIssue.h:54