00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #ifndef __UAPI__EMBEDDEDRECOGNIZER
00021 #define __UAPI__EMBEDDEDRECOGNIZER
00022 
00023 #include <assert.h>
00024 #include "exports.h"
00025 #include "ReturnCode.h"
00026 #include "Recognizer.h"
00027 
00028 namespace android
00029 {
00030   namespace speech
00031   {
00032     namespace recognition
00033     {
00034       class RecognizerListenerProxy;
00035       namespace utilities
00036       {
00037         class LibraryLoader;
00038       }
00039       namespace impl
00040       {
00041         class RedirectToLibrary;
00042       }
00043     }
00044   }
00045 }
00046 
00047 
00048 namespace android
00049 {
00050   namespace speech
00051   {
00052     namespace recognition
00053     {
00054       class EmbeddedRecognizerProxy;
00060       class EmbeddedRecognizer: public Recognizer
00061       {
00062         public:
00069           UAPI_EXPORT static EmbeddedRecognizerProxy getInstance(ReturnCode::Type& returnCode);
00070           
00079           virtual void configure(const char* config, ReturnCode::Type& returnCode) = 0;
00080                                              
00088           virtual void resetAcousticState(ReturnCode::Type& returnCode) = 0;
00089         protected:
00093           UAPI_EXPORT EmbeddedRecognizer();
00097           UAPI_EXPORT virtual ~EmbeddedRecognizer();
00098           
00099           friend class impl::RedirectToLibrary;
00100           friend class EmbeddedRecognizerProxy;
00101       };
00102       
00103       
00104 
00105 
00106       DECLARE_SMARTPROXY(UAPI_EXPORT, EmbeddedRecognizerProxy, RecognizerProxy, EmbeddedRecognizer)
00107       
00108       
00111       typedef EmbeddedRecognizerProxy*(*ConfigureEmbeddedRecognizer)(const char* config,
00112           ReturnCode::Type& returnCode);
00113     }
00114   }
00115 }
00116 
00117 #endif