#pragma once

#include <sphelper.h>

#define GID_COMMAND_CONTROL   1
#define WM_RECOEVENT    WM_APP 

template class __declspec(dllexport) CComPtr<ISpRecoContext>;
template class __declspec(dllexport) CComPtr<ISpRecoGrammar>;

//Klasa odpowiedzialna za rozpoznawanie mowy.
class __declspec(dllexport) SpeechCommanding
{
public:
	//Konstruktor.
	SpeechCommanding(int editBox);	
	//Inicjalizacja rozpoznawania.
    bool initializeDialog(HWND dialogHandle);   
	//Obsluga zdarzenia zwiazanego z rozpoznaniem.
    int processRecognitionEvent();      

private:	
	//Uchwyt do okna.
    HWND                        dialogHandle;
	//Obiekt kontekstu rozpoznawania.
    CComPtr<ISpRecoContext>     recognitionContext;
	//Obiekt gramatyki.
    CComPtr<ISpRecoGrammar>     recognitionGrammar;
	//ID pola tekstowego.
	int							editBox;
};