+/*
+ * Receives director information, and check if the last messages are questions.
+ */
+class wxbPromptParser: public wxbDataParser
+{
+ public:
+ /* Creates a new wxbDataTokenizer */
+ wxbPromptParser();
+
+ /* Destroy a wxbDataTokenizer */
+ virtual ~wxbPromptParser();
+
+ /*
+ * Receives data to analyse.
+ */
+ virtual bool Analyse(wxString str, int status);
+
+ /* Returns true if the last signal received was an prompt signal,
+ * or an end signal */
+ bool hasFinished();
+
+ /* Returns true if the last message received is a prompt message */
+ bool isPrompt();
+
+ /* Returns multiple choice question's introduction */
+ wxString getIntroString();
+
+ /* Returns question string */
+ wxString getQuestionString();
+
+ /* Returns a wxArrayString containing the indexed choices we have
+ * to answer the question, or NULL if this question is not a multiple
+ * choice one. */
+ wxArrayString* getChoices();
+
+ /* Returns true if the expected answer to the choice list is a number,
+ * false if it is a string (for example yes/mod/no). */
+ bool isNumericalChoice();
+
+ private:
+ bool finished;
+ bool prompt;
+ bool numerical;
+ wxString introStr;
+ wxArrayString* choices;
+ wxString questionStr;
+};