summaryrefslogtreecommitdiff
path: root/plugins/!NotAdopted/WinterSpeak/speak/config/speak_config.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/!NotAdopted/WinterSpeak/speak/config/speak_config.h')
-rw-r--r--plugins/!NotAdopted/WinterSpeak/speak/config/speak_config.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/plugins/!NotAdopted/WinterSpeak/speak/config/speak_config.h b/plugins/!NotAdopted/WinterSpeak/speak/config/speak_config.h
new file mode 100644
index 0000000000..c664c9d9d8
--- /dev/null
+++ b/plugins/!NotAdopted/WinterSpeak/speak/config/speak_config.h
@@ -0,0 +1,59 @@
+#ifndef guard_speak_config_speak_config_h
+#define guard_speak_config_speak_config_h
+//==============================================================================
+// Miranda Speak Plugin, © 2002 Ryan Winter
+//==============================================================================
+
+#include "speak.h"
+#include "config/config_database.h"
+#include "config/dialog_config_active.h"
+#include "config/dialog_config_engine.h"
+
+#include <general/observer/observer.h>
+
+#include <wtypes.h>
+#include <memory>
+
+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 say(const std::string &sentence, HANDLE user = NULL);
+
+ private:
+ HINSTANCE m_instance;
+
+ ConfigDatabase m_db;
+ std::auto_ptr<TextToSpeech> m_tts;
+ DialogConfigEngine m_dialog_engine;
+ DialogConfigActive m_dialog_active;
+};
+
+//==============================================================================
+//
+// Summary : The main object for the speak plugins
+//
+// Description : see summary
+//
+//==============================================================================
+
+#endif \ No newline at end of file