+#ifndef CONTEXT_H\r
+#define CONTEXT_H\r
+\r
+#include "systemstate.h"\r
+#include "exceptionstate.h"\r
+#include "runstate.h"\r
+\r
+class ETLineTracer;\r
+namespace ContextStuff{\r
+ class Context\r
+ {\r
+ int current_state;\r
+ SystemStateStuff::ExceptionState exception_state;\r
+ SystemStateStuff::RunState run_state;\r
+ SystemStateStuff::SystemState* state_array[2];\r
+ public:\r
+ enum{EXCEPTION_STATE,RUN_STATE};\r
+ Context():current_state(RUN_STATE),exception_state(),run_state()\r
+ {state_array[EXCEPTION_STATE] = &exception_state;state_array[RUN_STATE] = &run_state;}\r
+ ~Context(){;}\r
+ void ChangeState(const int value){current_state = value;}\r
+ void CyclicExcute();\r
+ void Display(ecrobot::Lcd& lcd);\r
+ void SetETLineTracer(ETLineTracer* value);\r
+ };\r
+};\r
+\r
+#endif /* CONTEXT_H */\r