EmbeddedRecognizer.h

00001 /*---------------------------------------------------------------------------*
00002  *  EmbeddedRecognizer.h                                                     *
00003  *                                                                           *
00004  *  Copyright 2007 Nuance Communciations, Inc.                               *
00005  *                                                                           *
00006  *  Licensed under the Apache License, Version 2.0 (the 'License');          *
00007  *  you may not use this file except in compliance with the License.         *
00008  *                                                                           *
00009  *  You may obtain a copy of the License at                                  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0                           *
00011  *                                                                           *
00012  *  Unless required by applicable law or agreed to in writing, software      *
00013  *  distributed under the License is distributed on an 'AS IS' BASIS,        *
00014  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
00015  *  See the License for the specific language governing permissions and      *
00016  *  limitations under the License.                                           *
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        * @see android::speech::recognition::SmartProxy
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

Generated on Thu May 1 17:16:37 2008 for UAPI by  doxygen 1.5.3