diff options
Diffstat (limited to 'plugins/WinterSpeak/src/SpeakConfig.h')
-rw-r--r-- | plugins/WinterSpeak/src/SpeakConfig.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/plugins/WinterSpeak/src/SpeakConfig.h b/plugins/WinterSpeak/src/SpeakConfig.h new file mode 100644 index 0000000000..e1a4cb421a --- /dev/null +++ b/plugins/WinterSpeak/src/SpeakConfig.h @@ -0,0 +1,41 @@ +#pragma once
+
+#include "Common.h"
+#include "ConfigDatabase.h"
+#include "TextToSpeech.h"
+
+class TextToSpeech;
+
+class SpeakConfig : public Observer
+{
+ public:
+ SpeakConfig(HINSTANCE instance);
+ virtual ~SpeakConfig();
+
+ //--------------------------------------------------------------------------
+ // Description : Called by a subject that this observer is observing
+ // to signify a change in state
+ // Parameters : subject - the subject that changed
+ //--------------------------------------------------------------------------
+ virtual void update(Subject &subject);
+
+ //--------------------------------------------------------------------------
+ // Description : speak a sentence
+ // Parameters : sentence - the sentence to speak
+ // user - the user to associate the say with
+ // NULL = ignore user
+ // Returns : true - speak successful
+ // false - speak failed
+ //--------------------------------------------------------------------------
+ bool status(const std::wstring &sentence, HANDLE user = NULL);
+ bool message(const std::wstring &sentence, HANDLE user = NULL);
+ bool say(const std::wstring &sentence, HANDLE user, bool message);
+
+ private:
+ HINSTANCE m_instance;
+
+ ConfigDatabase m_db;
+ std::auto_ptr<TextToSpeech> m_tts;
+ DialogConfigEngine m_dialog_engine;
+ DialogConfigActive m_dialog_active;
+};
\ No newline at end of file |